Skip to content

Report Issue enahancement#4481

Merged
ravirk91 merged 1 commit into
Releases/Official-Releasefrom
BugFix/ReportEnhancementForIteration
Apr 7, 2026
Merged

Report Issue enahancement#4481
ravirk91 merged 1 commit into
Releases/Official-Releasefrom
BugFix/ReportEnhancementForIteration

Conversation

@AmanPrasad43

@AmanPrasad43 AmanPrasad43 commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Description

Type of Change

  • Bug fix - [ ] New feature - [ ] Breaking change - [ ] Plugin update

Checklist

  • PR description clearly describes the changes
  • Target branch is correct (master for features, Releases/* for fixes)
  • Latest code from target branch merged
  • No commented/junk code included
  • No new build warnings or errors
  • All existing unit tests pass
  • New unit tests added for new functionality
  • Cross-platform compatibility verified (Windows/Linux/macOS)
  • CI/CD pipeline passes
  • Code follows project conventions (Act{Platform}{Type}, {Platform}Driver)
  • Repository objects use [IsSerializedForLocalRepository] where needed
  • Error handling uses Reporter.ToLog() pattern
  • Documentation updated for user-facing changes
  • Self-review completed and code review comments addressed

Summary by CodeRabbit

  • New Features

    • Updated web-based reporting interface with bundled asset optimizations.
  • Style

    • Enhanced text display in panel menu items with improved line clamping and truncation for better readability.
  • Chores

    • Updated build configuration to ensure web report assets are properly included in output.

@coderabbitai

coderabbitai Bot commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This pull request updates web report assets in the Ginger project by adding build configuration entries for web client bundle files, updating corresponding HTML references with new asset hashes, replacing bundled JavaScript polyfill files, and making minor styling adjustments. The changes ensure generated web report assets are copied to output during each build.

Changes

Cohort / File(s) Summary
Project Build Configuration
Ginger/GingerCoreNET/GingerCoreNET.csproj
Added six <None Update="..."> entries for web report assets (main.*.js, polyfills.*.js, runtime.*.js, scripts.*.js, styles.*.css) with CopyToOutputDirectory set to Always, ensuring files are copied to build output on every build.
Web Report Styling
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/.../*.scss, Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/.../theme-report.css
Updated Sass comment label and added CSS rule for .p-panelmenu .p-menuitem-text with text clipping (2-line clamp) and truncation styling via -webkit-line-clamp and text-overflow.
Web Application Assets
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/index.html, Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.*.js, Ginger/GingerCoreNET/Reports/Ginger-Web-Client/runtime.*.js
Updated HTML page asset references to new bundle hashes for stylesheets and Angular/SPA script bundles (runtime, polyfills, scripts, main); replaced old polyfills bundle file with new version and updated runtime module ID map.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested reviewers

  • Maheshkale447
  • ravirk91

Poem

🐰 Bundle updates hop along the way,
Web assets fresh for every build day!
Polyfills patched and hashes new,
The reports shine with a brighter hue! ✨

🚥 Pre-merge checks | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is entirely empty except for the template structure; no actual description of changes, rationale, or type of change is provided. Fill in the Description section with details about what was changed and why, select the appropriate Type of Change checkbox, and complete relevant checklist items.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Report Issue enahancement' is vague and contains a spelling error ('enahancement' instead of 'enhancement'), making it unclear what specific issue or enhancement is being addressed. Correct the spelling and provide a more specific title that describes the actual changes, such as 'Update web report assets and styling' or 'Add missing web report bundle references'.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch BugFix/ReportEnhancementForIteration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@AmanPrasad43
AmanPrasad43 requested a review from ravirk91 April 6, 2026 15:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Ginger/GingerCoreNET/GingerCoreNET.csproj`:
- Around line 591-605: The project pins specific hashed filenames via multiple
<None Update="Reports\Ginger-Web-Client\..."> entries which will break when
bundle hashes change; replace those explicit hashed <None Update> entries with a
single wildcard item that includes the whole Reports\Ginger-Web-Client folder
(e.g., use <None Include="Reports\Ginger-Web-Client\**\*.*"> or <Content
Include="Reports\Ginger-Web-Client\**\*.*">) and set
<CopyToOutputDirectory>Always</CopyToOutputDirectory> on that item so new hashed
bundles are automatically copied without needing manual updates to the <None
Update> lines.

In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scss`:
- Line 43: The comment "/*Timeline*/" in _dashboard.scss violates stylelint's
comment-whitespace-inside rule; update the comment to include spaces inside the
delimiters (e.g., change the "/*Timeline*/" token to "/* Timeline */") so the
linter passes, making sure to edit the exact comment string in the file where
the symbol "/*Timeline*/" appears.

In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`:
- Line 1: Build artifact committed: the minified webpack bundle
polyfills.af067c955617ac11.js (starts with
self.webpackChunkGinger_HtmlReport_Web_App.push([...])) should not be checked
into source control; remove the committed bundle, add a rule to ignore generated
web assets (e.g., ignore polyfills.*.js or the Ginger-Web-Client output
directory) in .gitignore, and update the project build/CI to generate this file
during the build (run npm install && npm run build / webpack to produce the file
and ensure the .NET build uses the generated output). If you must keep pre-built
assets, add a short doc (README or BUILD_ASSETS.md) beside the committed asset
describing the source/library and version (e.g., Zone.js version used), exact
build command, and the webpack config used (the bundle is produced by the
self.webpackChunkGinger_HtmlReport_Web_App push in the polyfills bundle), and
prefer committing only a pinned package.json/package-lock.json instead of the
minified file.
- Line 1: The polyfills bundle lacks provenance metadata and source-map info;
add a concise header comment at the top of
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js
stating the Zone.js version used (e.g., the version that provides
Zone.__load_patch("ZoneAwarePromise")/Zone.__load_patch("Zone")) and the build
timestamp and build command, add/commit the corresponding .js.map file and
ensure webpack emits it, and update project docs (README or BUILD.md) to
document why this generated bundle (webpackChunkGinger_HtmlReport_Web_App) is
checked in or switch the pipeline to regenerate it during CI; also include a
note referencing that this bundle contains Zone-related patches
(Zone.__load_patch entries) so future maintainers know the source and
reproduction steps.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e0405437-b9e6-4d32-94ad-a6b334126ca8

📥 Commits

Reviewing files that changed from the base of the PR and between 25af07b and 5fff7b5.

⛔ Files ignored due to path filters (2)
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/layout/images/amdocs.png is excluded by !**/*.png, !**/*.png
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/layout/images/amdocs_old1.png is excluded by !**/*.png, !**/*.png
📒 Files selected for processing (12)
  • Ginger/GingerCoreNET/GingerCoreNET.csproj
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/artifacts/test.txt
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scss
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/theme/theme-report.css
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/index.html
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/main.50dca4a1d8ae08b9.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/main.894d579b9b86a2c7.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.ab6619d5cdfdf12c.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/runtime.9298f7d16182d7dd.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/scripts.510ef496b81fd3ec.js
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/styles.a4dfb05f8a7c3211.css
💤 Files with no reviewable changes (1)
  • Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.ab6619d5cdfdf12c.js

Comment on lines +591 to +605
<None Update="Reports\Ginger-Web-Client\main.894d579b9b86a2c7.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Ginger-Web-Client\polyfills.af067c955617ac11.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Ginger-Web-Client\runtime.9298f7d16182d7dd.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Ginger-Web-Client\scripts.510ef496b81fd3ec.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Ginger-Web-Client\styles.a4dfb05f8a7c3211.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Avoid pinning hashed bundle filenames in project items.

These explicit hash-based None Update entries are fragile; the next web-client rebuild can change hashes and silently miss required files at copy time.

♻️ Suggested robust pattern
-    <None Update="Reports\Ginger-Web-Client\main.894d579b9b86a2c7.js">
+    <None Update="Reports\Ginger-Web-Client\main.*.js">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="Reports\Ginger-Web-Client\polyfills.af067c955617ac11.js">
+    <None Update="Reports\Ginger-Web-Client\polyfills.*.js">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="Reports\Ginger-Web-Client\runtime.9298f7d16182d7dd.js">
+    <None Update="Reports\Ginger-Web-Client\runtime.*.js">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="Reports\Ginger-Web-Client\scripts.510ef496b81fd3ec.js">
+    <None Update="Reports\Ginger-Web-Client\scripts.*.js">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="Reports\Ginger-Web-Client\styles.a4dfb05f8a7c3211.css">
+    <None Update="Reports\Ginger-Web-Client\styles.*.css">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/GingerCoreNET/GingerCoreNET.csproj` around lines 591 - 605, The
project pins specific hashed filenames via multiple <None
Update="Reports\Ginger-Web-Client\..."> entries which will break when bundle
hashes change; replace those explicit hashed <None Update> entries with a single
wildcard item that includes the whole Reports\Ginger-Web-Client folder (e.g.,
use <None Include="Reports\Ginger-Web-Client\**\*.*"> or <Content
Include="Reports\Ginger-Web-Client\**\*.*">) and set
<CopyToOutputDirectory>Always</CopyToOutputDirectory> on that item so new hashed
bundles are automatically copied without needing manual updates to the <None
Update> lines.

$salesDownIconColor: #f44336;

/* Time-line */
/*Timeline*/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix stylelint comment whitespace violation.

Line 43 uses /*Timeline*/, which violates comment-whitespace-inside and can fail lint checks.

💡 Proposed fix
-/*Timeline*/
+/* Timeline */
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
/*Timeline*/
/* Timeline */
🧰 Tools
🪛 Stylelint (17.6.0)

[error] 43-43: Expected whitespace after "/*" (comment-whitespace-inside)

(comment-whitespace-inside)


[error] 43-43: Expected whitespace before "*/" (comment-whitespace-inside)

(comment-whitespace-inside)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/assets/sass/layout/_dashboard.scss`
at line 43, The comment "/*Timeline*/" in _dashboard.scss violates stylelint's
comment-whitespace-inside rule; update the comment to include spaces inside the
delimiters (e.g., change the "/*Timeline*/" token to "/* Timeline */") so the
linter passes, making sure to edit the exact comment string in the file where
the symbol "/*Timeline*/" appears.

@@ -0,0 +1 @@
(self.webpackChunkGinger_HtmlReport_Web_App=self.webpackChunkGinger_HtmlReport_Web_App||[]).push([[461],{8829:(i,l,t)=>{"use strict";t(8509),t(8681),t(5846),t(9353),t(6935)},6935:()=>{"use strict";!function(a){const d=a.performance;function m(it){d&&d.mark&&d.mark(it)}function g(it,G){d&&d.measure&&d.measure(it,G)}m("Zone");const O=a.__Zone_symbol_prefix||"__zone_symbol__";function S(it){return O+it}const $=!0===a[S("forceDuplicateZoneCheck")];if(a.Zone){if($||"function"!=typeof a.Zone.__symbol__)throw new Error("Zone already loaded.");return a.Zone}let A=(()=>{class it{static{this.__symbol__=S}static assertZonePatched(){if(a.Promise!==Ft.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let u=it.current;for(;u.parent;)u=u.parent;return u}static get current(){return mt.zone}static get currentTask(){return wt}static __load_patch(u,p,z=!1){if(Ft.hasOwnProperty(u)){if(!z&&$)throw Error("Already loaded patch: "+u)}else if(!a["__Zone_disable_"+u]){const q="Zone:"+u;m(q),Ft[u]=p(a,it,St),g(q,q)}}get parent(){return this._parent}get name(){return this._name}constructor(u,p){this._parent=u,this._name=p?p.name||"unnamed":"<root>",this._properties=p&&p.properties||{},this._zoneDelegate=new K(this,this._parent&&this._parent._zoneDelegate,p)}get(u){const p=this.getZoneWith(u);if(p)return p._properties[u]}getZoneWith(u){let p=this;for(;p;){if(p._properties.hasOwnProperty(u))return p;p=p._parent}return null}fork(u){if(!u)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,u)}wrap(u,p){if("function"!=typeof u)throw new Error("Expecting function got: "+u);const z=this._zoneDelegate.intercept(this,u,p),q=this;return function(){return q.runGuarded(z,this,arguments,p)}}run(u,p,z,q){mt={parent:mt,zone:this};try{return this._zoneDelegate.invoke(this,u,p,z,q)}finally{mt=mt.parent}}runGuarded(u,p=null,z,q){mt={parent:mt,zone:this};try{try{return this._zoneDelegate.invoke(this,u,p,z,q)}catch(jt){if(this._zoneDelegate.handleError(this,jt))throw jt}}finally{mt=mt.parent}}runTask(u,p,z){if(u.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(u.zone||Dt).name+"; Execution: "+this.name+")");if(u.state===ft&&(u.type===Ct||u.type===Y))return;const q=u.state!=H;q&&u._transitionTo(H,ut),u.runCount++;const jt=wt;wt=u,mt={parent:mt,zone:this};try{u.type==Y&&u.data&&!u.data.isPeriodic&&(u.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,u,p,z)}catch(D){if(this._zoneDelegate.handleError(this,D))throw D}}finally{u.state!==ft&&u.state!==w&&(u.type==Ct||u.data&&u.data.isPeriodic?q&&u._transitionTo(ut,H):(u.runCount=0,this._updateTaskCount(u,-1),q&&u._transitionTo(ft,H,ft))),mt=mt.parent,wt=jt}}scheduleTask(u){if(u.zone&&u.zone!==this){let z=this;for(;z;){if(z===u.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${u.zone.name}`);z=z.parent}}u._transitionTo(Rt,ft);const p=[];u._zoneDelegates=p,u._zone=this;try{u=this._zoneDelegate.scheduleTask(this,u)}catch(z){throw u._transitionTo(w,Rt,ft),this._zoneDelegate.handleError(this,z),z}return u._zoneDelegates===p&&this._updateTaskCount(u,1),u.state==Rt&&u._transitionTo(ut,Rt),u}scheduleMicroTask(u,p,z,q){return this.scheduleTask(new U(st,u,p,z,q,void 0))}scheduleMacroTask(u,p,z,q,jt){return this.scheduleTask(new U(Y,u,p,z,q,jt))}scheduleEventTask(u,p,z,q,jt){return this.scheduleTask(new U(Ct,u,p,z,q,jt))}cancelTask(u){if(u.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(u.zone||Dt).name+"; Execution: "+this.name+")");if(u.state===ut||u.state===H){u._transitionTo(vt,ut,H);try{this._zoneDelegate.cancelTask(this,u)}catch(p){throw u._transitionTo(w,vt),this._zoneDelegate.handleError(this,p),p}return this._updateTaskCount(u,-1),u._transitionTo(ft,vt),u.runCount=0,u}}_updateTaskCount(u,p){const z=u._zoneDelegates;-1==p&&(u._zoneDelegates=null);for(let q=0;q<z.length;q++)z[q]._updateTaskCount(u.type,p)}}return it})();const X={name:"",onHasTask:(it,G,u,p)=>it.hasTask(u,p),onScheduleTask:(it,G,u,p)=>it.scheduleTask(u,p),onInvokeTask:(it,G,u,p,z,q)=>it.invokeTask(u,p,z,q),onCancelTask:(it,G,u,p)=>it.cancelTask(u,p)};class K{constructor(G,u,p){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=G,this._parentDelegate=u,this._forkZS=p&&(p&&p.onFork?p:u._forkZS),this._forkDlgt=p&&(p.onFork?u:u._forkDlgt),this._forkCurrZone=p&&(p.onFork?this.zone:u._forkCurrZone),this._interceptZS=p&&(p.onIntercept?p:u._interceptZS),this._interceptDlgt=p&&(p.onIntercept?u:u._interceptDlgt),this._interceptCurrZone=p&&(p.onIntercept?this.zone:u._interceptCurrZone),this._invokeZS=p&&(p.onInvoke?p:u._invokeZS),this._invokeDlgt=p&&(p.onInvoke?u:u._invokeDlgt),this._invokeCurrZone=p&&(p.onInvoke?this.zone:u._invokeCurrZone),this._handleErrorZS=p&&(p.onHandleError?p:u._handleErrorZS),this._handleErrorDlgt=p&&(p.onHandleError?u:u._handleErrorDlgt),this._handleErrorCurrZone=p&&(p.onHandleError?this.zone:u._handleErrorCurrZone),this._scheduleTaskZS=p&&(p.onScheduleTask?p:u._scheduleTaskZS),this._scheduleTaskDlgt=p&&(p.onScheduleTask?u:u._scheduleTaskDlgt),this._scheduleTaskCurrZone=p&&(p.onScheduleTask?this.zone:u._scheduleTaskCurrZone),this._invokeTaskZS=p&&(p.onInvokeTask?p:u._invokeTaskZS),this._invokeTaskDlgt=p&&(p.onInvokeTask?u:u._invokeTaskDlgt),this._invokeTaskCurrZone=p&&(p.onInvokeTask?this.zone:u._invokeTaskCurrZone),this._cancelTaskZS=p&&(p.onCancelTask?p:u._cancelTaskZS),this._cancelTaskDlgt=p&&(p.onCancelTask?u:u._cancelTaskDlgt),this._cancelTaskCurrZone=p&&(p.onCancelTask?this.zone:u._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const z=p&&p.onHasTask;(z||u&&u._hasTaskZS)&&(this._hasTaskZS=z?p:X,this._hasTaskDlgt=u,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=G,p.onScheduleTask||(this._scheduleTaskZS=X,this._scheduleTaskDlgt=u,this._scheduleTaskCurrZone=this.zone),p.onInvokeTask||(this._invokeTaskZS=X,this._invokeTaskDlgt=u,this._invokeTaskCurrZone=this.zone),p.onCancelTask||(this._cancelTaskZS=X,this._cancelTaskDlgt=u,this._cancelTaskCurrZone=this.zone))}fork(G,u){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,G,u):new A(G,u)}intercept(G,u,p){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,G,u,p):u}invoke(G,u,p,z,q){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,G,u,p,z,q):u.apply(p,z)}handleError(G,u){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,G,u)}scheduleTask(G,u){let p=u;if(this._scheduleTaskZS)this._hasTaskZS&&p._zoneDelegates.push(this._hasTaskDlgtOwner),p=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,G,u),p||(p=u);else if(u.scheduleFn)u.scheduleFn(u);else{if(u.type!=st)throw new Error("Task is missing scheduleFn.");_(u)}return p}invokeTask(G,u,p,z){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,G,u,p,z):u.callback.apply(p,z)}cancelTask(G,u){let p;if(this._cancelTaskZS)p=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,G,u);else{if(!u.cancelFn)throw Error("Task is not cancelable");p=u.cancelFn(u)}return p}hasTask(G,u){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,G,u)}catch(p){this.handleError(G,p)}}_updateTaskCount(G,u){const p=this._taskCounts,z=p[G],q=p[G]=z+u;if(q<0)throw new Error("More tasks executed then were scheduled.");0!=z&&0!=q||this.hasTask(this.zone,{microTask:p.microTask>0,macroTask:p.macroTask>0,eventTask:p.eventTask>0,change:G})}}class U{constructor(G,u,p,z,q,jt){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=G,this.source=u,this.data=z,this.scheduleFn=q,this.cancelFn=jt,!p)throw new Error("callback is not defined");this.callback=p;const D=this;this.invoke=G===Ct&&z&&z.useG?U.invokeTask:function(){return U.invokeTask.call(a,D,this,arguments)}}static invokeTask(G,u,p){G||(G=this),kt++;try{return G.runCount++,G.zone.runTask(G,u,p)}finally{1==kt&&F(),kt--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(ft,Rt)}_transitionTo(G,u,p){if(this._state!==u&&this._state!==p)throw new Error(`${this.type} '${this.source}': can not transition to '${G}', expecting state '${u}'${p?" or '"+p+"'":""}, was '${this._state}'.`);this._state=G,G==ft&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const at=S("setTimeout"),rt=S("Promise"),ot=S("then");let Mt,yt=[],ct=!1;function Ot(it){if(Mt||a[rt]&&(Mt=a[rt].resolve(0)),Mt){let G=Mt[ot];G||(G=Mt.then),G.call(Mt,it)}else a[at](it,0)}function _(it){0===kt&&0===yt.length&&Ot(F),it&&yt.push(it)}function F(){if(!ct){for(ct=!0;yt.length;){const it=yt;yt=[];for(let G=0;G<it.length;G++){const u=it[G];try{u.zone.runTask(u,null,null)}catch(p){St.onUnhandledError(p)}}}St.microtaskDrainDone(),ct=!1}}const Dt={name:"NO ZONE"},ft="notScheduled",Rt="scheduling",ut="scheduled",H="running",vt="canceling",w="unknown",st="microTask",Y="macroTask",Ct="eventTask",Ft={},St={symbol:S,currentZoneFrame:()=>mt,onUnhandledError:Tt,microtaskDrainDone:Tt,scheduleMicroTask:_,showUncaughtError:()=>!A[S("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:Tt,patchMethod:()=>Tt,bindArguments:()=>[],patchThen:()=>Tt,patchMacroTask:()=>Tt,patchEventPrototype:()=>Tt,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>Tt,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>Tt,wrapWithCurrentZone:()=>Tt,filterProperties:()=>[],attachOriginToPatched:()=>Tt,_redefineProperty:()=>Tt,patchCallbacks:()=>Tt,nativeScheduleMicroTask:Ot};let mt={parent:null,zone:new A(null,null)},wt=null,kt=0;function Tt(){}g("Zone","Zone"),a.Zone=A}(typeof window<"u"&&window||typeof self<"u"&&self||global);const i=Object.getOwnPropertyDescriptor,l=Object.defineProperty,t=Object.getPrototypeOf,e=Object.create,n=Array.prototype.slice,s="addEventListener",o="removeEventListener",r=Zone.__symbol__(s),c=Zone.__symbol__(o),v="true",f="false",h=Zone.__symbol__("");function y(a,d){return Zone.current.wrap(a,d)}function x(a,d,m,g,O){return Zone.current.scheduleMacroTask(a,d,m,g,O)}const T=Zone.__symbol__,P=typeof window<"u",N=P?window:void 0,R=P&&N||"object"==typeof self&&self||global,j="removeAttribute";function L(a,d){for(let m=a.length-1;m>=0;m--)"function"==typeof a[m]&&(a[m]=y(a[m],d+"_"+m));return a}function Z(a){return!a||!1!==a.writable&&!("function"==typeof a.get&&typeof a.set>"u")}const b=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,k=!("nw"in R)&&typeof R.process<"u"&&"[object process]"==={}.toString.call(R.process),B=!k&&!b&&!(!P||!N.HTMLElement),Q=typeof R.process<"u"&&"[object process]"==={}.toString.call(R.process)&&!b&&!(!P||!N.HTMLElement),gt={},bt=function(a){if(!(a=a||R.event))return;let d=gt[a.type];d||(d=gt[a.type]=T("ON_PROPERTY"+a.type));const m=this||a.target||R,g=m[d];let O;return B&&m===N&&"error"===a.type?(O=g&&g.call(this,a.message,a.filename,a.lineno,a.colno,a.error),!0===O&&a.preventDefault()):(O=g&&g.apply(this,arguments),null!=O&&!O&&a.preventDefault()),O};function It(a,d,m){let g=i(a,d);if(!g&&m&&i(m,d)&&(g={enumerable:!0,configurable:!0}),!g||!g.configurable)return;const O=T("on"+d+"patched");if(a.hasOwnProperty(O)&&a[O])return;delete g.writable,delete g.value;const S=g.get,$=g.set,A=d.slice(2);let X=gt[A];X||(X=gt[A]=T("ON_PROPERTY"+A)),g.set=function(K){let U=this;!U&&a===R&&(U=R),U&&("function"==typeof U[X]&&U.removeEventListener(A,bt),$&&$.call(U,null),U[X]=K,"function"==typeof K&&U.addEventListener(A,bt,!1))},g.get=function(){let K=this;if(!K&&a===R&&(K=R),!K)return null;const U=K[X];if(U)return U;if(S){let at=S.call(this);if(at)return g.set.call(this,at),"function"==typeof K[j]&&K.removeAttribute(d),at}return null},l(a,d,g),a[O]=!0}function Nt(a,d,m){if(d)for(let g=0;g<d.length;g++)It(a,"on"+d[g],m);else{const g=[];for(const O in a)"on"==O.slice(0,2)&&g.push(O);for(let O=0;O<g.length;O++)It(a,g[O],m)}}const xt=T("originalInstance");function At(a){const d=R[a];if(!d)return;R[T(a)]=d,R[a]=function(){const O=L(arguments,a);switch(O.length){case 0:this[xt]=new d;break;case 1:this[xt]=new d(O[0]);break;case 2:this[xt]=new d(O[0],O[1]);break;case 3:this[xt]=new d(O[0],O[1],O[2]);break;case 4:this[xt]=new d(O[0],O[1],O[2],O[3]);break;default:throw new Error("Arg list too long.")}},dt(R[a],d);const m=new d(function(){});let g;for(g in m)"XMLHttpRequest"===a&&"responseBlob"===g||function(O){"function"==typeof m[O]?R[a].prototype[O]=function(){return this[xt][O].apply(this[xt],arguments)}:l(R[a].prototype,O,{set:function(S){"function"==typeof S?(this[xt][O]=y(S,a+"."+O),dt(this[xt][O],S)):this[xt][O]=S},get:function(){return this[xt][O]}})}(g);for(g in d)"prototype"!==g&&d.hasOwnProperty(g)&&(R[a][g]=d[g])}function lt(a,d,m){let g=a;for(;g&&!g.hasOwnProperty(d);)g=t(g);!g&&a[d]&&(g=a);const O=T(d);let S=null;if(g&&(!(S=g[O])||!g.hasOwnProperty(O))&&(S=g[O]=g[d],Z(g&&i(g,d)))){const A=m(S,O,d);g[d]=function(){return A(this,arguments)},dt(g[d],S)}return S}function Pt(a,d,m){let g=null;function O(S){const $=S.data;return $.args[$.cbIdx]=function(){S.invoke.apply(this,arguments)},g.apply($.target,$.args),S}g=lt(a,d,S=>function($,A){const X=m($,A);return X.cbIdx>=0&&"function"==typeof A[X.cbIdx]?x(X.name,A[X.cbIdx],X,O):S.apply($,A)})}function dt(a,d){a[T("OriginalDelegate")]=d}let Et=!1,Zt=!1;function le(){if(Et)return Zt;Et=!0;try{const a=N.navigator.userAgent;(-1!==a.indexOf("MSIE ")||-1!==a.indexOf("Trident/")||-1!==a.indexOf("Edge/"))&&(Zt=!0)}catch{}return Zt}Zone.__load_patch("ZoneAwarePromise",(a,d,m)=>{const g=Object.getOwnPropertyDescriptor,O=Object.defineProperty,$=m.symbol,A=[],X=!0===a[$("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],K=$("Promise"),U=$("then"),at="__creationTrace__";m.onUnhandledError=D=>{if(m.showUncaughtError()){const I=D&&D.rejection;I?console.error("Unhandled Promise rejection:",I instanceof Error?I.message:I,"; Zone:",D.zone.name,"; Task:",D.task&&D.task.source,"; Value:",I,I instanceof Error?I.stack:void 0):console.error(D)}},m.microtaskDrainDone=()=>{for(;A.length;){const D=A.shift();try{D.zone.runGuarded(()=>{throw D.throwOriginal?D.rejection:D})}catch(I){ot(I)}}};const rt=$("unhandledPromiseRejectionHandler");function ot(D){m.onUnhandledError(D);try{const I=d[rt];"function"==typeof I&&I.call(this,D)}catch{}}function yt(D){return D&&D.then}function ct(D){return D}function Mt(D){return u.reject(D)}const Ot=$("state"),_=$("value"),F=$("finally"),Dt=$("parentPromiseValue"),ft=$("parentPromiseState"),Rt="Promise.then",ut=null,H=!0,vt=!1,w=0;function st(D,I){return E=>{try{St(D,I,E)}catch(C){St(D,!1,C)}}}const Y=function(){let D=!1;return function(E){return function(){D||(D=!0,E.apply(null,arguments))}}},Ct="Promise resolved with itself",Ft=$("currentTaskTrace");function St(D,I,E){const C=Y();if(D===E)throw new TypeError(Ct);if(D[Ot]===ut){let V=null;try{("object"==typeof E||"function"==typeof E)&&(V=E&&E.then)}catch(J){return C(()=>{St(D,!1,J)})(),D}if(I!==vt&&E instanceof u&&E.hasOwnProperty(Ot)&&E.hasOwnProperty(_)&&E[Ot]!==ut)wt(E),St(D,E[Ot],E[_]);else if(I!==vt&&"function"==typeof V)try{V.call(E,C(st(D,I)),C(st(D,!1)))}catch(J){C(()=>{St(D,!1,J)})()}else{D[Ot]=I;const J=D[_];if(D[_]=E,D[F]===F&&I===H&&(D[Ot]=D[ft],D[_]=D[Dt]),I===vt&&E instanceof Error){const W=d.currentTask&&d.currentTask.data&&d.currentTask.data[at];W&&O(E,Ft,{configurable:!0,enumerable:!1,writable:!0,value:W})}for(let W=0;W<J.length;)kt(D,J[W++],J[W++],J[W++],J[W++]);if(0==J.length&&I==vt){D[Ot]=w;let W=E;try{throw new Error("Uncaught (in promise): "+function S(D){return D&&D.toString===Object.prototype.toString?(D.constructor&&D.constructor.name||"")+": "+JSON.stringify(D):D?D.toString():Object.prototype.toString.call(D)}(E)+(E&&E.stack?"\n"+E.stack:""))}catch(tt){W=tt}X&&(W.throwOriginal=!0),W.rejection=E,W.promise=D,W.zone=d.current,W.task=d.currentTask,A.push(W),m.scheduleMicroTask()}}}return D}const mt=$("rejectionHandledHandler");function wt(D){if(D[Ot]===w){try{const I=d[mt];I&&"function"==typeof I&&I.call(this,{rejection:D[_],promise:D})}catch{}D[Ot]=vt;for(let I=0;I<A.length;I++)D===A[I].promise&&A.splice(I,1)}}function kt(D,I,E,C,V){wt(D);const J=D[Ot],W=J?"function"==typeof C?C:ct:"function"==typeof V?V:Mt;I.scheduleMicroTask(Rt,()=>{try{const tt=D[_],et=!!E&&F===E[F];et&&(E[Dt]=tt,E[ft]=J);const nt=I.run(W,void 0,et&&W!==Mt&&W!==ct?[]:[tt]);St(E,!0,nt)}catch(tt){St(E,!1,tt)}},E)}const it=function(){},G=a.AggregateError;class u{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(I){return St(new this(null),H,I)}static reject(I){return St(new this(null),vt,I)}static any(I){if(!I||"function"!=typeof I[Symbol.iterator])return Promise.reject(new G([],"All promises were rejected"));const E=[];let C=0;try{for(let W of I)C++,E.push(u.resolve(W))}catch{return Promise.reject(new G([],"All promises were rejected"))}if(0===C)return Promise.reject(new G([],"All promises were rejected"));let V=!1;const J=[];return new u((W,tt)=>{for(let et=0;et<E.length;et++)E[et].then(nt=>{V||(V=!0,W(nt))},nt=>{J.push(nt),C--,0===C&&(V=!0,tt(new G(J,"All promises were rejected")))})})}static race(I){let E,C,V=new this((tt,et)=>{E=tt,C=et});function J(tt){E(tt)}function W(tt){C(tt)}for(let tt of I)yt(tt)||(tt=this.resolve(tt)),tt.then(J,W);return V}static all(I){return u.allWithCallback(I)}static allSettled(I){return(this&&this.prototype instanceof u?this:u).allWithCallback(I,{thenCallback:C=>({status:"fulfilled",value:C}),errorCallback:C=>({status:"rejected",reason:C})})}static allWithCallback(I,E){let C,V,J=new this((nt,ht)=>{C=nt,V=ht}),W=2,tt=0;const et=[];for(let nt of I){yt(nt)||(nt=this.resolve(nt));const ht=tt;try{nt.then(pt=>{et[ht]=E?E.thenCallback(pt):pt,W--,0===W&&C(et)},pt=>{E?(et[ht]=E.errorCallback(pt),W--,0===W&&C(et)):V(pt)})}catch(pt){V(pt)}W++,tt++}return W-=2,0===W&&C(et),J}constructor(I){const E=this;if(!(E instanceof u))throw new Error("Must be an instanceof Promise.");E[Ot]=ut,E[_]=[];try{const C=Y();I&&I(C(st(E,H)),C(st(E,vt)))}catch(C){St(E,!1,C)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return u}then(I,E){let C=this.constructor?.[Symbol.species];(!C||"function"!=typeof C)&&(C=this.constructor||u);const V=new C(it),J=d.current;return this[Ot]==ut?this[_].push(J,V,I,E):kt(this,J,V,I,E),V}catch(I){return this.then(null,I)}finally(I){let E=this.constructor?.[Symbol.species];(!E||"function"!=typeof E)&&(E=u);const C=new E(it);C[F]=F;const V=d.current;return this[Ot]==ut?this[_].push(V,C,I,I):kt(this,V,C,I,I),C}}u.resolve=u.resolve,u.reject=u.reject,u.race=u.race,u.all=u.all;const p=a[K]=a.Promise;a.Promise=u;const z=$("thenPatched");function q(D){const I=D.prototype,E=g(I,"then");if(E&&(!1===E.writable||!E.configurable))return;const C=I.then;I[U]=C,D.prototype.then=function(V,J){return new u((tt,et)=>{C.call(this,tt,et)}).then(V,J)},D[z]=!0}return m.patchThen=q,p&&(q(p),lt(a,"fetch",D=>function jt(D){return function(I,E){let C=D.apply(I,E);if(C instanceof u)return C;let V=C.constructor;return V[z]||q(V),C}}(D))),Promise[d.__symbol__("uncaughtPromiseErrors")]=A,u}),Zone.__load_patch("toString",a=>{const d=Function.prototype.toString,m=T("OriginalDelegate"),g=T("Promise"),O=T("Error"),S=function(){if("function"==typeof this){const K=this[m];if(K)return"function"==typeof K?d.call(K):Object.prototype.toString.call(K);if(this===Promise){const U=a[g];if(U)return d.call(U)}if(this===Error){const U=a[O];if(U)return d.call(U)}}return d.call(this)};S[m]=d,Function.prototype.toString=S;const $=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":$.call(this)}});let Ut=!1;if(typeof window<"u")try{const a=Object.defineProperty({},"passive",{get:function(){Ut=!0}});window.addEventListener("test",a,a),window.removeEventListener("test",a,a)}catch{Ut=!1}const de={useG:!0},Lt={},qt={},te=new RegExp("^"+h+"(\\w+)(true|false)$"),ee=T("propagationStopped");function ne(a,d){const m=(d?d(a):a)+f,g=(d?d(a):a)+v,O=h+m,S=h+g;Lt[a]={},Lt[a][f]=O,Lt[a][v]=S}function ve(a,d,m,g){const O=g&&g.add||s,S=g&&g.rm||o,$=g&&g.listeners||"eventListeners",A=g&&g.rmAll||"removeAllListeners",X=T(O),K="."+O+":",U="prependListener",at="."+U+":",rt=function(_,F,Dt){if(_.isRemoved)return;const ft=_.callback;let Rt;"object"==typeof ft&&ft.handleEvent&&(_.callback=H=>ft.handleEvent(H),_.originalDelegate=ft);try{_.invoke(_,F,[Dt])}catch(H){Rt=H}const ut=_.options;return ut&&"object"==typeof ut&&ut.once&&F[S].call(F,Dt.type,_.originalDelegate?_.originalDelegate:_.callback,ut),Rt};function ot(_,F,Dt){if(!(F=F||a.event))return;const ft=_||F.target||a,Rt=ft[Lt[F.type][Dt?v:f]];if(Rt){const ut=[];if(1===Rt.length){const H=rt(Rt[0],ft,F);H&&ut.push(H)}else{const H=Rt.slice();for(let vt=0;vt<H.length&&(!F||!0!==F[ee]);vt++){const w=rt(H[vt],ft,F);w&&ut.push(w)}}if(1===ut.length)throw ut[0];for(let H=0;H<ut.length;H++){const vt=ut[H];d.nativeScheduleMicroTask(()=>{throw vt})}}}const yt=function(_){return ot(this,_,!1)},ct=function(_){return ot(this,_,!0)};function Mt(_,F){if(!_)return!1;let Dt=!0;F&&void 0!==F.useG&&(Dt=F.useG);const ft=F&&F.vh;let Rt=!0;F&&void 0!==F.chkDup&&(Rt=F.chkDup);let ut=!1;F&&void 0!==F.rt&&(ut=F.rt);let H=_;for(;H&&!H.hasOwnProperty(O);)H=t(H);if(!H&&_[O]&&(H=_),!H||H[X])return!1;const vt=F&&F.eventNameToString,w={},st=H[X]=H[O],Y=H[T(S)]=H[S],Ct=H[T($)]=H[$],Ft=H[T(A)]=H[A];let St;F&&F.prepend&&(St=H[T(F.prepend)]=H[F.prepend]);const u=Dt?function(E){if(!w.isExisting)return st.call(w.target,w.eventName,w.capture?ct:yt,w.options)}:function(E){return st.call(w.target,w.eventName,E.invoke,w.options)},p=Dt?function(E){if(!E.isRemoved){const C=Lt[E.eventName];let V;C&&(V=C[E.capture?v:f]);const J=V&&E.target[V];if(J)for(let W=0;W<J.length;W++)if(J[W]===E){J.splice(W,1),E.isRemoved=!0,0===J.length&&(E.allRemoved=!0,E.target[V]=null);break}}if(E.allRemoved)return Y.call(E.target,E.eventName,E.capture?ct:yt,E.options)}:function(E){return Y.call(E.target,E.eventName,E.invoke,E.options)},q=F&&F.diff?F.diff:function(E,C){const V=typeof C;return"function"===V&&E.callback===C||"object"===V&&E.originalDelegate===C},jt=Zone[T("UNPATCHED_EVENTS")],D=a[T("PASSIVE_EVENTS")],I=function(E,C,V,J,W=!1,tt=!1){return function(){const et=this||a;let nt=arguments[0];F&&F.transferEventName&&(nt=F.transferEventName(nt));let ht=arguments[1];if(!ht)return E.apply(this,arguments);if(k&&"uncaughtException"===nt)return E.apply(this,arguments);let pt=!1;if("function"!=typeof ht){if(!ht.handleEvent)return E.apply(this,arguments);pt=!0}if(ft&&!ft(E,ht,et,arguments))return;const Gt=Ut&&!!D&&-1!==D.indexOf(nt),Ht=function mt(E,C){return!Ut&&"object"==typeof E&&E?!!E.capture:Ut&&C?"boolean"==typeof E?{capture:E,passive:!0}:E?"object"==typeof E&&!1!==E.passive?{...E,passive:!0}:E:{passive:!0}:E}(arguments[2],Gt);if(jt)for(let Bt=0;Bt<jt.length;Bt++)if(nt===jt[Bt])return Gt?E.call(et,nt,ht,Ht):E.apply(this,arguments);const Qt=!!Ht&&("boolean"==typeof Ht||Ht.capture),ae=!(!Ht||"object"!=typeof Ht)&&Ht.once,Oe=Zone.current;let _t=Lt[nt];_t||(ne(nt,vt),_t=Lt[nt]);const ie=_t[Qt?v:f];let Yt,Vt=et[ie],ue=!1;if(Vt){if(ue=!0,Rt)for(let Bt=0;Bt<Vt.length;Bt++)if(q(Vt[Bt],ht))return}else Vt=et[ie]=[];const ce=et.constructor.name,fe=qt[ce];fe&&(Yt=fe[nt]),Yt||(Yt=ce+C+(vt?vt(nt):nt)),w.options=Ht,ae&&(w.options.once=!1),w.target=et,w.capture=Qt,w.eventName=nt,w.isExisting=ue;const zt=Dt?de:void 0;zt&&(zt.taskData=w);const $t=Oe.scheduleEventTask(Yt,ht,zt,V,J);return w.target=null,zt&&(zt.taskData=null),ae&&(Ht.once=!0),!Ut&&"boolean"==typeof $t.options||($t.options=Ht),$t.target=et,$t.capture=Qt,$t.eventName=nt,pt&&($t.originalDelegate=ht),tt?Vt.unshift($t):Vt.push($t),W?et:void 0}};return H[O]=I(st,K,u,p,ut),St&&(H[U]=I(St,at,function(E){return St.call(w.target,w.eventName,E.invoke,w.options)},p,ut,!0)),H[S]=function(){const E=this||a;let C=arguments[0];F&&F.transferEventName&&(C=F.transferEventName(C));const V=arguments[2],J=!!V&&("boolean"==typeof V||V.capture),W=arguments[1];if(!W)return Y.apply(this,arguments);if(ft&&!ft(Y,W,E,arguments))return;const tt=Lt[C];let et;tt&&(et=tt[J?v:f]);const nt=et&&E[et];if(nt)for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];if(q(pt,W))return nt.splice(ht,1),pt.isRemoved=!0,0===nt.length&&(pt.allRemoved=!0,E[et]=null,"string"==typeof C)&&(E[h+"ON_PROPERTY"+C]=null),pt.zone.cancelTask(pt),ut?E:void 0}return Y.apply(this,arguments)},H[$]=function(){const E=this||a;let C=arguments[0];F&&F.transferEventName&&(C=F.transferEventName(C));const V=[],J=re(E,vt?vt(C):C);for(let W=0;W<J.length;W++){const tt=J[W];V.push(tt.originalDelegate?tt.originalDelegate:tt.callback)}return V},H[A]=function(){const E=this||a;let C=arguments[0];if(C){F&&F.transferEventName&&(C=F.transferEventName(C));const V=Lt[C];if(V){const tt=E[V[f]],et=E[V[v]];if(tt){const nt=tt.slice();for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];this[S].call(this,C,pt.originalDelegate?pt.originalDelegate:pt.callback,pt.options)}}if(et){const nt=et.slice();for(let ht=0;ht<nt.length;ht++){const pt=nt[ht];this[S].call(this,C,pt.originalDelegate?pt.originalDelegate:pt.callback,pt.options)}}}}else{const V=Object.keys(E);for(let J=0;J<V.length;J++){const tt=te.exec(V[J]);let et=tt&&tt[1];et&&"removeListener"!==et&&this[A].call(this,et)}this[A].call(this,"removeListener")}if(ut)return this},dt(H[O],st),dt(H[S],Y),Ft&&dt(H[A],Ft),Ct&&dt(H[$],Ct),!0}let Ot=[];for(let _=0;_<m.length;_++)Ot[_]=Mt(m[_],g);return Ot}function re(a,d){if(!d){const S=[];for(let $ in a){const A=te.exec($);let X=A&&A[1];if(X&&(!d||X===d)){const K=a[$];if(K)for(let U=0;U<K.length;U++)S.push(K[U])}}return S}let m=Lt[d];m||(ne(d),m=Lt[d]);const g=a[m[f]],O=a[m[v]];return g?O?g.concat(O):g.slice():O?O.slice():[]}function he(a,d){const m=a.Event;m&&m.prototype&&d.patchMethod(m.prototype,"stopImmediatePropagation",g=>function(O,S){O[ee]=!0,g&&g.apply(O,S)})}function pe(a,d,m,g,O){const S=Zone.__symbol__(g);if(d[S])return;const $=d[S]=d[g];d[g]=function(A,X,K){return X&&X.prototype&&O.forEach(function(U){const at=`${m}.${g}::`+U,rt=X.prototype;try{if(rt.hasOwnProperty(U)){const ot=a.ObjectGetOwnPropertyDescriptor(rt,U);ot&&ot.value?(ot.value=a.wrapWithCurrentZone(ot.value,at),a._redefineProperty(X.prototype,U,ot)):rt[U]&&(rt[U]=a.wrapWithCurrentZone(rt[U],at))}else rt[U]&&(rt[U]=a.wrapWithCurrentZone(rt[U],at))}catch{}}),$.call(d,A,X,K)},a.attachOriginToPatched(d[g],$)}function oe(a,d,m){if(!m||0===m.length)return d;const g=m.filter(S=>S.target===a);if(!g||0===g.length)return d;const O=g[0].ignoreProperties;return d.filter(S=>-1===O.indexOf(S))}function se(a,d,m,g){a&&Nt(a,oe(a,d,m),g)}function Jt(a){return Object.getOwnPropertyNames(a).filter(d=>d.startsWith("on")&&d.length>2).map(d=>d.substring(2))}Zone.__load_patch("util",(a,d,m)=>{const g=Jt(a);m.patchOnProperties=Nt,m.patchMethod=lt,m.bindArguments=L,m.patchMacroTask=Pt;const O=d.__symbol__("BLACK_LISTED_EVENTS"),S=d.__symbol__("UNPATCHED_EVENTS");a[S]&&(a[O]=a[S]),a[O]&&(d[O]=d[S]=a[O]),m.patchEventPrototype=he,m.patchEventTarget=ve,m.isIEOrEdge=le,m.ObjectDefineProperty=l,m.ObjectGetOwnPropertyDescriptor=i,m.ObjectCreate=e,m.ArraySlice=n,m.patchClass=At,m.wrapWithCurrentZone=y,m.filterProperties=oe,m.attachOriginToPatched=dt,m._redefineProperty=Object.defineProperty,m.patchCallbacks=pe,m.getGlobalObjects=()=>({globalSources:qt,zoneSymbolEventNames:Lt,eventNames:g,isBrowser:B,isMix:Q,isNode:k,TRUE_STR:v,FALSE_STR:f,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:o})});const Xt=T("zoneTask");function Wt(a,d,m,g){let O=null,S=null;m+=g;const $={};function A(K){const U=K.data;return U.args[0]=function(){return K.invoke.apply(this,arguments)},U.handleId=O.apply(a,U.args),K}function X(K){return S.call(a,K.data.handleId)}O=lt(a,d+=g,K=>function(U,at){if("function"==typeof at[0]){const rt={isPeriodic:"Interval"===g,delay:"Timeout"===g||"Interval"===g?at[1]||0:void 0,args:at},ot=at[0];at[0]=function(){try{return ot.apply(this,arguments)}finally{rt.isPeriodic||("number"==typeof rt.handleId?delete $[rt.handleId]:rt.handleId&&(rt.handleId[Xt]=null))}};const yt=x(d,at[0],rt,A,X);if(!yt)return yt;const ct=yt.data.handleId;return"number"==typeof ct?$[ct]=yt:ct&&(ct[Xt]=yt),ct&&ct.ref&&ct.unref&&"function"==typeof ct.ref&&"function"==typeof ct.unref&&(yt.ref=ct.ref.bind(ct),yt.unref=ct.unref.bind(ct)),"number"==typeof ct||ct?ct:yt}return K.apply(a,at)}),S=lt(a,m,K=>function(U,at){const rt=at[0];let ot;"number"==typeof rt?ot=$[rt]:(ot=rt&&rt[Xt],ot||(ot=rt)),ot&&"string"==typeof ot.type?"notScheduled"!==ot.state&&(ot.cancelFn&&ot.data.isPeriodic||0===ot.runCount)&&("number"==typeof rt?delete $[rt]:rt&&(rt[Xt]=null),ot.zone.cancelTask(ot)):K.apply(a,at)})}Zone.__load_patch("legacy",a=>{const d=a[Zone.__symbol__("legacyPatch")];d&&d()}),Zone.__load_patch("timers",a=>{const d="set",m="clear";Wt(a,d,m,"Timeout"),Wt(a,d,m,"Interval"),Wt(a,d,m,"Immediate")}),Zone.__load_patch("requestAnimationFrame",a=>{Wt(a,"request","cancel","AnimationFrame"),Wt(a,"mozRequest","mozCancel","AnimationFrame"),Wt(a,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(a,d)=>{const m=["alert","prompt","confirm"];for(let g=0;g<m.length;g++)lt(a,m[g],(S,$,A)=>function(X,K){return d.current.run(S,a,K,A)})}),Zone.__load_patch("EventTarget",(a,d,m)=>{(function Te(a,d){d.patchEventPrototype(a,d)})(a,m),function me(a,d){if(Zone[d.symbol("patchEventTarget")])return;const{eventNames:m,zoneSymbolEventNames:g,TRUE_STR:O,FALSE_STR:S,ZONE_SYMBOL_PREFIX:$}=d.getGlobalObjects();for(let X=0;X<m.length;X++){const K=m[X],rt=$+(K+S),ot=$+(K+O);g[K]={},g[K][S]=rt,g[K][O]=ot}const A=a.EventTarget;A&&A.prototype&&d.patchEventTarget(a,d,[A&&A.prototype])}(a,m);const g=a.XMLHttpRequestEventTarget;g&&g.prototype&&m.patchEventTarget(a,m,[g.prototype])}),Zone.__load_patch("MutationObserver",(a,d,m)=>{At("MutationObserver"),At("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(a,d,m)=>{At("IntersectionObserver")}),Zone.__load_patch("FileReader",(a,d,m)=>{At("FileReader")}),Zone.__load_patch("on_property",(a,d,m)=>{!function ye(a,d){if(k&&!Q||Zone[a.symbol("patchEvents")])return;const m=d.__Zone_ignore_on_properties;let g=[];if(B){const O=window;g=g.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const S=function Kt(){try{const a=N.navigator.userAgent;if(-1!==a.indexOf("MSIE ")||-1!==a.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:O,ignoreProperties:["error"]}]:[];se(O,Jt(O),m&&m.concat(S),t(O))}g=g.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let O=0;O<g.length;O++){const S=d[g[O]];S&&S.prototype&&se(S.prototype,Jt(S.prototype),m)}}(m,a)}),Zone.__load_patch("customElements",(a,d,m)=>{!function Ee(a,d){const{isBrowser:m,isMix:g}=d.getGlobalObjects();(m||g)&&a.customElements&&"customElements"in a&&d.patchCallbacks(d,a.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(a,m)}),Zone.__load_patch("XHR",(a,d)=>{!function X(K){const U=K.XMLHttpRequest;if(!U)return;const at=U.prototype;let ot=at[r],yt=at[c];if(!ot){const w=K.XMLHttpRequestEventTarget;if(w){const st=w.prototype;ot=st[r],yt=st[c]}}const ct="readystatechange",Mt="scheduled";function Ot(w){const st=w.data,Y=st.target;Y[S]=!1,Y[A]=!1;const Ct=Y[O];ot||(ot=Y[r],yt=Y[c]),Ct&&yt.call(Y,ct,Ct);const Ft=Y[O]=()=>{if(Y.readyState===Y.DONE)if(!st.aborted&&Y[S]&&w.state===Mt){const mt=Y[d.__symbol__("loadfalse")];if(0!==Y.status&&mt&&mt.length>0){const wt=w.invoke;w.invoke=function(){const kt=Y[d.__symbol__("loadfalse")];for(let Tt=0;Tt<kt.length;Tt++)kt[Tt]===w&&kt.splice(Tt,1);!st.aborted&&w.state===Mt&&wt.call(w)},mt.push(w)}else w.invoke()}else!st.aborted&&!1===Y[S]&&(Y[A]=!0)};return ot.call(Y,ct,Ft),Y[m]||(Y[m]=w),H.apply(Y,st.args),Y[S]=!0,w}function _(){}function F(w){const st=w.data;return st.aborted=!0,vt.apply(st.target,st.args)}const Dt=lt(at,"open",()=>function(w,st){return w[g]=0==st[2],w[$]=st[1],Dt.apply(w,st)}),Rt=T("fetchTaskAborting"),ut=T("fetchTaskScheduling"),H=lt(at,"send",()=>function(w,st){if(!0===d.current[ut]||w[g])return H.apply(w,st);{const Y={target:w,url:w[$],isPeriodic:!1,args:st,aborted:!1},Ct=x("XMLHttpRequest.send",_,Y,Ot,F);w&&!0===w[A]&&!Y.aborted&&Ct.state===Mt&&Ct.invoke()}}),vt=lt(at,"abort",()=>function(w,st){const Y=function rt(w){return w[m]}(w);if(Y&&"string"==typeof Y.type){if(null==Y.cancelFn||Y.data&&Y.data.aborted)return;Y.zone.cancelTask(Y)}else if(!0===d.current[Rt])return vt.apply(w,st)})}(a);const m=T("xhrTask"),g=T("xhrSync"),O=T("xhrListener"),S=T("xhrScheduled"),$=T("xhrURL"),A=T("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",a=>{a.navigator&&a.navigator.geolocation&&function M(a,d){const m=a.constructor.name;for(let g=0;g<d.length;g++){const O=d[g],S=a[O];if(S){if(!Z(i(a,O)))continue;a[O]=(A=>{const X=function(){return A.apply(this,L(arguments,m+"."+O))};return dt(X,A),X})(S)}}}(a.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(a,d)=>{function m(g){return function(O){re(a,g).forEach($=>{const A=a.PromiseRejectionEvent;if(A){const X=new A(g,{promise:O.promise,reason:O.rejection});$.invoke(X)}})}}a.PromiseRejectionEvent&&(d[T("unhandledPromiseRejectionHandler")]=m("unhandledrejection"),d[T("rejectionHandledHandler")]=m("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(a,d,m)=>{!function ge(a,d){d.patchMethod(a,"queueMicrotask",m=>function(g,O){Zone.current.scheduleMicroTask("queueMicrotask",O[0])})}(a,m)})},5846:(i,l,t)=>{t(7103),t(2586),t(2552),t(4376),t(5153),t(1879),t(2650),t(1104),t(1883),t(5433),t(5e3),t(5932),t(5443),t(6316),t(6094)},8509:(i,l,t)=>{t(9087),t(9766),t(1390),t(6094)},8681:(i,l,t)=>{t(4614),t(7594),t(7146),t(7531),t(5039),t(4300),t(6328),t(6094)},9353:(i,l,t)=>{t(7491),t(4907),t(9100),t(9269),t(1319),t(9732),t(1176),t(3107),t(1691),t(6094)},3387:i=>{i.exports=function(l){if("function"!=typeof l)throw TypeError(l+" is not a function!");return l}},8184:(i,l,t)=>{var e=t(7574)("unscopables"),n=Array.prototype;null==n[e]&&t(3341)(n,e,{}),i.exports=function(s){n[e][s]=!0}},6440:i=>{i.exports=function(l,t,e,n){if(!(l instanceof t)||void 0!==n&&n in l)throw TypeError(e+": incorrect invocation!");return l}},4228:(i,l,t)=>{var e=t(3305);i.exports=function(n){if(!e(n))throw TypeError(n+" is not an object!");return n}},956:(i,l,t)=>{var e=t(8790);i.exports=function(n,s){var o=[];return e(n,!1,o.push,o,s),o}},1464:(i,l,t)=>{var e=t(7221),n=t(1485),s=t(157);i.exports=function(o){return function(r,c,v){var x,f=e(r),h=n(f.length),y=s(v,h);if(o&&c!=c){for(;h>y;)if((x=f[y++])!=x)return!0}else for(;h>y;y++)if((o||y in f)&&f[y]===c)return o||y||0;return!o&&-1}}},6179:(i,l,t)=>{var e=t(5052),n=t(1249),s=t(8270),o=t(1485),r=t(5572);i.exports=function(c,v){var f=1==c,h=2==c,y=3==c,x=4==c,T=6==c,P=5==c||T,N=v||r;return function(R,j,L){for(var gt,bt,M=s(R),Z=n(M),b=e(j,L,3),k=o(Z.length),B=0,Q=f?N(R,k):h?N(R,0):void 0;k>B;B++)if((P||B in Z)&&(bt=b(gt=Z[B],B,M),c))if(f)Q[B]=bt;else if(bt)switch(c){case 3:return!0;case 5:return gt;case 6:return B;case 2:Q.push(gt)}else if(x)return!1;return T?-1:y||x?x:Q}}},3606:(i,l,t)=>{var e=t(3305),n=t(7981),s=t(7574)("species");i.exports=function(o){var r;return n(o)&&("function"==typeof(r=o.constructor)&&(r===Array||n(r.prototype))&&(r=void 0),e(r)&&null===(r=r[s])&&(r=void 0)),void 0===r?Array:r}},5572:(i,l,t)=>{var e=t(3606);i.exports=function(n,s){return new(e(n))(s)}},5538:(i,l,t)=>{"use strict";var e=t(3387),n=t(3305),s=t(4877),o=[].slice,r={};i.exports=Function.bind||function(f){var h=e(this),y=o.call(arguments,1),x=function(){var T=y.concat(o.call(arguments));return this instanceof x?function(v,f,h){if(!(f in r)){for(var y=[],x=0;x<f;x++)y[x]="a["+x+"]";r[f]=Function("F,a","return new F("+y.join(",")+")")}return r[f](v,h)}(h,T.length,T):s(h,T,f)};return n(h.prototype)&&(x.prototype=h.prototype),x}},4848:(i,l,t)=>{var e=t(5089),n=t(7574)("toStringTag"),s="Arguments"==e(function(){return arguments}());i.exports=function(r){var c,v,f;return void 0===r?"Undefined":null===r?"Null":"string"==typeof(v=function(r,c){try{return r[c]}catch{}}(c=Object(r),n))?v:s?e(c):"Object"==(f=e(c))&&"function"==typeof c.callee?"Arguments":f}},5089:i=>{var l={}.toString;i.exports=function(t){return l.call(t).slice(8,-1)}},6197:(i,l,t)=>{"use strict";var e=t(7967).f,n=t(4719),s=t(6065),o=t(5052),r=t(6440),c=t(8790),v=t(8175),f=t(4970),h=t(5762),y=t(1763),x=t(2988).fastKey,T=t(2888),P=y?"_s":"size",N=function(R,j){var M,L=x(j);if("F"!==L)return R._i[L];for(M=R._f;M;M=M.n)if(M.k==j)return M};i.exports={getConstructor:function(R,j,L,M){var Z=R(function(b,k){r(b,Z,j,"_i"),b._t=j,b._i=n(null),b._f=void 0,b._l=void 0,b[P]=0,null!=k&&c(k,L,b[M],b)});return s(Z.prototype,{clear:function(){for(var k=T(this,j),B=k._i,Q=k._f;Q;Q=Q.n)Q.r=!0,Q.p&&(Q.p=Q.p.n=void 0),delete B[Q.i];k._f=k._l=void 0,k[P]=0},delete:function(b){var k=T(this,j),B=N(k,b);if(B){var Q=B.n,gt=B.p;delete k._i[B.i],B.r=!0,gt&&(gt.n=Q),Q&&(Q.p=gt),k._f==B&&(k._f=Q),k._l==B&&(k._l=gt),k[P]--}return!!B},forEach:function(k){T(this,j);for(var Q,B=o(k,arguments.length>1?arguments[1]:void 0,3);Q=Q?Q.n:this._f;)for(B(Q.v,Q.k,this);Q&&Q.r;)Q=Q.p},has:function(k){return!!N(T(this,j),k)}}),y&&e(Z.prototype,"size",{get:function(){return T(this,j)[P]}}),Z},def:function(R,j,L){var Z,b,M=N(R,j);return M?M.v=L:(R._l=M={i:b=x(j,!0),k:j,v:L,p:Z=R._l,n:void 0,r:!1},R._f||(R._f=M),Z&&(Z.n=M),R[P]++,"F"!==b&&(R._i[b]=M)),R},getEntry:N,setStrong:function(R,j,L){v(R,j,function(M,Z){this._t=T(M,j),this._k=Z,this._l=void 0},function(){for(var M=this,Z=M._k,b=M._l;b&&b.r;)b=b.p;return M._t&&(M._l=b=b?b.n:M._t._f)?f(0,"keys"==Z?b.k:"values"==Z?b.v:[b.k,b.v]):(M._t=void 0,f(1))},L?"entries":"values",!L,!0),h(j)}}},9882:(i,l,t)=>{"use strict";var e=t(6065),n=t(2988).getWeak,s=t(4228),o=t(3305),r=t(6440),c=t(8790),v=t(6179),f=t(7917),h=t(2888),y=v(5),x=v(6),T=0,P=function(j){return j._l||(j._l=new N)},N=function(){this.a=[]},R=function(j,L){return y(j.a,function(M){return M[0]===L})};N.prototype={get:function(j){var L=R(this,j);if(L)return L[1]},has:function(j){return!!R(this,j)},set:function(j,L){var M=R(this,j);M?M[1]=L:this.a.push([j,L])},delete:function(j){var L=x(this.a,function(M){return M[0]===j});return~L&&this.a.splice(L,1),!!~L}},i.exports={getConstructor:function(j,L,M,Z){var b=j(function(k,B){r(k,b,L,"_i"),k._t=L,k._i=T++,k._l=void 0,null!=B&&c(B,M,k[Z],k)});return e(b.prototype,{delete:function(k){if(!o(k))return!1;var B=n(k);return!0===B?P(h(this,L)).delete(k):B&&f(B,this._i)&&delete B[this._i]},has:function(B){if(!o(B))return!1;var Q=n(B);return!0===Q?P(h(this,L)).has(B):Q&&f(Q,this._i)}}),b},def:function(j,L,M){var Z=n(s(L),!0);return!0===Z?P(j).set(L,M):Z[j._i]=M,j},ufstore:P}},8933:(i,l,t)=>{"use strict";var e=t(7526),n=t(2127),s=t(8859),o=t(6065),r=t(2988),c=t(8790),v=t(6440),f=t(3305),h=t(9448),y=t(8931),x=t(3844),T=t(8880);i.exports=function(P,N,R,j,L,M){var Z=e[P],b=Z,k=L?"set":"add",B=b&&b.prototype,Q={},gt=function(lt){var Pt=B[lt];s(B,lt,"delete"==lt?function(dt){return!(M&&!f(dt))&&Pt.call(this,0===dt?0:dt)}:"has"==lt?function(Et){return!(M&&!f(Et))&&Pt.call(this,0===Et?0:Et)}:"get"==lt?function(Et){return M&&!f(Et)?void 0:Pt.call(this,0===Et?0:Et)}:"add"==lt?function(Et){return Pt.call(this,0===Et?0:Et),this}:function(Et,Zt){return Pt.call(this,0===Et?0:Et,Zt),this})};if("function"==typeof b&&(M||B.forEach&&!h(function(){(new b).entries().next()}))){var bt=new b,It=bt[k](M?{}:-0,1)!=bt,Nt=h(function(){bt.has(1)}),xt=y(function(lt){new b(lt)}),At=!M&&h(function(){for(var lt=new b,Pt=5;Pt--;)lt[k](Pt,Pt);return!lt.has(-0)});xt||((b=N(function(lt,Pt){v(lt,b,P);var dt=T(new Z,lt,b);return null!=Pt&&c(Pt,L,dt[k],dt),dt})).prototype=B,B.constructor=b),(Nt||At)&&(gt("delete"),gt("has"),L&&gt("get")),(At||It)&&gt(k),M&&B.clear&&delete B.clear}else b=j.getConstructor(N,P,L,k),o(b.prototype,R),r.NEED=!0;return x(b,P),Q[P]=b,n(n.G+n.W+n.F*(b!=Z),Q),M||j.setStrong(b,P,L),b}},6094:i=>{var l=i.exports={version:"2.5.7"};"number"==typeof __e&&(__e=l)},7227:(i,l,t)=>{"use strict";var e=t(7967),n=t(1996);i.exports=function(s,o,r){o in s?e.f(s,o,n(0,r)):s[o]=r}},5052:(i,l,t)=>{var e=t(3387);i.exports=function(n,s,o){if(e(n),void 0===s)return n;switch(o){case 1:return function(r){return n.call(s,r)};case 2:return function(r,c){return n.call(s,r,c)};case 3:return function(r,c,v){return n.call(s,r,c,v)}}return function(){return n.apply(s,arguments)}}},3344:i=>{i.exports=function(l){if(null==l)throw TypeError("Can't call method on "+l);return l}},1763:(i,l,t)=>{i.exports=!t(9448)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},6034:(i,l,t)=>{var e=t(3305),n=t(7526).document,s=e(n)&&e(n.createElement);i.exports=function(o){return s?n.createElement(o):{}}},6140:i=>{i.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},2127:(i,l,t)=>{var e=t(7526),n=t(6094),s=t(3341),o=t(8859),r=t(5052),c="prototype",v=function(f,h,y){var Z,b,k,B,x=f&v.F,T=f&v.G,N=f&v.P,R=f&v.B,j=T?e:f&v.S?e[h]||(e[h]={}):(e[h]||{})[c],L=T?n:n[h]||(n[h]={}),M=L[c]||(L[c]={});for(Z in T&&(y=h),y)k=((b=!x&&j&&void 0!==j[Z])?j:y)[Z],B=R&&b?r(k,e):N&&"function"==typeof k?r(Function.call,k):k,j&&o(j,Z,k,f&v.U),L[Z]!=k&&s(L,Z,B),N&&M[Z]!=k&&(M[Z]=k)};e.core=n,v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128,i.exports=v},9448:i=>{i.exports=function(l){try{return!!l()}catch{return!0}}},2322:(i,l,t)=>{"use strict";var e=t(7981),n=t(3305),s=t(1485),o=t(5052),r=t(7574)("isConcatSpreadable");i.exports=function c(v,f,h,y,x,T,P,N){for(var M,Z,R=x,j=0,L=!!P&&o(P,N,3);j<y;){if(j in h){if(M=L?L(h[j],j,f):h[j],Z=!1,n(M)&&(Z=void 0!==(Z=M[r])?!!Z:e(M)),Z&&T>0)R=c(v,f,M,s(M.length),R,T-1)-1;else{if(R>=9007199254740991)throw TypeError();v[R]=M}R++}j++}return R}},8790:(i,l,t)=>{var e=t(5052),n=t(7368),s=t(1508),o=t(4228),r=t(1485),c=t(762),v={},f={},h=i.exports=function(y,x,T,P,N){var M,Z,b,k,R=N?function(){return y}:c(y),j=e(T,P,x?2:1),L=0;if("function"!=typeof R)throw TypeError(y+" is not iterable!");if(s(R)){for(M=r(y.length);M>L;L++)if((k=x?j(o(Z=y[L])[0],Z[1]):j(y[L]))===v||k===f)return k}else for(b=R.call(y);!(Z=b.next()).done;)if((k=n(b,j,Z.value,x))===v||k===f)return k};h.BREAK=v,h.RETURN=f},7526:i=>{var l=i.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=l)},7917:i=>{var l={}.hasOwnProperty;i.exports=function(t,e){return l.call(t,e)}},3341:(i,l,t)=>{var e=t(7967),n=t(1996);i.exports=t(1763)?function(s,o,r){return e.f(s,o,n(1,r))}:function(s,o,r){return s[o]=r,s}},1308:(i,l,t)=>{var e=t(7526).document;i.exports=e&&e.documentElement},2956:(i,l,t)=>{i.exports=!t(1763)&&!t(9448)(function(){return 7!=Object.defineProperty(t(6034)("div"),"a",{get:function(){return 7}}).a})},8880:(i,l,t)=>{var e=t(3305),n=t(5170).set;i.exports=function(s,o,r){var v,c=o.constructor;return c!==r&&"function"==typeof c&&(v=c.prototype)!==r.prototype&&e(v)&&n&&n(s,v),s}},4877:i=>{i.exports=function(l,t,e){var n=void 0===e;switch(t.length){case 0:return n?l():l.call(e);case 1:return n?l(t[0]):l.call(e,t[0]);case 2:return n?l(t[0],t[1]):l.call(e,t[0],t[1]);case 3:return n?l(t[0],t[1],t[2]):l.call(e,t[0],t[1],t[2]);case 4:return n?l(t[0],t[1],t[2],t[3]):l.call(e,t[0],t[1],t[2],t[3])}return l.apply(e,t)}},1249:(i,l,t)=>{var e=t(5089);i.exports=Object("z").propertyIsEnumerable(0)?Object:function(n){return"String"==e(n)?n.split(""):Object(n)}},1508:(i,l,t)=>{var e=t(906),n=t(7574)("iterator"),s=Array.prototype;i.exports=function(o){return void 0!==o&&(e.Array===o||s[n]===o)}},7981:(i,l,t)=>{var e=t(5089);i.exports=Array.isArray||function(s){return"Array"==e(s)}},3305:i=>{i.exports=function(l){return"object"==typeof l?null!==l:"function"==typeof l}},7368:(i,l,t)=>{var e=t(4228);i.exports=function(n,s,o,r){try{return r?s(e(o)[0],o[1]):s(o)}catch(v){var c=n.return;throw void 0!==c&&e(c.call(n)),v}}},6032:(i,l,t)=>{"use strict";var e=t(4719),n=t(1996),s=t(3844),o={};t(3341)(o,t(7574)("iterator"),function(){return this}),i.exports=function(r,c,v){r.prototype=e(o,{next:n(1,v)}),s(r,c+" Iterator")}},8175:(i,l,t)=>{"use strict";var e=t(2750),n=t(2127),s=t(8859),o=t(3341),r=t(906),c=t(6032),v=t(3844),f=t(627),h=t(7574)("iterator"),y=!([].keys&&"next"in[].keys()),T="keys",P="values",N=function(){return this};i.exports=function(R,j,L,M,Z,b,k){c(L,j,M);var Pt,dt,Et,B=function(Zt){if(!y&&Zt in It)return It[Zt];switch(Zt){case T:case P:return function(){return new L(this,Zt)}}return function(){return new L(this,Zt)}},Q=j+" Iterator",gt=Z==P,bt=!1,It=R.prototype,Nt=It[h]||It["@@iterator"]||Z&&It[Z],xt=Nt||B(Z),At=Z?gt?B("entries"):xt:void 0,lt="Array"==j&&It.entries||Nt;if(lt&&(Et=f(lt.call(new R)))!==Object.prototype&&Et.next&&(v(Et,Q,!0),!e&&"function"!=typeof Et[h]&&o(Et,h,N)),gt&&Nt&&Nt.name!==P&&(bt=!0,xt=function(){return Nt.call(this)}),(!e||k)&&(y||bt||!It[h])&&o(It,h,xt),r[j]=xt,r[Q]=N,Z)if(Pt={values:gt?xt:B(P),keys:b?xt:B(T),entries:At},k)for(dt in Pt)dt in It||s(It,dt,Pt[dt]);else n(n.P+n.F*(y||bt),j,Pt);return Pt}},8931:(i,l,t)=>{var e=t(7574)("iterator"),n=!1;try{var s=[7][e]();s.return=function(){n=!0},Array.from(s,function(){throw 2})}catch{}i.exports=function(o,r){if(!r&&!n)return!1;var c=!1;try{var v=[7],f=v[e]();f.next=function(){return{done:c=!0}},v[e]=function(){return f},o(v)}catch{}return c}},4970:i=>{i.exports=function(l,t){return{value:t,done:!!l}}},906:i=>{i.exports={}},2750:i=>{i.exports=!1},2988:(i,l,t)=>{var e=t(4415)("meta"),n=t(3305),s=t(7917),o=t(7967).f,r=0,c=Object.isExtensible||function(){return!0},v=!t(9448)(function(){return c(Object.preventExtensions({}))}),f=function(P){o(P,e,{value:{i:"O"+ ++r,w:{}}})},T=i.exports={KEY:e,NEED:!1,fastKey:function(P,N){if(!n(P))return"symbol"==typeof P?P:("string"==typeof P?"S":"P")+P;if(!s(P,e)){if(!c(P))return"F";if(!N)return"E";f(P)}return P[e].i},getWeak:function(P,N){if(!s(P,e)){if(!c(P))return!0;if(!N)return!1;f(P)}return P[e].w},onFreeze:function(P){return v&&T.NEED&&c(P)&&!s(P,e)&&f(P),P}}},7380:(i,l,t)=>{var e=t(3386),n=t(2127),s=t(4556)("metadata"),o=s.store||(s.store=new(t(9397))),r=function(T,P,N){var R=o.get(T);if(!R){if(!N)return;o.set(T,R=new e)}var j=R.get(P);if(!j){if(!N)return;R.set(P,j=new e)}return j};i.exports={store:o,map:r,has:function(T,P,N){var R=r(P,N,!1);return void 0!==R&&R.has(T)},get:function(T,P,N){var R=r(P,N,!1);return void 0===R?void 0:R.get(T)},set:function(T,P,N,R){r(N,R,!0).set(T,P)},keys:function(T,P){var N=r(T,P,!1),R=[];return N&&N.forEach(function(j,L){R.push(L)}),R},key:function(T){return void 0===T||"symbol"==typeof T?T:String(T)},exp:function(T){n(n.S,"Reflect",T)}}},8206:(i,l,t)=>{"use strict";var e=t(1311),n=t(1060),s=t(8449),o=t(8270),r=t(1249),c=Object.assign;i.exports=!c||t(9448)(function(){var v={},f={},h=Symbol(),y="abcdefghijklmnopqrst";return v[h]=7,y.split("").forEach(function(x){f[x]=x}),7!=c({},v)[h]||Object.keys(c({},f)).join("")!=y})?function(f,h){for(var y=o(f),x=arguments.length,T=1,P=n.f,N=s.f;x>T;)for(var Z,R=r(arguments[T++]),j=P?e(R).concat(P(R)):e(R),L=j.length,M=0;L>M;)N.call(R,Z=j[M++])&&(y[Z]=R[Z]);return y}:c},4719:(i,l,t)=>{var e=t(4228),n=t(1626),s=t(6140),o=t(766)("IE_PROTO"),r=function(){},c="prototype",v=function(){var T,f=t(6034)("iframe"),h=s.length;for(f.style.display="none",t(1308).appendChild(f),f.src="javascript:",(T=f.contentWindow.document).open(),T.write("<script>document.F=Object<\/script>"),T.close(),v=T.F;h--;)delete v[c][s[h]];return v()};i.exports=Object.create||function(h,y){var x;return null!==h?(r[c]=e(h),x=new r,r[c]=null,x[o]=h):x=v(),void 0===y?x:n(x,y)}},7967:(i,l,t)=>{var e=t(4228),n=t(2956),s=t(3048),o=Object.defineProperty;l.f=t(1763)?Object.defineProperty:function(c,v,f){if(e(c),v=s(v,!0),e(f),n)try{return o(c,v,f)}catch{}if("get"in f||"set"in f)throw TypeError("Accessors not supported!");return"value"in f&&(c[v]=f.value),c}},1626:(i,l,t)=>{var e=t(7967),n=t(4228),s=t(1311);i.exports=t(1763)?Object.defineProperties:function(r,c){n(r);for(var y,v=s(c),f=v.length,h=0;f>h;)e.f(r,y=v[h++],c[y]);return r}},1913:(i,l,t)=>{"use strict";i.exports=t(2750)||!t(9448)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete t(7526)[e]})},8641:(i,l,t)=>{var e=t(8449),n=t(1996),s=t(7221),o=t(3048),r=t(7917),c=t(2956),v=Object.getOwnPropertyDescriptor;l.f=t(1763)?v:function(h,y){if(h=s(h),y=o(y,!0),c)try{return v(h,y)}catch{}if(r(h,y))return n(!e.f.call(h,y),h[y])}},9415:(i,l,t)=>{var e=t(4561),n=t(6140).concat("length","prototype");l.f=Object.getOwnPropertyNames||function(o){return e(o,n)}},1060:(i,l)=>{l.f=Object.getOwnPropertySymbols},627:(i,l,t)=>{var e=t(7917),n=t(8270),s=t(766)("IE_PROTO"),o=Object.prototype;i.exports=Object.getPrototypeOf||function(r){return r=n(r),e(r,s)?r[s]:"function"==typeof r.constructor&&r instanceof r.constructor?r.constructor.prototype:r instanceof Object?o:null}},4561:(i,l,t)=>{var e=t(7917),n=t(7221),s=t(1464)(!1),o=t(766)("IE_PROTO");i.exports=function(r,c){var y,v=n(r),f=0,h=[];for(y in v)y!=o&&e(v,y)&&h.push(y);for(;c.length>f;)e(v,y=c[f++])&&(~s(h,y)||h.push(y));return h}},1311:(i,l,t)=>{var e=t(4561),n=t(6140);i.exports=Object.keys||function(o){return e(o,n)}},8449:(i,l)=>{l.f={}.propertyIsEnumerable},3854:(i,l,t)=>{var e=t(1311),n=t(7221),s=t(8449).f;i.exports=function(o){return function(r){for(var x,c=n(r),v=e(c),f=v.length,h=0,y=[];f>h;)s.call(c,x=v[h++])&&y.push(o?[x,c[x]]:c[x]);return y}}},6222:(i,l,t)=>{var e=t(9415),n=t(1060),s=t(4228),o=t(7526).Reflect;i.exports=o&&o.ownKeys||function(c){var v=e.f(s(c)),f=n.f;return f?v.concat(f(c)):v}},1996:i=>{i.exports=function(l,t){return{enumerable:!(1&l),configurable:!(2&l),writable:!(4&l),value:t}}},6065:(i,l,t)=>{var e=t(8859);i.exports=function(n,s,o){for(var r in s)e(n,r,s[r],o);return n}},8859:(i,l,t)=>{var e=t(7526),n=t(3341),s=t(7917),o=t(4415)("src"),r="toString",c=Function[r],v=(""+c).split(r);t(6094).inspectSource=function(f){return c.call(f)},(i.exports=function(f,h,y,x){var T="function"==typeof y;T&&(s(y,"name")||n(y,"name",h)),f[h]!==y&&(T&&(s(y,o)||n(y,o,f[h]?""+f[h]:v.join(String(h)))),f===e?f[h]=y:x?f[h]?f[h]=y:n(f,h,y):(delete f[h],n(f,h,y)))})(Function.prototype,r,function(){return"function"==typeof this&&this[o]||c.call(this)})},5170:(i,l,t)=>{var e=t(3305),n=t(4228),s=function(o,r){if(n(o),!e(r)&&null!==r)throw TypeError(r+": can't set as prototype!")};i.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(o,r,c){try{(c=t(5052)(Function.call,t(8641).f(Object.prototype,"__proto__").set,2))(o,[]),r=!(o instanceof Array)}catch{r=!0}return function(f,h){return s(f,h),r?f.__proto__=h:c(f,h),f}}({},!1):void 0),check:s}},5762:(i,l,t)=>{"use strict";var e=t(7526),n=t(7967),s=t(1763),o=t(7574)("species");i.exports=function(r){var c=e[r];s&&c&&!c[o]&&n.f(c,o,{configurable:!0,get:function(){return this}})}},3844:(i,l,t)=>{var e=t(7967).f,n=t(7917),s=t(7574)("toStringTag");i.exports=function(o,r,c){o&&!n(o=c?o:o.prototype,s)&&e(o,s,{configurable:!0,value:r})}},766:(i,l,t)=>{var e=t(4556)("keys"),n=t(4415);i.exports=function(s){return e[s]||(e[s]=n(s))}},4556:(i,l,t)=>{var e=t(6094),n=t(7526),s="__core-js_shared__",o=n[s]||(n[s]={});(i.exports=function(r,c){return o[r]||(o[r]=void 0!==c?c:{})})("versions",[]).push({version:e.version,mode:t(2750)?"pure":"global",copyright:"\xa9 2018 Denis Pushkarev (zloirock.ru)"})},157:(i,l,t)=>{var e=t(7087),n=Math.max,s=Math.min;i.exports=function(o,r){return(o=e(o))<0?n(o+r,0):s(o,r)}},7087:i=>{var l=Math.ceil,t=Math.floor;i.exports=function(e){return isNaN(e=+e)?0:(e>0?t:l)(e)}},7221:(i,l,t)=>{var e=t(1249),n=t(3344);i.exports=function(s){return e(n(s))}},1485:(i,l,t)=>{var e=t(7087),n=Math.min;i.exports=function(s){return s>0?n(e(s),9007199254740991):0}},8270:(i,l,t)=>{var e=t(3344);i.exports=function(n){return Object(e(n))}},3048:(i,l,t)=>{var e=t(3305);i.exports=function(n,s){if(!e(n))return n;var o,r;if(s&&"function"==typeof(o=n.toString)&&!e(r=o.call(n))||"function"==typeof(o=n.valueOf)&&!e(r=o.call(n))||!s&&"function"==typeof(o=n.toString)&&!e(r=o.call(n)))return r;throw TypeError("Can't convert object to primitive value")}},4415:i=>{var l=0,t=Math.random();i.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++l+t).toString(36))}},2888:(i,l,t)=>{var e=t(3305);i.exports=function(n,s){if(!e(n)||n._t!==s)throw TypeError("Incompatible receiver, "+s+" required!");return n}},7574:(i,l,t)=>{var e=t(4556)("wks"),n=t(4415),s=t(7526).Symbol,o="function"==typeof s;(i.exports=function(c){return e[c]||(e[c]=o&&s[c]||(o?s:n)("Symbol."+c))}).store=e},762:(i,l,t)=>{var e=t(4848),n=t(7574)("iterator"),s=t(906);i.exports=t(6094).getIteratorMethod=function(o){if(null!=o)return o[n]||o["@@iterator"]||s[e(o)]}},3386:(i,l,t)=>{"use strict";var e=t(6197),n=t(2888),s="Map";i.exports=t(8933)(s,function(o){return function(){return o(this,arguments.length>0?arguments[0]:void 0)}},{get:function(r){var c=e.getEntry(n(this,s),r);return c&&c.v},set:function(r,c){return e.def(n(this,s),0===r?0:r,c)}},e,!0)},7103:(i,l,t)=>{var e=t(2127),n=t(3387),s=t(4228),o=(t(7526).Reflect||{}).apply,r=Function.apply;e(e.S+e.F*!t(9448)(function(){o(function(){})}),"Reflect",{apply:function(v,f,h){var y=n(v),x=s(h);return o?o(y,f,x):r.call(y,f,x)}})},2586:(i,l,t)=>{var e=t(2127),n=t(4719),s=t(3387),o=t(4228),r=t(3305),c=t(9448),v=t(5538),f=(t(7526).Reflect||{}).construct,h=c(function(){function x(){}return!(f(function(){},[],x)instanceof x)}),y=!c(function(){f(function(){})});e(e.S+e.F*(h||y),"Reflect",{construct:function(T,P){s(T),o(P);var N=arguments.length<3?T:s(arguments[2]);if(y&&!h)return f(T,P,N);if(T==N){switch(P.length){case 0:return new T;case 1:return new T(P[0]);case 2:return new T(P[0],P[1]);case 3:return new T(P[0],P[1],P[2]);case 4:return new T(P[0],P[1],P[2],P[3])}var R=[null];return R.push.apply(R,P),new(v.apply(T,R))}var j=N.prototype,L=n(r(j)?j:Object.prototype),M=Function.apply.call(T,L,P);return r(M)?M:L}})},2552:(i,l,t)=>{var e=t(7967),n=t(2127),s=t(4228),o=t(3048);n(n.S+n.F*t(9448)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(c,v,f){s(c),v=o(v,!0),s(f);try{return e.f(c,v,f),!0}catch{return!1}}})},4376:(i,l,t)=>{var e=t(2127),n=t(8641).f,s=t(4228);e(e.S,"Reflect",{deleteProperty:function(r,c){var v=n(s(r),c);return!(v&&!v.configurable)&&delete r[c]}})},5153:(i,l,t)=>{"use strict";var e=t(2127),n=t(4228),s=function(o){this._t=n(o),this._i=0;var c,r=this._k=[];for(c in o)r.push(c)};t(6032)(s,"Object",function(){var c,o=this,r=o._k;do{if(o._i>=r.length)return{value:void 0,done:!0}}while(!((c=r[o._i++])in o._t));return{value:c,done:!1}}),e(e.S,"Reflect",{enumerate:function(r){return new s(r)}})},2650:(i,l,t)=>{var e=t(8641),n=t(2127),s=t(4228);n(n.S,"Reflect",{getOwnPropertyDescriptor:function(r,c){return e.f(s(r),c)}})},1104:(i,l,t)=>{var e=t(2127),n=t(627),s=t(4228);e(e.S,"Reflect",{getPrototypeOf:function(r){return n(s(r))}})},1879:(i,l,t)=>{var e=t(8641),n=t(627),s=t(7917),o=t(2127),r=t(3305),c=t(4228);o(o.S,"Reflect",{get:function v(f,h){var x,T,y=arguments.length<3?f:arguments[2];return c(f)===y?f[h]:(x=e.f(f,h))?s(x,"value")?x.value:void 0!==x.get?x.get.call(y):void 0:r(T=n(f))?v(T,h,y):void 0}})},1883:(i,l,t)=>{var e=t(2127);e(e.S,"Reflect",{has:function(s,o){return o in s}})},5433:(i,l,t)=>{var e=t(2127),n=t(4228),s=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(r){return n(r),!s||s(r)}})},5e3:(i,l,t)=>{var e=t(2127);e(e.S,"Reflect",{ownKeys:t(6222)})},5932:(i,l,t)=>{var e=t(2127),n=t(4228),s=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(r){n(r);try{return s&&s(r),!0}catch{return!1}}})},6316:(i,l,t)=>{var e=t(2127),n=t(5170);n&&e(e.S,"Reflect",{setPrototypeOf:function(o,r){n.check(o,r);try{return n.set(o,r),!0}catch{return!1}}})},5443:(i,l,t)=>{var e=t(7967),n=t(8641),s=t(627),o=t(7917),r=t(2127),c=t(1996),v=t(4228),f=t(3305);r(r.S,"Reflect",{set:function h(y,x,T){var R,j,P=arguments.length<4?y:arguments[3],N=n.f(v(y),x);if(!N){if(f(j=s(y)))return h(j,x,T,P);N=c(0)}if(o(N,"value")){if(!1===N.writable||!f(P))return!1;if(R=n.f(P,x)){if(R.get||R.set||!1===R.writable)return!1;R.value=T,e.f(P,x,R)}else e.f(P,x,c(0,T));return!0}return void 0!==N.set&&(N.set.call(P,T),!0)}})},1632:(i,l,t)=>{"use strict";var e=t(6197),n=t(2888);i.exports=t(8933)("Set",function(o){return function(){return o(this,arguments.length>0?arguments[0]:void 0)}},{add:function(r){return e.def(n(this,"Set"),r=0===r?0:r,r)}},e)},9397:(i,l,t)=>{"use strict";var N,e=t(6179)(0),n=t(8859),s=t(2988),o=t(8206),r=t(9882),c=t(3305),v=t(9448),f=t(2888),h="WeakMap",y=s.getWeak,x=Object.isExtensible,T=r.ufstore,P={},R=function(M){return function(){return M(this,arguments.length>0?arguments[0]:void 0)}},j={get:function(Z){if(c(Z)){var b=y(Z);return!0===b?T(f(this,h)).get(Z):b?b[this._i]:void 0}},set:function(Z,b){return r.def(f(this,h),Z,b)}},L=i.exports=t(8933)(h,R,j,r,!0,!0);v(function(){return 7!=(new L).set((Object.freeze||Object)(P),7).get(P)})&&(o((N=r.getConstructor(R,h)).prototype,j),s.NEED=!0,e(["delete","has","get","set"],function(M){var Z=L.prototype,b=Z[M];n(Z,M,function(k,B){if(c(k)&&!x(k)){this._f||(this._f=new N);var Q=this._f[M](k,B);return"set"==M?this:Q}return b.call(this,k,B)})}))},9766:(i,l,t)=>{"use strict";var e=t(2127),n=t(2322),s=t(8270),o=t(1485),r=t(3387),c=t(5572);e(e.P,"Array",{flatMap:function(f){var y,x,h=s(this);return r(f),y=o(h.length),x=c(h,0),n(x,h,h,y,0,1,f,arguments[1]),x}}),t(8184)("flatMap")},1390:(i,l,t)=>{"use strict";var e=t(2127),n=t(2322),s=t(8270),o=t(1485),r=t(7087),c=t(5572);e(e.P,"Array",{flatten:function(){var f=arguments[0],h=s(this),y=o(h.length),x=c(h,0);return n(x,h,h,y,0,void 0===f?1:r(f)),x}}),t(8184)("flatten")},9087:(i,l,t)=>{"use strict";var e=t(2127),n=t(1464)(!0);e(e.P,"Array",{includes:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),t(8184)("includes")},7531:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3387),o=t(7967);t(1763)&&e(e.P+t(1913),"Object",{__defineGetter__:function(c,v){o.f(n(this),c,{get:s(v),enumerable:!0,configurable:!0})}})},5039:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3387),o=t(7967);t(1763)&&e(e.P+t(1913),"Object",{__defineSetter__:function(c,v){o.f(n(this),c,{set:s(v),enumerable:!0,configurable:!0})}})},7146:(i,l,t)=>{var e=t(2127),n=t(3854)(!0);e(e.S,"Object",{entries:function(o){return n(o)}})},4614:(i,l,t)=>{var e=t(2127),n=t(6222),s=t(7221),o=t(8641),r=t(7227);e(e.S,"Object",{getOwnPropertyDescriptors:function(v){for(var P,N,f=s(v),h=o.f,y=n(f),x={},T=0;y.length>T;)void 0!==(N=h(f,P=y[T++]))&&r(x,P,N);return x}})},4300:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3048),o=t(627),r=t(8641).f;t(1763)&&e(e.P+t(1913),"Object",{__lookupGetter__:function(v){var y,f=n(this),h=s(v,!0);do{if(y=r(f,h))return y.get}while(f=o(f))}})},6328:(i,l,t)=>{"use strict";var e=t(2127),n=t(8270),s=t(3048),o=t(627),r=t(8641).f;t(1763)&&e(e.P+t(1913),"Object",{__lookupSetter__:function(v){var y,f=n(this),h=s(v,!0);do{if(y=r(f,h))return y.set}while(f=o(f))}})},7594:(i,l,t)=>{var e=t(2127),n=t(3854)(!1);e(e.S,"Object",{values:function(o){return n(o)}})},7491:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.key,o=e.set;e.exp({defineMetadata:function(c,v,f,h){o(c,v,n(f),s(h))}})},4907:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.key,o=e.map,r=e.store;e.exp({deleteMetadata:function(v,f){var h=arguments.length<3?void 0:s(arguments[2]),y=o(n(f),h,!1);if(void 0===y||!y.delete(v))return!1;if(y.size)return!0;var x=r.get(f);return x.delete(h),!!x.size||r.delete(f)}})},9269:(i,l,t)=>{var e=t(1632),n=t(956),s=t(7380),o=t(4228),r=t(627),c=s.keys,v=s.key,f=function(h,y){var x=c(h,y),T=r(h);if(null===T)return x;var P=f(T,y);return P.length?x.length?n(new e(x.concat(P))):P:x};s.exp({getMetadataKeys:function(y){return f(o(y),arguments.length<2?void 0:v(arguments[1]))}})},9100:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(627),o=e.has,r=e.get,c=e.key,v=function(f,h,y){if(o(f,h,y))return r(f,h,y);var T=s(h);return null!==T?v(f,T,y):void 0};e.exp({getMetadata:function(h,y){return v(h,n(y),arguments.length<3?void 0:c(arguments[2]))}})},9732:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.keys,o=e.key;e.exp({getOwnMetadataKeys:function(c){return s(n(c),arguments.length<2?void 0:o(arguments[1]))}})},1319:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.get,o=e.key;e.exp({getOwnMetadata:function(c,v){return s(c,n(v),arguments.length<3?void 0:o(arguments[2]))}})},1176:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(627),o=e.has,r=e.key,c=function(v,f,h){if(o(v,f,h))return!0;var x=s(f);return null!==x&&c(v,x,h)};e.exp({hasMetadata:function(f,h){return c(f,n(h),arguments.length<3?void 0:r(arguments[2]))}})},3107:(i,l,t)=>{var e=t(7380),n=t(4228),s=e.has,o=e.key;e.exp({hasOwnMetadata:function(c,v){return s(c,n(v),arguments.length<3?void 0:o(arguments[2]))}})},1691:(i,l,t)=>{var e=t(7380),n=t(4228),s=t(3387),o=e.key,r=e.set;e.exp({metadata:function(v,f){return function(y,x){r(v,f,(void 0!==x?n:s)(y),o(x))}}})}},i=>{i(i.s=8829)}]); No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Consider build-time generation instead of committing build artifacts.

This webpack bundle with a content hash in its filename (af067c955617ac11) is typically a build artifact. Committing generated files to source control can lead to:

  • Merge conflicts: Binary/minified files create conflicts when multiple developers update dependencies
  • Repository bloat: Each update adds full file content to git history
  • Maintenance overhead: Requires manual regeneration when updating dependencies
  • Review difficulty: Minified code cannot be effectively reviewed for correctness or security

Alternative approach: Consider generating this file during the build process:

  1. Keep source package.json and package-lock.json in source control
  2. Add build step to generate polyfills bundle
  3. Update .gitignore to exclude *.js in the Ginger-Web-Client directory
  4. Ensure CI/CD pipeline runs npm/webpack build before the .NET build

If pre-built assets must be committed (e.g., to avoid Node.js dependency in build environment), document:

  • Source and version of Zone.js
  • Build command used to generate the bundle
  • Process for updating when dependencies change
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`
at line 1, Build artifact committed: the minified webpack bundle
polyfills.af067c955617ac11.js (starts with
self.webpackChunkGinger_HtmlReport_Web_App.push([...])) should not be checked
into source control; remove the committed bundle, add a rule to ignore generated
web assets (e.g., ignore polyfills.*.js or the Ginger-Web-Client output
directory) in .gitignore, and update the project build/CI to generate this file
during the build (run npm install && npm run build / webpack to produce the file
and ensure the .NET build uses the generated output). If you must keep pre-built
assets, add a short doc (README or BUILD_ASSETS.md) beside the committed asset
describing the source/library and version (e.g., Zone.js version used), exact
build command, and the webpack config used (the bundle is produced by the
self.webpackChunkGinger_HtmlReport_Web_App push in the polyfills bundle), and
prefer committing only a pinned package.json/package-lock.json instead of the
minified file.

🧹 Nitpick | 🔵 Trivial

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the polyfill bundle structure and check for suspicious patterns

# Check if this is a legitimate webpack bundle structure
echo "=== Checking webpack bundle structure ==="
head -c 200 "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"

# Look for the Zone.js version or copyright notice
echo -e "\n=== Searching for Zone.js version/copyright ==="
grep -o 'Zone\.js[^"]*version[^"]*\|copyright.*zone' "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js" | head -5

# Check file size (Zone.js polyfills are typically 100-150KB)
echo -e "\n=== File size check ==="
wc -c "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"

# Search for any eval() or Function() constructor usage (potential security red flags)
echo -e "\n=== Security pattern check ==="
if grep -q 'eval(' "Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js"; then
    echo "WARNING: Found eval() usage"
fi

# Check if package.json or package-lock.json exists to identify Zone.js version
echo -e "\n=== Checking for Zone.js in package dependencies ==="
fd -t f 'package\.json$' -x grep -l 'zone.js' {} \; | head -5

Repository: Ginger-Automation/Ginger

Length of output: 552


Document the source and version of this polyfills bundle.

This webpack bundle contains legitimate polyfills (verified by structure and patterns). However, consider:

  1. Version documentation: The source Zone.js version and build date should be documented (e.g., in a comment, build configuration, or changelog). Currently, no version metadata is present in the minified bundle.

  2. Build process optimization: Since this is a generated webpack bundle with a content hash, evaluate whether regenerating it during the build process would be preferable to committing it to source control. This reduces merge conflicts and ensures consistency with source.

  3. Source map inclusion: Consider including the corresponding .js.map file to aid debugging if production errors occur.

If this bundle is intentionally committed (e.g., to avoid npm/webpack in the .NET build pipeline), document this decision and the generation method used.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js`
at line 1, The polyfills bundle lacks provenance metadata and source-map info;
add a concise header comment at the top of
Ginger/GingerCoreNET/Reports/Ginger-Web-Client/polyfills.af067c955617ac11.js
stating the Zone.js version used (e.g., the version that provides
Zone.__load_patch("ZoneAwarePromise")/Zone.__load_patch("Zone")) and the build
timestamp and build command, add/commit the corresponding .js.map file and
ensure webpack emits it, and update project docs (README or BUILD.md) to
document why this generated bundle (webpackChunkGinger_HtmlReport_Web_App) is
checked in or switch the pipeline to regenerate it during CI; also include a
note referencing that this bundle contains Zone-related patches
(Zone.__load_patch entries) so future maintainers know the source and
reproduction steps.

@codacy-production

codacy-production Bot commented Apr 6, 2026

Copy link
Copy Markdown

Not up to standards ⛔

TIP This summary will be updated as you push new changes. Give us feedback

@ravirk91
ravirk91 merged commit a9a2987 into Releases/Official-Release Apr 7, 2026
12 of 14 checks passed
@ravirk91
ravirk91 deleted the BugFix/ReportEnhancementForIteration branch April 7, 2026 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants