{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/Models/input.model/RequestBase.ts","./src/app/Models/input.model/RequestLogin.ts","./src/app/Models/output.model/ResponseBase.ts","./src/app/Models/output.model/ResponseLogin.ts","./src/app/Utils/services/export.service.ts","./src/app/Utils/services/system.service.ts","./src/app/app-routing.module.ts","./src/app/app.common.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/base/base.component.ts","./src/app/components/base/base.component.html","./src/app/pages/admin/admin.component.ts","./src/app/pages/admin/admin.component.html","./src/app/pages/chat-bot/chat-bot.component.ts","./src/app/pages/dang-nhap/dang-nhap.component.ts","./src/app/pages/dang-nhap/dang-nhap.component.html","./src/app/pages/huong-dan/huong-dan.component.ts","./src/app/pages/login/login.component.ts","./src/app/pages/login/login.component.html","./src/app/pages/main/footer/footer.component.ts","./src/app/pages/main/footer/footer.component.html","./src/app/pages/main/header/header.component.ts","./src/app/pages/main/header/header.component.html","./src/app/pages/main/header/messages-dropdown-menu/messages-dropdown-menu.component.ts","./src/app/pages/main/header/messages-dropdown-menu/messages-dropdown-menu.component.html","./src/app/pages/main/header/notifications-dropdown-menu/notifications-dropdown-menu.component.ts","./src/app/pages/main/header/notifications-dropdown-menu/notifications-dropdown-menu.component.html","./src/app/pages/main/header/user-dropdown-menu/user-dropdown-menu.component.ts","./src/app/pages/main/header/user-dropdown-menu/user-dropdown-menu.component.html","./src/app/pages/main/main.component.ts","./src/app/pages/main/main.component.html","./src/app/pages/main/menu-sidebar/menu-sidebar.component.ts","./src/app/pages/main/menu-sidebar/menu-sidebar.component.html","./src/app/pages/portal/portal-footer/portal-footer.component.ts","./src/app/pages/portal/portal-footer/portal-footer.component.html","./src/app/pages/portal/portal-header/portal-header.component.ts","./src/app/pages/portal/portal-header/portal-header.component.html","./src/app/pages/portal/portal-header/portal-user-dropdown/portal-user-dropdown.component.ts","./src/app/pages/portal/portal-header/portal-user-dropdown/portal-user-dropdown.component.html","./src/app/pages/portal/portal-menu-sidebar/portal-menu-sidebar.component.ts","./src/app/pages/portal/portal-menu-sidebar/portal-menu-sidebar.component.html","./src/app/pages/portal/portal.component.ts","./src/app/pages/portal/portal.component.html","./src/app/pages/register/register.component.ts","./src/app/pages/register/register.component.html","./src/app/pages/set-submit-time/set-submit-time.component.ts","./src/app/pages/set-submit-time/set-submit-time.component.html","./src/app/pages/student-declaration/student-declaration.component.ts","./src/app/pages/student-declaration/student-declaration.component.html","./src/app/pages/xac-nhan/xac-nhan.component.ts","./src/app/pages/xac-nhan/xac-nhan.component.html","./src/app/utils/guards/auth.guard.ts","./src/app/utils/guards/non-auth.guard.ts","./src/app/utils/services/AdminDeclaration.service.ts","./src/app/utils/services/AdminSystem.service.ts","./src/app/utils/services/Student-Declaration.service.ts","./src/app/utils/services/acc.service.ts","./src/app/utils/services/app.service.ts","./src/app/utils/services/he.service.ts","./src/app/utils/services/web-socket.service.ts","./src/app/views/blank/blank.component.ts","./src/app/views/blank/blank.component.html","./src/app/views/profile/profile.component.ts","./src/app/views/profile/profile.component.html","./src/assets/canvasjs.angular.component.ts","./src/assets/canvasjs.min.js","./src/configuration.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":"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AAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;;AArDM,kCAAoB,GAAG,CAAC,CAAC;0EAD5B,aAAa;6FAAb,aAAa;QAFN,oEAAqC;;QAAhC,+FAAyB;;6FAErC,aAAa;cAJlB,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,uCAAuC;aAClD;;kBAQE,mDAAK;;kBAEL,mDAAK;;kBAGL,oDAAM;;AA6C0B;;;;;;;;;;;;ACrFnC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6CAA6C;AACxE;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC;AACjE;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,2BAA2B,0CAA0C;AACrE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU,OAAO,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iBAAiB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yIAAyI,EAAE;AAC3I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,OAAO;AACP,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,KAA6B;AAC/B;AACA,MAAM,KAA0C;AAChD,MAAM,iCAAO,EAAE,mCAAE;AACjB;AACA,OAAO;AAAA,oGAAC;AACR,OAAO,SAKyD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B,gDAAgD;AAC5E;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAc;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,kDAAkD;AAC9D;AACA,YAAY,0DAA0D;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qCAAqC;AACtE;AACA;AACA;AACA,6BAA6B,sCAAsC;AACnE;AACA;AACA;AACA,6BAA6B,qCAAqC;AAClE;AACA;AACA;AACA,6BAA6B,sCAAsC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,qBAAqB;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,sBAAsB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,+BAA+B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+BAA+B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,WAAW;AACvE,aAAa;AACb;AACA;AACA,6BAA6B,iCAAiC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,WAAW;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB;AAC9C;AACA,sDAAsD,WAAW;AACjE,6CAA6C,WAAW;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kDAAkD;AACrE;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oCAAoC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA,qCAAqC,4BAA4B;AACjE;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,QAAQ;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qCAAqC;AACxD;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA,mBAAmB,2CAA2C;AAC9D;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA,mBAAmB,2CAA2C;AAC9D;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;AACpD;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,iBAAiB,4CAA4C;AAC7D;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,iBAAiB,4CAA4C;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,qCAAqC,aAAa;AAClD,qCAAqC,aAAa;AAClD;AACA;AACA;AACA;AACA;AACA,qBAAqB,+CAA+C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,cAAc;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,0BAA0B,kBAAkB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kBAAkB;AAClD,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,0BAA0B,kBAAkB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kBAAkB;AAClD,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,cAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,cAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kDAAkD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kDAAkD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA,kCAAkC,qBAAqB;AACvD;AACA;AACA;AACA,8BAA8B,qBAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA,uBAAuB;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,kBAAkB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA,uBAAuB;AACvB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,cAAc;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,cAAc;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,6CAA6C;AAC5D;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,WAAW;AAC3E,uDAAuD,WAAW;AAClE,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,WAAW;AACvE,6DAA6D,WAAW;AACxE,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,8DAA8D,WAAW;AACzE,eAAe;AACf,mDAAmD,WAAW;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA,WAAW;AACX,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,WAAW;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA;AACA,oBAAoB,gDAAgD;AACpE;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA,4BAA4B,cAAc;AAC1C;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,qBAAqB;AACzD;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gBAAgB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,0BAA0B,KAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,2BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C,wCAAwC,oBAAoB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAkD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA,yDAAyD,cAAc;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA,+BAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAA4B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,8CAA8C;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wCAAwC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qDAAqD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4CAA4C;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA,uBAAuB,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,OAAO;AAC5E;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD,yBAAyB,mCAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,6BAA6B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,+CAA+C,OAAO;AACtD,qBAAqB,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,sEAAsE,OAAO;AAC7E,qBAAqB,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD;AACA;AACA;AACA,iEAAiE,OAAO;AACxE,iEAAiE,OAAO;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA,8DAA8D,OAAO;AACrE,8DAA8D,OAAO;AACrE;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,0BAA0B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,qBAAqB,mCAAmC;AACxD;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB,mCAAmC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uDAAuD;AACrE;AACA;AACA;AACA;AACA,yCAAyC,cAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,MAAM;AAC5D,0BAA0B,KAAK,cAAc,OAAO,EAAE;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,MAAM;AAC5D,0BAA0B,KAAK,cAAc,OAAO,EAAE,QAAQ,OAAO,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,MAAM;AAC5D,0BAA0B,KAAK,cAAc,OAAO,KAAK,QAAQ,KAAK;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,MAAM;AAC5D,0BAA0B,KAAK,yBAAyB,OAAO,KAAK,iBAAiB,MAAM,OAAO,KAAK,eAAe,MAAM,OAAO,KAAK,kBAAkB,OAAO,KAAK;AACtK;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,MAAM;AAC5D,0BAA0B,KAAK,4BAA4B,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,qBAAqB,KAAK;AAC1Y;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA,6BAA6B,MAAM,MAAM,EAAE;AAC3C,+BAA+B,OAAO,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA,6BAA6B,MAAM,MAAM,EAAE;AAC3C,+BAA+B,OAAO,EAAE,QAAQ,OAAO,EAAE;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA;AACA,sBAAsB,KAAK,cAAc,MAAM;AAC/C;AACA,sBAAsB,MAAM,cAAc,MAAM;AAChD;AACA,kBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA,6BAA6B,MAAM,MAAM,EAAE;AAC3C,gCAAgC,OAAO,KAAK,SAAS,KAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA,6BAA6B,MAAM,MAAM,EAAE;AAC3C,yCAAyC,OAAO,KAAK,iBAAiB,MAAM,OAAO,KAAK,gBAAgB,MAAM,MAAM,OAAO,KAAK,kBAAkB,OAAO,KAAK;AAC9J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA,6BAA6B,MAAM,MAAM,EAAE;AAC3C,4CAA4C,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,eAAe,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAK,qBAAqB,KAAK;AAC3X;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,aAAa;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,mBAAmB,uCAAuC;AAC1D;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,qBAAqB,uCAAuC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,kBAAkB,4BAA4B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB,gBAAgB,gBAAgB,YAAY,aAAa;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC,uBAAuB,OAAO;AAC9B,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB,cAAc;AACrC,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,2BAA2B,QAAQ;AACnC,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,YAAY;AACZ,YAAY;AACZ,WAAW,+BAA+B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,kCAAkC;AAClC;AACA,OAAO,qCAAqC,wBAAwB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB,OAAO,mBAAmB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,gBAAgB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,WAAW;AACzD;AACA,mCAAmC,cAAc,GAAG,kBAAkB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa,OAAO,UAAU,SAAS,YAAY,gBAAgB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACrmvBA;AAAA;AAAA;AAA+C;AAOxC,MAAM,SAAS,GAAG,IAAI,4DAAc,CACzC,oBAAoB,CACrB,CAAC;;;;;;;;;;;;;;;;;;;;ACT6C;AAEe;;;AAI9D,gCAAgC;AAChC,sBAAsB;AACtB,IAAI;AAEJ,2BAA2B;AAC3B,gCAAgC;AAChC,yCAAyC;AACzC,CAAC,GAAS,EAAE,CAAC;IACX,IAAI;QACF,MAAM,MAAM,GAAqB,MAAM,KAAK,CAC1C,2BAA2B,CAC5B,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5B,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,oEAAc,EAAE,CAAC;SAClB;QAED,0EAAuB,CAAC,EAAE,OAAO,EAAE,wDAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;4BAChD,CAAC,0DAAU;aAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACvC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;KACxC;AACH,CAAC,EAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AC9BL,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export class RequestBase {\r\n RequestID: number;\r\n UserName: string;\r\n}\r\n","import { RequestBase } from './RequestBase';\r\n\r\nexport class RequestLogin extends RequestBase {\r\n UserName: string;\r\n Password: string;\r\n UserCategory: number;\r\n}\r\n","export class ResponseBase {\r\n Status: number;\r\n Message: string;\r\n}\r\nexport interface LooseObject {\r\n [key: string]: any;\r\n}\r\n","import { ResponseBase } from './ResponseBase';\r\n\r\nexport class ResponseLogin extends ResponseBase {\r\n Token: string;\r\n Roles: any;\r\n Info: UserInfo;\r\n}\r\nexport class UserInfo {\r\n UserName: string;\r\n UserID: number;\r\n Email: string;\r\n FullName: string;\r\n DiaChi: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nimport { Buffer } from 'buffer';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExportService {\r\n constructor() {}\r\n fileType =\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n fileExtension = '.xlsx';\r\n\r\n public exportExcel(jsonData: any[], fileName: string): void {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(jsonData);\r\n const wb: XLSX.WorkBook = { Sheets: { data: ws }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(wb, {\r\n bookType: 'xlsx',\r\n type: 'array',\r\n });\r\n this.saveExcelFile(excelBuffer, fileName);\r\n }\r\n public exportExcelByte(input: any, fileName: string): void {\r\n let buff = new Buffer(input, 'base64');\r\n let text = buff.toString('ascii');\r\n const data: Blob = new Blob([buff], { type: this.fileType });\r\n FileSaver.saveAs(data, fileName + this.fileExtension);\r\n }\r\n public GetBase64(input: any, fileName: string): any {\r\n let buff = new Buffer(input, 'base64');\r\n return buff.toString('base64');\r\n }\r\n private saveExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: this.fileType });\r\n FileSaver.saveAs(data, fileName + this.fileExtension);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SystemService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n\r\n Get_danh_sach_dan_toc(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'DanToc/Danh_sach_dan_toc', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n Get_danh_sach_quoc_tich(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'QuocTich/Danh_sach_quoc_tich', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n Get_doituong_chinhsach(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'DoiTuong/Danh_sach_doi_tuong', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n Get_khuvuc_tuyensinh(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'KhuVuc/Danh_sach_khu_vuc', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Get_tinh(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'Tinh/Danh_sach_tinh', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { MainComponent } from './pages/main/main.component';\r\nimport { BlankComponent } from './views/blank/blank.component';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { RegisterComponent } from './pages/register/register.component';\r\nimport { DashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { AuthGuard } from './utils/guards/auth.guard';\r\nimport { NonAuthGuard } from './utils/guards/non-auth.guard';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DangNhapComponent } from './pages/dang-nhap/dang-nhap.component';\r\nimport { XacNhanComponent } from './pages/xac-nhan/xac-nhan.component';\r\nimport { PortalComponent } from './pages/portal/portal.component';\r\nimport { ChangePassComponent } from './pages/change-pass/change-pass.component';\r\nimport { StudentDeclarationComponent } from './pages/student-declaration/student-declaration.component';\r\nimport { AdminComponent } from './pages/admin/admin.component';\r\nimport { HuongDanComponent } from './pages/huong-dan/huong-dan.component';\r\nimport { SetSubmitTimeComponent } from './pages/set-submit-time/set-submit-time.component';\r\nconst routes: Routes = [\r\n {\r\n path: 'admin',\r\n component: MainComponent,\r\n canActivate: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n children: [\r\n {\r\n path: 'sinh-hoat-cong-dong',\r\n component: AdminComponent,\r\n },\r\n {\r\n path: 'thiet-lap',\r\n component: SetSubmitTimeComponent,\r\n },\r\n ],\r\n },\r\n {\r\n path: '',\r\n component: PortalComponent,\r\n canActivate: [AuthGuard],\r\n canActivateChild: [AuthGuard],\r\n children: [\r\n {\r\n path: 'sinh-hoat-cong-dong',\r\n component: StudentDeclarationComponent,\r\n },\r\n {\r\n path: 'huong-dan',\r\n component: HuongDanComponent,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n canActivate: [NonAuthGuard],\r\n },\r\n {\r\n path: 'dang-nhap',\r\n component: DangNhapComponent,\r\n canActivate: [NonAuthGuard],\r\n },\r\n\r\n {\r\n path: 'xac-nhan',\r\n component: XacNhanComponent,\r\n canActivate: [NonAuthGuard],\r\n },\r\n {\r\n path: 'register',\r\n component: RegisterComponent,\r\n canActivate: [NonAuthGuard],\r\n },\r\n { path: '**', redirectTo: '' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes), BrowserModule, HttpClientModule],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { ResponseLogin } from 'src/app/Models/output.model/ResponseLogin';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { Router } from '@angular/router';\r\n\r\nexport class common {\r\n public LoginResult: ResponseLogin;\r\n public PortalResult: any;\r\n public cookieService: CookieService;\r\n public CheckLogin() {\r\n this.LoginResult = new ResponseLogin();\r\n this.LoginResult = this.getUserinfo();\r\n if (this.LoginResult == null) {\r\n this.router.navigate(['/login']);\r\n }\r\n }\r\n public CheckLoginPortal() {\r\n this.LoginResult = new ResponseLogin();\r\n this.LoginResult = this.getPortalInfo();\r\n if (this.LoginResult == null) {\r\n this.router.navigate(['/dang-nhap']);\r\n }\r\n }\r\n constructor(private router: Router) {}\r\n public getUserinfo() {\r\n this.LoginResult = JSON.parse(localStorage.getItem('UserInfo'));\r\n return this.LoginResult;\r\n }\r\n public getPortalInfo() {\r\n this.LoginResult = JSON.parse(localStorage.getItem('PortalInfo'));\r\n return this.LoginResult;\r\n }\r\n login() {\r\n this.router.navigate(['/']);\r\n }\r\n logout() {\r\n localStorage.removeItem('UserInfo');\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent {\r\n title = 'UniDormitory';\r\n}\r\n","\r\n

Vui lòng chờ

\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { MainComponent } from './pages/main/main.component';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { HeaderComponent } from './pages/main/header/header.component';\r\nimport { FooterComponent } from './pages/main/footer/footer.component';\r\nimport { MenuSidebarComponent } from './pages/main/menu-sidebar/menu-sidebar.component';\r\nimport { BlankComponent } from './views/blank/blank.component';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { ProfileComponent } from './views/profile/profile.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RegisterComponent } from './pages/register/register.component';\r\nimport { DashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { MessagesDropdownMenuComponent } from './pages/main/header/messages-dropdown-menu/messages-dropdown-menu.component';\r\nimport { NotificationsDropdownMenuComponent } from './pages/main/header/notifications-dropdown-menu/notifications-dropdown-menu.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { DatePipe } from '@angular/common';\r\nimport {\r\n registerLocaleData,\r\n LocationStrategy,\r\n HashLocationStrategy,\r\n} from '@angular/common';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport { UserDropdownMenuComponent } from './pages/main/header/user-dropdown-menu/user-dropdown-menu.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DataTablesModule } from 'angular-datatables';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { DangNhapComponent } from './pages/dang-nhap/dang-nhap.component';\r\nimport { XacNhanComponent } from './pages/xac-nhan/xac-nhan.component';\r\nimport { PortalComponent } from './pages/portal/portal.component';\r\nimport { PortalFooterComponent } from './pages/portal/portal-footer/portal-footer.component';\r\nimport { PortalHeaderComponent } from './pages/portal/portal-header/portal-header.component';\r\nimport { PortalMenuSidebarComponent } from './pages/portal/portal-menu-sidebar/portal-menu-sidebar.component';\r\nimport { PortalUserDropdownComponent } from './pages/portal/portal-header/portal-user-dropdown/portal-user-dropdown.component';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { ChangePassComponent } from './pages/change-pass/change-pass.component';\r\nimport { BaseComponent } from './components/base/base.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { PortalKetQuaComponent } from './pages/portal/portal-ket-qua/portal-ket-qua.component';\r\nimport { ChatBotComponent } from './pages/chat-bot/chat-bot.component';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nregisterLocaleData(localeEn, 'en-EN');\r\nimport * as CanvasJSAngularChart from '../assets/canvasjs.angular.component';\r\nimport { StudentDeclarationComponent } from './pages/student-declaration/student-declaration.component';\r\nimport { AdminComponent } from './pages/admin/admin.component';\r\nimport { HuongDanComponent } from './pages/huong-dan/huong-dan.component';\r\nimport { SetSubmitTimeComponent } from './pages/set-submit-time/set-submit-time.component';\r\nvar CanvasJSChart = CanvasJSAngularChart.CanvasJSChart;\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n MainComponent,\r\n LoginComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n MenuSidebarComponent,\r\n BlankComponent,\r\n ProfileComponent,\r\n RegisterComponent,\r\n MessagesDropdownMenuComponent,\r\n NotificationsDropdownMenuComponent,\r\n UserDropdownMenuComponent,\r\n DangNhapComponent,\r\n XacNhanComponent,\r\n PortalComponent,\r\n PortalFooterComponent,\r\n PortalHeaderComponent,\r\n PortalMenuSidebarComponent,\r\n PortalUserDropdownComponent,\r\n BaseComponent,\r\n ChatBotComponent,\r\n CanvasJSChart,\r\n StudentDeclarationComponent,\r\n AdminComponent,\r\n HuongDanComponent,\r\n SetSubmitTimeComponent,\r\n ],\r\n imports: [\r\n NgxPaginationModule,\r\n CKEditorModule,\r\n HttpClientModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n DataTablesModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n NgxSpinnerModule,\r\n CKEditorModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n ToastrModule.forRoot({\r\n timeOut: 5000,\r\n positionClass: 'toast-top-center',\r\n preventDuplicates: true,\r\n }),\r\n NgbModule,\r\n HttpClientModule,\r\n FormsModule,\r\n NgSelectModule,\r\n Ng2SearchPipeModule,\r\n ],\r\n providers: [\r\n CookieService,\r\n { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n DatePipe,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { extend } from 'jquery';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { SystemService } from 'src/app/Utils/services/system.service';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { WebSocketService } from 'src/app/utils/services/web-socket.service';\r\nimport { AdminDeclarationService } from 'src/app/utils/services/AdminDeclaration.service';\r\nimport { AdminSystemService } from 'src/app/utils/services/AdminSystem.service';\r\nimport { StudentService } from 'src/app/utils/services/Student-Declaration.service';\r\nimport { LoadHeKhoaService } from 'src/app/utils/services/he.service';\r\n\r\nimport { ExportService } from 'src/app/Utils/services/export.service';\r\n@Component({\r\n selector: 'app-base',\r\n templateUrl: './base.component.html',\r\n styleUrls: ['./base.component.scss'],\r\n})\r\nexport class BaseComponent implements OnInit {\r\n constructor(\r\n @Inject(AppConfig)\r\n public readonly appConfig: AppConfiguration,\r\n public router: Router,\r\n public spinner: NgxSpinnerService,\r\n public SystemService: SystemService,\r\n public modalService: NgbModal,\r\n public toastr: ToastrService,\r\n private datePipe: DatePipe,\r\n public route: ActivatedRoute,\r\n public WebSocketService: WebSocketService,\r\n private fb: FormBuilder,\r\n private fromBuilder: FormBuilder,\r\n public AdminDeclarationService: AdminDeclarationService,\r\n public AdminSystemService: AdminSystemService,\r\n public StudentService: StudentService,\r\n public LoadHeKhoaService: LoadHeKhoaService,\r\n public ExportService: ExportService\r\n ) {}\r\n public arrNumberPage: any = [];\r\n arrNumberPage_chil: any = [];\r\n numberPage: any;\r\n page: any = 1;\r\n pages: any = 10000;\r\n public pageSizes1: any = 10000;\r\n public pageSize: any = 10;\r\n public pageSizes: any = [10, 20, 50, 100, 200, 500, 1000, 'Tất cả'];\r\n public daGui: any = [\r\n { id: 1, ten: 'Đã nộp' },\r\n { id: 0, ten: 'Chưa nộp' },\r\n { id: 2, ten: 'Tất cả' },\r\n ];\r\n public dataTable: any = [];\r\n public dataChecked: any = [];\r\n public dataCampus: any = [];\r\n public dataBuilding: any = [];\r\n public dataRoom: any = [];\r\n public dataQuyetDinh: any = [];\r\n public dataTypeRoom: any = [];\r\n public dataHe: any = [];\r\n public dataKhoa: any = [];\r\n public dataLop: any = [];\r\n dataBuildingChange: any;\r\n public com: common;\r\n public Token: any;\r\n ID_sv;\r\n public getNull = false;\r\n public totalItem: number;\r\n totalItemFilter: any;\r\n isDisplay: boolean = true;\r\n submitted = false;\r\n closeResult: string;\r\n dataPopup: any = {};\r\n ngOnInit(): void {}\r\n public getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n buttonFilter() {\r\n this.isDisplay = !this.isDisplay;\r\n }\r\n\r\n changeCampusRep(id) {\r\n this.dataBuildingChange = this.dataBuildingChange.filter((x) => {\r\n return x.ID_CoSo == id;\r\n });\r\n }\r\n checkAllCheckBox(ev) {\r\n this.dataTable.forEach((x) => (x.checked = ev.target.checked));\r\n }\r\n isAllCheckBoxChecked() {\r\n if (this.dataTable != undefined)\r\n return this.dataTable.every((p) => p.checked);\r\n }\r\n test() {\r\n this.dataChecked = this.dataTable.filter((x) => x.checked == true);\r\n }\r\n createNumberPage(totalItem, pageSize) {\r\n let numberPage = 0;\r\n let arrNumberPage = [];\r\n if (totalItem % pageSize == 0) {\r\n numberPage = Math.floor(totalItem / pageSize);\r\n } else {\r\n numberPage = Math.floor(totalItem / pageSize) + 1;\r\n }\r\n for (var i = 1; i <= numberPage; i++) {\r\n arrNumberPage.push(i);\r\n }\r\n let arrNumberPage_chil = [];\r\n if (arrNumberPage.length > 4) {\r\n for (var i = 1; i <= 4; i++) {\r\n arrNumberPage_chil.push(i);\r\n }\r\n } else {\r\n arrNumberPage_chil = arrNumberPage;\r\n }\r\n return {\r\n numberPage: numberPage,\r\n arrNumberPage_chil: arrNumberPage_chil,\r\n };\r\n }\r\n handlePageChange(event) {\r\n if (event == 'pre') {\r\n this.page = this.page - 1;\r\n } else if (event == 'next') {\r\n this.page = this.page + 1;\r\n } else {\r\n this.page = event;\r\n this.arrNumberPage_chil = [];\r\n for (var i = event - 3; i <= event + 3; i++) {\r\n if (i > 0 && i <= this.numberPage) {\r\n this.arrNumberPage_chil.push(i);\r\n }\r\n }\r\n }\r\n }\r\n xoa_dau(str) {\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ|ị/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, 'A');\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, 'E');\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, 'I');\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, 'O');\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, 'U');\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, 'Y');\r\n str = str.replace(/Đ/g, 'D');\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, ''); // huyền, sắc, hỏi, ngã, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, ''); // mũ â (ê), mũ ă, mũ ơ (ư)\r\n return str;\r\n }\r\n\r\n getToken() {\r\n this.com = new common(this.router);\r\n this.com.CheckLogin();\r\n var a = this.com.getUserinfo();\r\n this.Token = a.Token;\r\n this.ID_sv = a.Info.UserID;\r\n }\r\n getTokenSV() {\r\n this.com = new common(this.router);\r\n this.com.CheckLoginPortal();\r\n var a = this.com.getPortalInfo();\r\n this.Token = a.Token;\r\n this.ID_sv = a.Info.UserID;\r\n }\r\n}\r\n","

base works!

\r\n","import { filter } from 'rxjs/operators';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { BaseComponent } from 'src/app/components/base/base.component';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Alert } from 'selenium-webdriver';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.scss'],\r\n})\r\nexport class AdminComponent extends BaseComponent implements OnInit {\r\n minDate = '';\r\n ID_sv: any;\r\n Ma_sv = '';\r\n Ho_ten = '';\r\n Sdt = '';\r\n Khoa_hoc = '';\r\n ID_he = '';\r\n ID_khoa = '';\r\n ID_lop = '';\r\n Status = 2;\r\n dataStudent;\r\n dataLopAll = [];\r\n ngOnInit(): void {\r\n this.getToken();\r\n //this.getList();\r\n this.getCount();\r\n this.GetHe();\r\n }\r\n getCount() {\r\n this.AdminDeclarationService.Count(this.Token).subscribe((z) => {\r\n this.totalItem = z == null ? 0 : z;\r\n });\r\n }\r\n GetHe() {\r\n this.LoadHeKhoaService.LoadHe(this.Token).subscribe((x) => {\r\n this.dataHe = x;\r\n this.LoadHeKhoaService.LoadKhoa(this.Token).subscribe((x) => {\r\n this.dataKhoa = x;\r\n this.LoadHeKhoaService.LoadLop(this.Token).subscribe((x) => {\r\n this.dataLop = x;\r\n this.dataLopAll = x;\r\n });\r\n });\r\n });\r\n }\r\n getListLop() {\r\n if (this.ID_khoa != null && this.ID_khoa != '') {\r\n this.dataLop = this.dataLopAll.filter((c) => c.ID_khoa == this.ID_khoa);\r\n } else {\r\n this.dataLop = this.dataLopAll;\r\n }\r\n }\r\n getList() {\r\n this.spinner.show();\r\n this.arrNumberPage = [];\r\n this.arrNumberPage_chil = [];\r\n let param = {\r\n PageSize: this.pageSize,\r\n Page: this.page,\r\n Ma_sv: this.Ma_sv,\r\n Ho_ten: this.Ho_ten,\r\n ID_he: this.ID_he,\r\n ID_khoa: this.ID_khoa,\r\n Khoa_hoc: this.Khoa_hoc,\r\n ID_lop: this.ID_lop,\r\n Da_gui: this.Status,\r\n };\r\n if (this.ID_khoa != null && this.ID_khoa != '') {\r\n this.dataLop = this.dataLopAll.filter((c) => c.ID_khoa == this.ID_khoa);\r\n } else {\r\n this.dataLop = this.dataLopAll;\r\n }\r\n this.AdminDeclarationService.Load(param, this.Token).subscribe((z) => {\r\n if (z.Status == 10) {\r\n this.toastr.warning(\r\n 'Bạn không có quyền sử dụng chức năng này, vui lòng liên hệ với quản trị viên để được hỗ trợ!'\r\n );\r\n this.router.navigate(['/admin']);\r\n this.spinner.hide();\r\n } else {\r\n this.dataTable = z;\r\n this.AdminDeclarationService.CounFilter(param, this.Token).subscribe(\r\n (z) => {\r\n this.totalItemFilter = z == null ? 0 : z;\r\n this.numberPage = this.createNumberPage(\r\n z == null ? 0 : z,\r\n this.pageSize\r\n ).numberPage;\r\n this.arrNumberPage_chil = this.createNumberPage(\r\n z == null ? 0 : z,\r\n this.pageSize\r\n ).arrNumberPage_chil;\r\n this.spinner.hide();\r\n }\r\n );\r\n }\r\n });\r\n }\r\n refesh() {\r\n this.Ma_sv = '';\r\n this.Ho_ten = '';\r\n this.Sdt = '';\r\n this.Khoa_hoc = '';\r\n this.Status = 2;\r\n this.getList();\r\n }\r\n handlePageSizeChange(event) {\r\n if (event.target.value == 'Tất cả') {\r\n this.pageSize = 100000;\r\n } else {\r\n this.pageSize = event.target.value;\r\n }\r\n this.getList();\r\n }\r\n changPage(event) {\r\n this.handlePageChange(event);\r\n this.spinner.show();\r\n let dataFilter = {\r\n PageSize: this.pageSize,\r\n Page: this.page,\r\n };\r\n if (true) {\r\n }\r\n let param = {\r\n PageSize: this.pageSize,\r\n Page: this.page,\r\n Ma_sv: this.Ma_sv,\r\n Ho_ten: this.Ho_ten,\r\n ID_he: this.ID_he,\r\n ID_khoa: this.ID_khoa,\r\n Khoa_hoc: this.Khoa_hoc,\r\n ID_lop: this.ID_lop,\r\n Da_gui: this.Status,\r\n };\r\n this.AdminDeclarationService.Load(param, this.Token).subscribe((z) => {\r\n if (z.Status == 10) {\r\n this.toastr.warning(\r\n 'Bạn không có quyền sử dụng chức năng này, vui lòng liên hệ với quản trị viên để được hỗ trợ!'\r\n );\r\n } else {\r\n this.dataTable = z;\r\n this.spinner.hide();\r\n }\r\n });\r\n }\r\n open(content, sizm, type, Data) {\r\n if (type == 'Detail') {\r\n this.ID_sv = Data.ID_sv;\r\n this.submitted = false;\r\n this.modalService\r\n .open(content, { ariaLabelledBy: 'modal-basic-title', size: sizm })\r\n .result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n }\r\n );\r\n this.StudentService.GetAll(Data.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n } else {\r\n var current = new Date(new Date().setHours(new Date().getHours() + 24));\r\n this.minDate = new Date(current).toISOString().slice(0, 10);\r\n this.submitted = false;\r\n this.modalService\r\n .open(content, { ariaLabelledBy: 'modal-basic-title', size: sizm })\r\n .result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n }\r\n );\r\n }\r\n }\r\n Accept() {\r\n if (confirm('Bạn có chắn chắn muốn Từ chối duyệt hoạt động này')) {\r\n var param = {\r\n ID_sv: this.ID_sv,\r\n Trang_thai: 1,\r\n };\r\n this.AdminDeclarationService.MultiUpdateStatus(\r\n param,\r\n this.Token\r\n ).subscribe((z) => {\r\n if (z.Status == 2) {\r\n this.toastr.success(z.Message);\r\n } else if (z.Status == 1) {\r\n this.toastr.success(z.Message);\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n });\r\n }\r\n }\r\n Refuse() {\r\n if (confirm('Bạn có chắn chắn muốn Từ chối duyệt hoạt động này')) {\r\n var param = {\r\n ID_sv: this.ID_sv,\r\n Trang_thai: 2,\r\n };\r\n this.AdminDeclarationService.MultiUpdateStatus(\r\n param,\r\n this.Token\r\n ).subscribe((z) => {\r\n if (z.Status == 1) {\r\n this.toastr.success('Từ chối duyệt thành công!');\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n });\r\n }\r\n }\r\n Save() {\r\n if (confirm('Bạn có chắn chắn muốn lưu điểm')) {\r\n this.AdminDeclarationService.UpdateDiem(\r\n this.dataStudent,\r\n this.Token\r\n ).subscribe((z) => {\r\n if (z.Status == 1) {\r\n this.toastr.success('Lưu điểm thành công!');\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n });\r\n }\r\n }\r\n changeDiem(value, index) {\r\n this.dataStudent[index].Diem_hoi_dong = value;\r\n }\r\n ExportExcel() {\r\n this.spinner.show();\r\n let param = {\r\n PageSize: this.pageSize,\r\n Page: this.page,\r\n Ma_sv: this.Ma_sv,\r\n Ho_ten: this.Ho_ten,\r\n ID_he: this.ID_he,\r\n ID_khoa: this.ID_khoa,\r\n Khoa_hoc: this.Khoa_hoc,\r\n ID_lop: this.ID_lop,\r\n Da_gui: this.Status,\r\n };\r\n this.AdminDeclarationService.Export(param, this.Token).subscribe((z) => {\r\n if (z.Status == 1) {\r\n this.ExportService.exportExcelByte(\r\n z.FileData,\r\n 'BaoCaoSinhHoatCongDong'\r\n );\r\n this.toastr.success('File đã được tải xuống', 'Thao tác thành công');\r\n this.getList();\r\n } else {\r\n this.toastr.error(z.Message, 'Thao tác thất bại');\r\n }\r\n });\r\n }\r\n ExportExcelChiTiet() {\r\n this.spinner.show();\r\n let param = {\r\n PageSize: this.pageSize,\r\n Page: this.page,\r\n Ma_sv: this.Ma_sv,\r\n Ho_ten: this.Ho_ten,\r\n ID_he: this.ID_he,\r\n ID_khoa: this.ID_khoa,\r\n Khoa_hoc: this.Khoa_hoc,\r\n ID_lop: this.ID_lop,\r\n };\r\n this.AdminDeclarationService.ExportChiTiet(param, this.Token).subscribe(\r\n (z) => {\r\n if (z.Status == 1) {\r\n this.ExportService.exportExcelByte(\r\n z.FileData,\r\n 'BaoCaoSinhHoatCongDongChiTiet'\r\n );\r\n this.toastr.success('File đã được tải xuống', 'Thao tác thành công');\r\n this.getList();\r\n } else {\r\n this.toastr.error(z.Message, 'Thao tác thất bại');\r\n }\r\n }\r\n );\r\n }\r\n chonall() {\r\n if ($('#checkboxall').prop('checked')) {\r\n for (let index = 0; index < this.dataTable.length; index++) {\r\n this.dataTable[index].Selected = true;\r\n }\r\n } else {\r\n for (let index = 0; index < this.dataTable.length; index++) {\r\n this.dataTable[index].Selected = false;\r\n }\r\n }\r\n // var table = $('#maindata').DataTable().rows({ filter: 'applied' }).data();\r\n // var length = table.rows({ filter: 'applied' }).nodes().length;\r\n // var lstID = [];\r\n // for (var i = 0; i < length; i++) {\r\n // var ID_sinh_hoat_cong_dong = parseInt(table[i][1]);\r\n // lstID.push(ID_sinh_hoat_cong_dong);\r\n // }\r\n // for (let index = 0; index < this.dataStudent.length; index++) {\r\n // if (lstID.includes(this.dataStudent[index].ID_sinh_hoat_cong_dong)) {\r\n // this.dataStudent[index].Selected = $('#SelectALL').prop('checked');\r\n // }\r\n // }\r\n }\r\n SelectRow(ID_sv) {\r\n for (let index = 0; index < this.dataTable.length; index++) {\r\n if (this.dataTable[index].ID_sv == ID_sv) {\r\n if ($('#checkbox' + ID_sv).prop('checked')) {\r\n {\r\n this.dataTable[index].Selected = true;\r\n }\r\n } else {\r\n this.dataTable[index].Selected = false;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n AcceptDetail(req) {\r\n req = {\r\n ID_sinh_hoat_cong_dong: req.ID_sinh_hoat_cong_dong,\r\n Trang_thai: 1,\r\n };\r\n this.AdminDeclarationService.UpdateStatus(req, this.Token).subscribe(\r\n (z) => {\r\n if (z.Status == 1) {\r\n this.toastr.success('Duyệt thành công!');\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n //this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n }\r\n );\r\n }\r\n RefuseDetail(req) {\r\n if (req.Trang_thai == 1) {\r\n this.toastr.warning('Hoạt động đã duyệt không được từ chối');\r\n return false;\r\n }\r\n req = {\r\n ID_sinh_hoat_cong_dong: req.ID_sinh_hoat_cong_dong,\r\n Trang_thai: 2,\r\n };\r\n this.AdminDeclarationService.UpdateStatus(req, this.Token).subscribe(\r\n (z) => {\r\n if (z.Status == 1) {\r\n this.toastr.success('Hủy duyệt thành công!');\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.dataStudent = z.Data;\r\n });\r\n //this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n }\r\n );\r\n }\r\n HuyDuyetDeXuat_ListID() {\r\n var dt = jQuery.grep(this.dataStudent, function (pa: any, i) {\r\n return pa;\r\n });\r\n let req = [];\r\n for (var i = 0; i < dt.length; i++) {\r\n req.push({\r\n ID_sinh_hoat_cong_dong: dt[i].ID_sinh_hoat_cong_dong,\r\n Trang_thai: 2,\r\n });\r\n }\r\n this.com.CheckLogin();\r\n var a = this.com.getUserinfo();\r\n this.AdminDeclarationService.MultiUpdateStatus(req, a.Token).subscribe(\r\n (z) => {\r\n if (z.Status == 2) {\r\n this.toastr.success(z.Message);\r\n } else if (z.Status == 1) {\r\n this.toastr.success(z.Message);\r\n this.modalService.dismissAll('');\r\n this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n }\r\n );\r\n }\r\n GetStringID(m) {\r\n var rs = '';\r\n for (var k = 0; k < m.length; k++) {\r\n if (k == 0) {\r\n rs += m[k].ID_de_xuat;\r\n } else {\r\n rs += ',' + m[k].ID_de_xuat;\r\n }\r\n }\r\n return rs;\r\n }\r\n\r\n Action = new FormGroup({\r\n Thoi_gian: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n });\r\n onSubmit() {\r\n this.submitted = true;\r\n if (this.Action.invalid) {\r\n return false;\r\n }\r\n if (confirm('Bạn có chắn chắn muốn gia hạn thời gian')) {\r\n var time = this.Action.controls.Thoi_gian.value;\r\n this.modalService.dismissAll('AddModal');\r\n var rep = [];\r\n this.dataTable.forEach((element) => {\r\n if (element.Selected == true) {\r\n rep.push({ ID_sv: element.ID_sv, Den_ngay: time });\r\n }\r\n });\r\n this.AdminSystemService.InsertGiaHanList(rep, this.Token).subscribe(\r\n (z) => {\r\n if (z.Status == 1) {\r\n $('#checkboxall').prop('checked', false);\r\n this.toastr.success('Gia hạn thành công!');\r\n this.getList();\r\n } else {\r\n this.toastr.warning(z.Message);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n get checkvalue() {\r\n return this.Action.controls;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Chọn hệ\r\n {{\r\n p.Ten_he\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n Chọn khoa\r\n {{\r\n p.Ten_khoa\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Chọn lớp\r\n {{\r\n p.Ten_lop\r\n }}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{\r\n p.ten\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n

Chi tiết hoạt động

\r\n ×\r\n \r\n
\r\n
\r\n \r\n \r\n Lưu\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tên hoạt độngMô tảThời gianĐiểmĐiểm hội đồngGhi chúMinh chứngTrạng tháiThao tác
{{ data.Ten_hoat_dong }}{{ data.Mo_ta }}{{ data.Thoi_gian }}{{ data.Diem }}\r\n {{ data.Diem_hoi_dong }}\r\n \r\n \r\n \r\n \r\n \r\n

Khởi tạo

\r\n
\r\n

Đã duyệt

\r\n
\r\n

Từ chối

\r\n
\r\n

Đã sửa

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Không có kết quả
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n \r\n

Gia hạn

\r\n ×\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Thời gian không được bỏ trống!\r\n
\r\n
\r\n Thời gian tối đa 100 ký tự!\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Đóng\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormControl } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AfterViewInit } from '@angular/core';\r\nimport { Renderer2 } from '@angular/core';\r\ndeclare var $: any;\r\n\r\nvar messages = [], //array that hold the record of each string in chat\r\n lastUserMessage = '', //keeps track of the most recent input string from the user\r\n botMessage = '', //var keeps track of what the chatbot is going to say\r\n botName = 'ChatBOT', //name of the chatbot\r\n talking = true; //when false the speach function doesn't work\r\nfunction chatbotResponse() {\r\n talking = true;\r\n botMessage = 'Bạn cần nhập đúng lựa chọn !'; //the default message\r\n if (lastUserMessage === '1' || lastUserMessage.toLowerCase() == 'mot') {\r\n const sdt = [\r\n 'Điện thoại hỗ trợ: ',\r\n '0943.665.522',\r\n 'Email tiếp nhận yêu cầu:',\r\n 'b.ktx@hnue.edu.vn',\r\n ];\r\n botMessage =\r\n sdt[0] +\r\n '
' +\r\n \"
\" +\r\n sdt[1] +\r\n '' +\r\n '
' +\r\n sdt[2] +\r\n '
' +\r\n \"\" +\r\n sdt[3] +\r\n '';\r\n }\r\n if (lastUserMessage === '2' || lastUserMessage.toLowerCase() == 'hai') {\r\n const linkHD = [\r\n 'http://thienan.vn/chitiet/video-huong-dan-su-dung-phan-mem/huong-dan-su-dung-phan-mem-quan-ly-dao-tao-phan-he-quan-ly-sinh-vien',\r\n ];\r\n botMessage = linkHD[0];\r\n }\r\n if (\r\n lastUserMessage.toLowerCase() === 'name' ||\r\n lastUserMessage.toLowerCase() == 'ten' ||\r\n lastUserMessage.toLowerCase() == 'tên'\r\n ) {\r\n botMessage = 'My name is ' + botName;\r\n }\r\n}\r\n\r\n//runs the keypress() function when a key is pressed\r\ndocument.onkeypress = keyPress;\r\n//if the key pressed is 'enter' runs the function newEntry()\r\nfunction keyPress(e) {\r\n var x = e || window.event;\r\n var key = x.keyCode || x.which;\r\n if (key == 13 || key == 3) {\r\n //runs this function when enter is pressed\r\n // newEntry();\r\n }\r\n if (key == 38) {\r\n //document.getElementById(\"chatbox\").value = lastUserMessage;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-chat-bot',\r\n templateUrl: './chat-bot.component.html',\r\n styleUrls: ['./chat-bot.component.scss'],\r\n})\r\nexport class ChatBotComponent implements OnInit, AfterViewInit {\r\n Token: any;\r\n\r\n public com: common;\r\n UserName_get: any;\r\n FullName_get: any;\r\n form = new FormGroup({\r\n myInput: new FormControl(''),\r\n });\r\n\r\n constructor(\r\n public router: Router,\r\n private titleService: Title,\r\n private http: HttpClient,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.com = new common(this.router);\r\n this.com.CheckLoginPortal();\r\n var a = this.com.getPortalInfo();\r\n this.UserName_get = a.Info.UserName;\r\n this.FullName_get = a.Info.FullName;\r\n this.Token = a.Token;\r\n }\r\n clickComment() {\r\n $('.chatbox-popup').fadeToggle();\r\n }\r\n closePopUp() {\r\n $('.chatbox-popup').fadeOut();\r\n }\r\n zoomOutPopUp() {\r\n $('.chatbox-popup__main').css('height', '50vh');\r\n $('.chatbox-zoomOut').css('display', 'none');\r\n $('.chatbox-zoomIn').css('display', 'block');\r\n }\r\n zoomInPopUp() {\r\n $('.chatbox-popup__main').css('height', '300px');\r\n $('.chatbox-zoomOut').css('display', 'block');\r\n $('.chatbox-zoomIn').css('display', 'none');\r\n }\r\n ngAfterViewInit() {\r\n // setTimeout(() => {\r\n // var elem = this.renderer.selectRootElement('#chatbox');\r\n // elem.focus();\r\n // }, 1000);\r\n }\r\n\r\n focusMyInput() {\r\n var ampm = new Date().getHours() >= 12 ? 'pm' : 'am';\r\n var strTime =\r\n new Date().getHours() +\r\n ':' +\r\n new Date().getMinutes() +\r\n ':' +\r\n new Date().getSeconds() +\r\n ' ' +\r\n ampm;\r\n this.renderer.selectRootElement('#chatbox').focus();\r\n if (this.form.value.myInput != '') {\r\n lastUserMessage = this.xoa_dau(this.form.value.myInput.toLowerCase());\r\n this.form.value.myInput = '';\r\n messages.push(\r\n '
' +\r\n '
' +\r\n '
' +\r\n '' +\r\n this.UserName_get +\r\n '' +\r\n ' ' +\r\n strTime +\r\n '' +\r\n '
' +\r\n ' \"Message' +\r\n '
' +\r\n lastUserMessage +\r\n '
' +\r\n '
'\r\n );\r\n chatbotResponse();\r\n if (lastUserMessage == '2' || lastUserMessage == 'hai') {\r\n messages.push(\r\n '
' +\r\n '
' +\r\n '' +\r\n botName +\r\n '' +\r\n '' +\r\n strTime +\r\n '' +\r\n '
' +\r\n ' \"Message' +\r\n '
' +\r\n \"\" +\r\n botMessage +\r\n '' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n } else {\r\n // messages.push(\"\" + botName + \": \" + botMessage);\r\n messages.push(\r\n '
' +\r\n '
' +\r\n '' +\r\n botName +\r\n '' +\r\n '' +\r\n strTime +\r\n '' +\r\n '
' +\r\n ' \"Message' +\r\n '
' +\r\n botMessage +\r\n '
' +\r\n '
' +\r\n ''\r\n );\r\n }\r\n for (var i = 1; i < 8; i++) {\r\n if (messages[messages.length - i])\r\n document.getElementById('chatlog' + i).innerHTML =\r\n messages[messages.length - i];\r\n }\r\n $('.chatbox-popup__main').scrollTop(\r\n $('.chatbox-popup__main')[0].scrollHeight\r\n );\r\n }\r\n this.form.reset();\r\n }\r\n\r\n xoa_dau(str) {\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, 'a');\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, 'e');\r\n str = str.replace(/ì|í|ị|ỉ|ĩ|ị/g, 'i');\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, 'o');\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, 'u');\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, 'y');\r\n str = str.replace(/đ/g, 'd');\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, 'A');\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, 'E');\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, 'I');\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, 'O');\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, 'U');\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, 'Y');\r\n str = str.replace(/Đ/g, 'D');\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, ''); // huyền, sắc, hỏi, ngã, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, ''); // mũ â (ê), mũ ă, mũ ơ (ư)\r\n return str;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { AccService } from 'src/app/utils/services/acc.service';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { RequestBase } from 'src/app/Models/input.model/RequestBase';\r\nimport { RequestLogin } from 'src/app/Models/input.model/RequestLogin';\r\nimport { ResponseLogin } from 'src/app/Models/output.model/ResponseLogin';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-dang-nhap',\r\n templateUrl: './dang-nhap.component.html',\r\n styleUrls: ['./dang-nhap.component.scss', './main.css'],\r\n})\r\nexport class DangNhapComponent implements OnInit {\r\n public loginForm: FormGroup;\r\n public m: RequestLogin;\r\n public LoginResult: ResponseLogin;\r\n constructor(\r\n private renderer: Renderer2,\r\n private toastr: ToastrService,\r\n private appService: AppService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private spinner: NgxSpinnerService,\r\n private Acc: AccService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.renderer.addClass(document.body, 'login-page');\r\n this.m = new RequestLogin();\r\n this.cookieService.deleteAll;\r\n this.LoginResult = new ResponseLogin();\r\n this.loginForm = new FormGroup({\r\n UserName: new FormControl(null, Validators.required),\r\n Password: new FormControl(null),\r\n });\r\n // this.loginForm.controls.UserName.setValue('aaaaaaa')\r\n }\r\n\r\n Ridrect() {\r\n this.appService.login();\r\n }\r\n logIn() {\r\n if (this.loginForm.valid) {\r\n this.m.UserName = this.loginForm.controls.UserName.value;\r\n this.m.Password = this.loginForm.controls.Password.value;\r\n let req = {\r\n UserName: this.m.UserName.split(' ').join(''),\r\n Password: this.m.Password,\r\n UserCategory: 3,\r\n };\r\n this.spinner.show();\r\n this.Acc.Login(req).subscribe((z) => {\r\n this.spinner.hide();\r\n if (z.Status == 1) {\r\n localStorage.setItem('PortalInfo', JSON.stringify(z));\r\n this.appService.loginPortal();\r\n } else {\r\n this.toastr.error(z.Message, 'Tác vụ thất bại');\r\n localStorage.removeItem('PortalInfo');\r\n }\r\n });\r\n } else {\r\n this.toastr.error('Vui lòng nhập đầy đủ thông tin', 'Tác vụ thất bại');\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.renderer.removeClass(document.body, 'login-page');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n Đăng nhập cổng sinh hoạt cộng đồng\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Đăng nhập\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-huong-dan',\r\n templateUrl: './huong-dan.component.html',\r\n styleUrls: ['./huong-dan.component.scss'],\r\n})\r\nexport class HuongDanComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Renderer2,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { AccService } from 'src/app/utils/services/acc.service';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { RequestBase } from 'src/app/Models/input.model/RequestBase';\r\nimport { RequestLogin } from 'src/app/Models/input.model/RequestLogin';\r\nimport { ResponseLogin } from 'src/app/Models/output.model/ResponseLogin';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss', './main.css'],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n public loginForm: FormGroup;\r\n public m: RequestLogin;\r\n public LoginResult: ResponseLogin;\r\n constructor(\r\n private renderer: Renderer2,\r\n private toastr: ToastrService,\r\n private appService: AppService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private spinner: NgxSpinnerService,\r\n private Acc: AccService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.renderer.addClass(document.body, 'login-page');\r\n this.m = new RequestLogin();\r\n this.cookieService.deleteAll;\r\n this.LoginResult = new ResponseLogin();\r\n this.loginForm = new FormGroup({\r\n UserName: new FormControl(null, Validators.required),\r\n Password: new FormControl(null, Validators.required),\r\n });\r\n // this.loginForm.controls.UserName.setValue('aaaaaaa')\r\n }\r\n\r\n Ridrect() {\r\n this.appService.login();\r\n }\r\n logIn() {\r\n if (this.loginForm.valid) {\r\n this.m.UserName = this.loginForm.controls.UserName.value;\r\n this.m.Password = this.loginForm.controls.Password.value;\r\n let req = {\r\n UserName: this.m.UserName,\r\n Password: this.m.Password,\r\n UserCategory: 1,\r\n ID_ph: 15,\r\n };\r\n this.spinner.show();\r\n this.Acc.Login(req).subscribe((z) => {\r\n this.spinner.hide();\r\n if (z.Status == 1) {\r\n localStorage.setItem('UserInfo', JSON.stringify(z));\r\n this.appService.login();\r\n } else {\r\n this.toastr.error(z.Message, 'Tác vụ thất bại');\r\n localStorage.removeItem('UserInfo');\r\n }\r\n });\r\n } else {\r\n this.toastr.error('Vui lòng nhập đầy đủ thông tin', 'Tác vụ thất bại');\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.renderer.removeClass(document.body, 'login-page');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n Sinh hoạt cộng đồng\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Đăng nhập\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { version } from './../../../../../package.json';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n public appVersion = version;\r\n\r\n version: any;\r\n versionDetail: any;\r\n constructor(private http: HttpClient) {}\r\n\r\n ngOnInit() {\r\n this.http.get('assets/version.json').subscribe((data) => {\r\n this.version = data.version;\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { BaseComponent } from 'src/app/components/base/base.component';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Output() toggleMenuSidebar: EventEmitter = new EventEmitter();\r\n public searchForm: FormGroup;\r\n\r\n constructor(\r\n private appService: AppService,\r\n @Inject(AppConfig)\r\n public readonly appConfig: AppConfiguration\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.searchForm = new FormGroup({\r\n search: new FormControl(null),\r\n });\r\n }\r\n\r\n logout() {\r\n this.appService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-messages-dropdown-menu',\r\n templateUrl: './messages-dropdown-menu.component.html',\r\n styleUrls: ['./messages-dropdown-menu.component.scss'],\r\n})\r\nexport class MessagesDropdownMenuComponent implements OnInit {\r\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.hideDropdownMenu();\r\n }\r\n }\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnInit() {}\r\n\r\n toggleDropdownMenu() {\r\n if (this.dropdownMenu.nativeElement.classList.contains('show')) {\r\n this.hideDropdownMenu();\r\n } else {\r\n this.showDropdownMenu();\r\n }\r\n }\r\n\r\n showDropdownMenu() {\r\n this.renderer.addClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n hideDropdownMenu() {\r\n this.renderer.removeClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n}\r\n","
  • \r\n \r\n \r\n 3\r\n \r\n \r\n
  • \r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n HostListener,\r\n ElementRef,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-notifications-dropdown-menu',\r\n templateUrl: './notifications-dropdown-menu.component.html',\r\n styleUrls: ['./notifications-dropdown-menu.component.scss'],\r\n})\r\nexport class NotificationsDropdownMenuComponent implements OnInit {\r\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.hideDropdownMenu();\r\n }\r\n }\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnInit() {}\r\n\r\n toggleDropdownMenu() {\r\n if (this.dropdownMenu.nativeElement.classList.contains('show')) {\r\n this.hideDropdownMenu();\r\n } else {\r\n this.showDropdownMenu();\r\n }\r\n }\r\n\r\n showDropdownMenu() {\r\n this.renderer.addClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n hideDropdownMenu() {\r\n this.renderer.removeClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n}\r\n","
  • \r\n \r\n \r\n 15\r\n \r\n \r\n
  • \r\n\r\n\r\n \r\n 4 new messages\r\n 3 mins\r\n \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router } from '@angular/router';\r\nimport { RequestBase } from 'src/app/Models/input.model/RequestBase';\r\nimport { ToastrService } from 'ngx-toastr';\r\n@Component({\r\n selector: 'app-user-dropdown-menu',\r\n templateUrl: './user-dropdown-menu.component.html',\r\n styleUrls: ['./user-dropdown-menu.component.scss'],\r\n})\r\nexport class UserDropdownMenuComponent implements OnInit {\r\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.hideDropdownMenu();\r\n }\r\n }\r\n requestObject: RequestBase = new RequestBase();\r\n com: common;\r\n UnReadNum: number;\r\n MessageLst: [];\r\n UserName: string = 'Đang lấy dữ liệu...';\r\n constructor(\r\n public elementRef: ElementRef,\r\n public renderer: Renderer2,\r\n public router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.com = new common(this.router);\r\n var User = this.com.getUserinfo();\r\n this.UserName = User.Info.FullName;\r\n }\r\n\r\n toggleDropdownMenu() {\r\n if (this.dropdownMenu.nativeElement.classList.contains('show')) {\r\n this.hideDropdownMenu();\r\n } else {\r\n this.showDropdownMenu();\r\n }\r\n }\r\n\r\n showDropdownMenu() {\r\n this.renderer.addClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n hideDropdownMenu() {\r\n this.renderer.removeClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n}\r\n","
  • \r\n \r\n \r\n \r\n
    \r\n {{ UserName }}\r\n Đổi mật khẩu\r\n
    \r\n
  • \r\n","import {\r\n AfterViewInit,\r\n Component,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './main.component.html',\r\n styleUrls: ['./main.component.scss'],\r\n})\r\nexport class MainComponent implements OnInit, AfterViewInit {\r\n public sidebarMenuOpened = true;\r\n @ViewChild('contentWrapper', { static: false }) contentWrapper;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n public router: Router,\r\n private titleService: Title\r\n ) {}\r\n public com: common;\r\n ngOnInit() {\r\n this.com = new common(this.router);\r\n this.com.CheckLogin();\r\n this.renderer.removeClass(document.querySelector('app-root'), 'login-page');\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'register-page'\r\n );\r\n }\r\n ngAfterViewInit() {\r\n this.setTitle();\r\n }\r\n public setTitle() {\r\n var res = $('.breadcrumb-item.active').text();\r\n this.titleService.setTitle(res + ' | UniDormitory');\r\n }\r\n mainSidebarHeight(height) {\r\n // this.renderer.setStyle(\r\n // this.contentWrapper.nativeElement,\r\n // 'min-height',\r\n // height - 114 + 'px'\r\n // );\r\n }\r\n\r\n toggleMenuSidebar() {\r\n console.log('sidebarMenuCollapsed', this.sidebarMenuOpened);\r\n if (this.sidebarMenuOpened) {\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-open'\r\n );\r\n this.renderer.addClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-collapse'\r\n );\r\n this.sidebarMenuOpened = false;\r\n } else {\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-collapse'\r\n );\r\n this.renderer.addClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-open'\r\n );\r\n this.sidebarMenuOpened = true;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { common } from 'src/app/app.common';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-menu-sidebar',\r\n templateUrl: './menu-sidebar.component.html',\r\n styleUrls: ['./menu-sidebar.component.scss'],\r\n})\r\nexport class MenuSidebarComponent implements OnInit, AfterViewInit {\r\n @ViewChild('mainSidebar', { static: false }) mainSidebar;\r\n @Output() mainSidebarHeight: EventEmitter = new EventEmitter();\r\n DonGiaDienNuoc: any;\r\n QuanTriEmail: any;\r\n LichSuEmail: any;\r\n constructor(\r\n public appService: AppService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private titleService: Title\r\n ) {}\r\n styleLi: string = 'nav-item ';\r\n public com: common;\r\n Co_so: boolean = false;\r\n Toa_nha: boolean = false;\r\n Loai_phong: boolean = false;\r\n Phong: boolean = false;\r\n So_do_phong: boolean = false;\r\n Thiet_bi: boolean = false;\r\n Quy_dinh_dang_ky: boolean = false;\r\n Duyet_dang_ky: boolean = false;\r\n Xep_phong: boolean = false;\r\n Bien_lai: boolean = false;\r\n Thong_ke: boolean = false;\r\n Danh_sach_o: boolean = false;\r\n Danh_sach_ra: boolean = false;\r\n Danh_sach_han_che: boolean = false;\r\n Tra_cuu_log: boolean = false;\r\n QuyDinhKhoanThu: boolean = false;\r\n DeXuatSinhVien: boolean = false;\r\n DiemSinhVien: boolean = false;\r\n DiemPhong: boolean = false;\r\n PhanQuyen: boolean = false;\r\n LichSuSuaChua: boolean = false;\r\n ViPham: boolean = false;\r\n HinhThuc: boolean = false;\r\n KhenThuongKyLuat: boolean = false;\r\n BienDong: boolean = false;\r\n SoDien: boolean = false;\r\n SoNuoc: boolean = false;\r\n ThamSoHeThong: boolean = false;\r\n Roles: any;\r\n ngOnInit() {\r\n this.com = new common(this.router);\r\n this.com.CheckLogin();\r\n var UserData = this.com.getUserinfo();\r\n }\r\n menu(id: string) {\r\n let element, name, arr;\r\n element = document.getElementById(id);\r\n arr = element.className.split(' ');\r\n name = 'menu-open';\r\n if (arr.indexOf(name) == -1) {\r\n element.className += ' ' + name;\r\n } else {\r\n element.className = 'nav-item';\r\n }\r\n }\r\n ngAfterViewInit() {\r\n this.mainSidebarHeight.emit(this.mainSidebar.nativeElement.offsetHeight);\r\n }\r\n public setTitle(newTitle) {\r\n this.titleService.setTitle(newTitle + ' | UniDormitory');\r\n }\r\n SetUpMenu(R) {\r\n // Đăng ký\r\n this.Duyet_dang_ky = R.some((x) => x.ID_quyen == 1500);\r\n this.QuyDinhKhoanThu = R.some((x) => x.ID_quyen == 1513);\r\n // Xếp phòng\r\n this.Xep_phong = R.some((x) => x.ID_quyen == 1501);\r\n // Danh sách ở\r\n this.Danh_sach_o = R.some((x) => x.ID_quyen == 1502);\r\n // Biên lai hóa đơn\r\n this.Bien_lai = R.some((x) => x.ID_quyen == 1503);\r\n // Cơ sở\r\n this.Co_so = R.some((x) => x.ID_quyen == 1504);\r\n // Tòa nhà\r\n this.Toa_nha = R.some((x) => x.ID_quyen == 1505);\r\n // Phòng\r\n this.Phong = R.some((x) => x.ID_quyen == 1506);\r\n // Loại phòng\r\n this.Loai_phong = R.some((x) => x.ID_quyen == 1507);\r\n // Thiết bị\r\n this.Thiet_bi = R.some((x) => x.ID_quyen == 1508);\r\n\r\n // Quy định đăng ký\r\n this.Quy_dinh_dang_ky = R.some((x) => x.ID_quyen == 1509);\r\n // Danh sách hạn chế\r\n this.Danh_sach_han_che = R.some((x) => x.ID_quyen == 1510);\r\n // Danh sách ra\r\n this.Danh_sach_ra = R.some((x) => x.ID_quyen == 1511);\r\n this.Tra_cuu_log = R.some((x) => x.ID_quyen == 1512);\r\n this.DeXuatSinhVien = R.some((x) => x.ID_quyen == 1514);\r\n this.DiemSinhVien = R.some((x) => x.ID_quyen == 1515);\r\n this.DiemPhong = R.some((x) => x.ID_quyen == 1516);\r\n this.BienDong = R.some((x) => x.ID_quyen == 1517);\r\n this.PhanQuyen = R.some((x) => x.ID_quyen == 1518);\r\n this.LichSuSuaChua = R.some((x) => x.ID_quyen == 1519);\r\n this.ViPham = R.some((x) => x.ID_quyen == 1520);\r\n this.HinhThuc = R.some((x) => x.ID_quyen == 1521);\r\n this.KhenThuongKyLuat = R.some((x) => x.ID_quyen == 1522);\r\n this.SoDien = R.some((x) => x.ID_quyen == 1523);\r\n this.SoNuoc = R.some((x) => x.ID_quyen == 1524);\r\n this.DonGiaDienNuoc = R.some((x) => x.ID_quyen == 1525);\r\n this.QuanTriEmail = R.some((x) => x.ID_quyen == 1526);\r\n this.LichSuEmail = R.some((x) => x.ID_quyen == 1527);\r\n this.ThamSoHeThong = R.some((x) => x.ID_quyen == 1529);\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n Sinh hoạt cộng đồng\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-portal-footer',\r\n templateUrl: './portal-footer.component.html',\r\n styleUrls: ['./portal-footer.component.scss'],\r\n})\r\nexport class PortalFooterComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n
    \r\n Phần mềm quản lý ký túc xá.\r\n \r\n Phát triển bởi công ty công nghệ\r\n Thiên An.\r\n
    \r\n
    \r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\n\r\n@Component({\r\n selector: 'app-portal-header',\r\n templateUrl: './portal-header.component.html',\r\n styleUrls: ['./portal-header.component.scss'],\r\n})\r\nexport class PortalHeaderComponent implements OnInit {\r\n @Output() toggleMenuSidebar: EventEmitter = new EventEmitter();\r\n public searchForm: FormGroup;\r\n\r\n constructor(private appService: AppService) {}\r\n\r\n ngOnInit() {\r\n this.searchForm = new FormGroup({\r\n search: new FormControl(null),\r\n });\r\n }\r\n\r\n logout() {\r\n this.appService.logoutPortal();\r\n }\r\n}\r\n","\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n ViewChild,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router } from '@angular/router';\r\nimport { RequestBase } from 'src/app/Models/input.model/RequestBase';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-portal-user-dropdown',\r\n templateUrl: './portal-user-dropdown.component.html',\r\n styleUrls: ['./portal-user-dropdown.component.scss'],\r\n})\r\nexport class PortalUserDropdownComponent implements OnInit {\r\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.hideDropdownMenu();\r\n }\r\n }\r\n requestObject: RequestBase = new RequestBase();\r\n com: common;\r\n UnReadNum: number;\r\n MessageLst: [];\r\n UserName: string = 'Đang lấy dữ liệu...';\r\n constructor(\r\n public elementRef: ElementRef,\r\n public renderer: Renderer2,\r\n public router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.com = new common(this.router);\r\n this.com.CheckLoginPortal();\r\n var User = this.com.getPortalInfo();\r\n this.UserName = User.Info.UserName;\r\n }\r\n\r\n toggleDropdownMenu() {\r\n if (this.dropdownMenu.nativeElement.classList.contains('show')) {\r\n this.hideDropdownMenu();\r\n } else {\r\n this.showDropdownMenu();\r\n }\r\n }\r\n\r\n showDropdownMenu() {\r\n this.renderer.addClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n hideDropdownMenu() {\r\n this.renderer.removeClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n}\r\n","
  • \r\n \r\n \r\n \r\n \r\n
  • \r\n","import {\r\n Component,\r\n OnInit,\r\n AfterViewInit,\r\n ViewChild,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\n\r\n@Component({\r\n selector: 'app-portal-menu-sidebar',\r\n templateUrl: './portal-menu-sidebar.component.html',\r\n styleUrls: ['./portal-menu-sidebar.component.scss'],\r\n})\r\nexport class PortalMenuSidebarComponent implements OnInit {\r\n @ViewChild('mainSidebar', { static: false }) mainSidebar;\r\n @Output() mainSidebarHeight: EventEmitter = new EventEmitter();\r\n constructor(public appService: AppService) {}\r\n styleLi: string = 'nav-item ';\r\n\r\n ngOnInit() {}\r\n menu(id: string) {\r\n let element, name, arr;\r\n element = document.getElementById(id);\r\n arr = element.className.split(' ');\r\n name = 'menu-open';\r\n if (arr.indexOf(name) == -1) {\r\n element.className += ' ' + name;\r\n } else {\r\n element.className = 'nav-item';\r\n }\r\n }\r\n ngAfterViewInit() {\r\n this.mainSidebarHeight.emit(this.mainSidebar.nativeElement.offsetHeight);\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n Sinh hoạt cộng đồng\r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n","import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { common } from 'src/app/app.common';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-portal',\r\n templateUrl: './portal.component.html',\r\n styleUrls: ['./portal.component.scss'],\r\n})\r\nexport class PortalComponent implements OnInit {\r\n public sidebarMenuOpened = true;\r\n @ViewChild('contentWrapper', { static: false }) contentWrapper;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n public router: Router,\r\n private toastr: ToastrService\r\n ) {}\r\n public com: common;\r\n ngOnInit() {\r\n this.com = new common(this.router);\r\n // this.com.CheckLogin();\r\n this.renderer.removeClass(document.querySelector('app-root'), 'login-page');\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'register-page'\r\n );\r\n }\r\n\r\n mainSidebarHeight(height) {\r\n // this.renderer.setStyle(\r\n // this.contentWrapper.nativeElement,\r\n // 'min-height',\r\n // height - 114 + 'px'\r\n // );\r\n }\r\n\r\n toggleMenuSidebar() {\r\n console.log('sidebarMenuCollapsed', this.sidebarMenuOpened);\r\n if (this.sidebarMenuOpened) {\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-open'\r\n );\r\n this.renderer.addClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-collapse'\r\n );\r\n this.sidebarMenuOpened = false;\r\n } else {\r\n this.renderer.removeClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-collapse'\r\n );\r\n this.renderer.addClass(\r\n document.querySelector('app-root'),\r\n 'sidebar-open'\r\n );\r\n this.sidebarMenuOpened = true;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccService } from 'src/app/utils/services/acc.service';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss', './main.css'],\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n public registerForm = new FormGroup({\r\n UserName: new FormControl(null, Validators.required),\r\n Email: new FormControl(null, Validators.required),\r\n password: new FormControl(null, Validators.required),\r\n retypePassword: new FormControl(null, Validators.required),\r\n });\r\n constructor(\r\n private renderer: Renderer2,\r\n private toastr: ToastrService,\r\n private appService: AppService,\r\n private Service: AccService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.renderer.addClass(document.body, 'register-page');\r\n // / this.renderer.addClass(document.querySelector('app-root'), 'register-page');\r\n this.registerForm;\r\n }\r\n\r\n register() {\r\n if (this.registerForm.valid) {\r\n this.appService.register();\r\n } else {\r\n this.toastr.error('Hello world!', 'Toastr fun!');\r\n }\r\n }\r\n getPassWord() {\r\n let req = {\r\n UserName: this.registerForm.value.UserName,\r\n Email: this.registerForm.value.Email,\r\n UserCategory: 1,\r\n };\r\n this.Service.GetPassword(req).subscribe((z) => {\r\n if (z.Status == 1) {\r\n this.toastr.success(z.Message);\r\n } else {\r\n this.toastr.error(z.Message);\r\n }\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.renderer.removeClass(document.body, 'register-page');\r\n // this.renderer.removeClass(document.querySelector('app-root'),'register-page');\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n UniDormitory\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Alert } from 'selenium-webdriver';\r\nimport { BaseComponent } from 'src/app/components/base/base.component';\r\n\r\n@Component({\r\n selector: 'app-set-submit-time',\r\n templateUrl: './set-submit-time.component.html',\r\n styleUrls: ['./set-submit-time.component.scss'],\r\n})\r\nexport class SetSubmitTimeComponent extends BaseComponent implements OnInit {\r\n minDate = '';\r\n toDate = '';\r\n @ViewChild('btnEdit') btnEdit: ElementRef;\r\n @ViewChild('btnAdd') btnAdd: ElementRef;\r\n ID_he = '';\r\n Khoa_hoc = '';\r\n Diem = '';\r\n ID_khoa = '';\r\n ID_lop = '';\r\n Ngay_bat_dau = '';\r\n Ngay_ket_thuc = '';\r\n\r\n dataQuyDinh = [];\r\n ngOnInit(): void {\r\n this.getToken();\r\n this.loadQuyDinh();\r\n this.GetHe();\r\n var current = new Date(new Date().setHours(new Date().getHours() + 0));\r\n this.minDate = new Date(current).toISOString().slice(0, 10);\r\n }\r\n\r\n loadQuyDinh() {\r\n this.AdminSystemService.LoadQuyDinh(this.Token).subscribe((z) => {\r\n this.dataTable = z.DataSinhHoatCongDongQuyDinh;\r\n });\r\n }\r\n\r\n GetHe() {\r\n this.LoadHeKhoaService.LoadHe(this.Token).subscribe((x) => {\r\n this.dataHe = x;\r\n });\r\n }\r\n lookDateTo() {\r\n var currentDateFrom = this.Action.controls.Ngay_bat_dau.value;\r\n debugger;\r\n var current = new Date(currentDateFrom);\r\n this.toDate = new Date(current).toISOString().slice(0, 10);\r\n }\r\n Action = new FormGroup({\r\n ID_he: new FormControl(null, [Validators.required]),\r\n Khoa_hoc: new FormControl(null, [Validators.required]),\r\n Diem: new FormControl(null, [Validators.required]),\r\n Ngay_bat_dau: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n Ngay_ket_thuc: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n });\r\n get checkvalue() {\r\n return this.Action.controls;\r\n }\r\n Insert() {\r\n this.submitted = true;\r\n if (this.Action.invalid) {\r\n return false;\r\n }\r\n var req = {\r\n ID_he: this.ID_he,\r\n ID_khoa: this.Khoa_hoc,\r\n Ngay_bat_dau: this.Ngay_bat_dau,\r\n Ngay_ket_thuc: this.Ngay_ket_thuc,\r\n Diem: this.Diem,\r\n };\r\n this.AdminSystemService.InsertQuyDinh(req, this.Token).subscribe((res) => {\r\n this.submitted = false;\r\n if (res.Status == 1) {\r\n this.toastr.success('Thêm mới thành công!');\r\n this.refesh();\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n });\r\n }\r\n\r\n Update() {\r\n var req = {\r\n ID_he: this.ID_he,\r\n ID_khoa: this.Khoa_hoc,\r\n Ngay_bat_dau: this.Ngay_bat_dau,\r\n Ngay_ket_thuc: this.Ngay_ket_thuc,\r\n Diem: this.Diem,\r\n };\r\n this.AdminSystemService.UpdateQuyDinh(req, this.Token).subscribe((res) => {\r\n if (res.Status == 1) {\r\n this.btnAdd.nativeElement.style.display = 'block';\r\n this.btnEdit.nativeElement.style.display = 'none';\r\n this.Action.controls.ID_he.enable();\r\n this.Action.controls.Khoa_hoc.enable();\r\n this.toastr.success('Cập nhập thành công!');\r\n this.refesh();\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n });\r\n }\r\n Detail(data) {\r\n this.btnAdd.nativeElement.style.display = 'none';\r\n this.btnEdit.nativeElement.style.display = 'block';\r\n\r\n //this.Action.controls.ID_he.disable();\r\n this.Action.controls.ID_he.disable();\r\n this.Action.controls.Khoa_hoc.disable();\r\n\r\n this.ID_he = data.ID_he;\r\n this.Khoa_hoc = data.ID_khoa;\r\n this.Diem = data.Diem;\r\n var expiryFrom = new Date(\r\n new Date(data.Ngay_bat_dau).setHours(new Date().getHours() + 10)\r\n );\r\n var expiryTo = new Date(\r\n new Date(data.Ngay_ket_thuc).setHours(new Date().getHours() + 12)\r\n );\r\n this.Ngay_bat_dau = new Date(expiryFrom).toISOString().slice(0, 10);\r\n this.Ngay_ket_thuc = new Date(expiryTo).toISOString().slice(0, 10);\r\n }\r\n\r\n Delete() {\r\n this.AdminSystemService.DeleteQuyDinh(\r\n this.ID_he,\r\n this.Khoa_hoc,\r\n this.Token\r\n ).subscribe((res) => {\r\n if (res.Status == 1) {\r\n this.toastr.success('Xoá thành công!');\r\n this.refesh();\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n this.modalService.dismissAll('DeleteModal');\r\n });\r\n }\r\n\r\n open(content, sizm, type, data) {\r\n this.ID_he = data.ID_he;\r\n this.Khoa_hoc = data.ID_khoa;\r\n this.submitted = false;\r\n this.modalService\r\n .open(content, { ariaLabelledBy: 'modal-basic-title', size: sizm })\r\n .result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n }\r\n );\r\n }\r\n\r\n refesh() {\r\n this.ID_he = '';\r\n this.Khoa_hoc = '';\r\n this.Ngay_bat_dau = '';\r\n this.Ngay_ket_thuc = '';\r\n this.loadQuyDinh();\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Chọn hệ\r\n {{\r\n p.Ten_he\r\n }}\r\n \r\n \r\n
    \r\n Chưa chọn hệ!\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n Khóa học không được bỏ trống!\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n Điểm không được bỏ trống!\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n Thời gian không được bỏ trống!\r\n
    \r\n
    \r\n Thời gian tối đa 100 ký tự!\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n Thời gian không được bỏ trống!\r\n
    \r\n
    \r\n Thời gian tối đa 100 ký tự!\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Tên hệKhóaĐiểm xét TNNgày bắt đầuNgày kết thúcThao tác
    {{ data.Ten_he }}{{ data.ID_khoa }}{{ data.Diem }}{{ data.Ngay_bat_dau | date: 'dd/MM/yyyy' }}{{ data.Ngay_ket_thuc | date: 'dd/MM/yyyy' }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Không có kết quả
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Bạn có chắc chắn muốn xóa\r\n

    \r\n
    \r\n \r\n \r\n Hủy bỏ\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseComponent } from 'src/app/components/base/base.component';\r\n@Component({\r\n selector: 'app-student-declaration',\r\n templateUrl: './student-declaration.component.html',\r\n styleUrls: ['./student-declaration.component.scss'],\r\n})\r\nexport class StudentDeclarationComponent extends BaseComponent\r\n implements OnInit {\r\n nameFile;\r\n fileBase64;\r\n checkInsert;\r\n ID;\r\n ID_he;\r\n Khoa_hoc;\r\n titleModal;\r\n Action = new FormGroup({\r\n Ten_hoat_dong: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n Mo_ta: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n Thoi_gian: new FormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(500),\r\n ]),\r\n Diem: new FormControl(null, [Validators.required, Validators.min(0)]),\r\n Url_minhchung: new FormControl(null),\r\n });\r\n ngOnInit(): void {\r\n this.getTokenSV();\r\n this.getAll();\r\n this.getSinhVien();\r\n }\r\n getAll() {\r\n this.spinner.show();\r\n this.StudentService.GetAll(this.ID_sv, this.Token).subscribe((z) => {\r\n this.spinner.hide();\r\n this.dataTable = z.Data;\r\n });\r\n }\r\n getSinhVien() {\r\n this.spinner.show();\r\n this.StudentService.GetSinhVien(this.ID_sv, this.Token).subscribe((z) => {\r\n this.ID_he = z.ID_he;\r\n this.Khoa_hoc = z.Khoa_hoc;\r\n });\r\n }\r\n onSubmit() {\r\n this.submitted = true;\r\n if (this.Action.invalid) {\r\n return false;\r\n }\r\n var req = {\r\n ID_sinh_hoat_cong_dong: this.ID,\r\n ID_sv: this.ID_sv,\r\n ID_he: this.ID_he,\r\n Khoa_hoc: this.Khoa_hoc,\r\n Ten_hoat_dong: this.Action.controls.Ten_hoat_dong.value,\r\n Mo_ta: this.Action.controls.Mo_ta.value,\r\n Thoi_gian: this.Action.controls.Thoi_gian.value,\r\n Diem: this.Action.controls.Diem.value,\r\n fileBase64: this.fileBase64,\r\n nameFile: this.nameFile,\r\n };\r\n if (this.checkInsert) {\r\n if (this.fileBase64 == null || this.fileBase64 == '') {\r\n this.toastr.warning('Bạn chưa chọn file minh chứng');\r\n return false;\r\n }\r\n this.StudentService.Insert(req, this.Token).subscribe((res) => {\r\n this.modalService.dismissAll('AddModal');\r\n if (res.Status == 1) {\r\n this.getAll();\r\n this.toastr.success('Thêm mới thành công!');\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n });\r\n } else {\r\n var param = {\r\n ID_sinh_hoat_cong_dong: this.ID,\r\n ID_sv: this.ID_sv,\r\n ID_he: this.ID_he,\r\n Khoa_hoc: this.Khoa_hoc,\r\n Ten_hoat_dong: this.Action.controls.Ten_hoat_dong.value,\r\n Mo_ta: this.Action.controls.Mo_ta.value,\r\n Thoi_gian: this.Action.controls.Thoi_gian.value,\r\n Diem: this.Action.controls.Diem.value,\r\n fileBase64: this.fileBase64,\r\n nameFile: this.nameFile,\r\n Trang_thai: 3,\r\n };\r\n this.StudentService.Update(param, this.Token).subscribe((res) => {\r\n this.modalService.dismissAll('AddModal');\r\n if (res.Status == 1) {\r\n this.getAll();\r\n this.toastr.success('Thêm mới thành công!');\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n });\r\n }\r\n }\r\n open(content, sizm, type, data) {\r\n this.ID = data.ID_sinh_hoat_cong_dong;\r\n if (data != null && data != '') {\r\n if (data.Trang_thai == 1) {\r\n this.toastr.warning('Hoạt động đã duyệt không được sửa xóa');\r\n return false;\r\n }\r\n }\r\n this.submitted = false;\r\n this.modalService\r\n .open(content, { ariaLabelledBy: 'modal-basic-title', size: sizm })\r\n .result.then(\r\n (result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n },\r\n (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n }\r\n );\r\n if (type == 'Add') {\r\n this.checkInsert = true;\r\n this.titleModal = 'Thêm mới sinh hoạt cộng đồng';\r\n } else {\r\n this.checkInsert = false;\r\n this.titleModal = 'Chỉnh sửa sinh hoạt cộng đồng';\r\n this.Action.controls.Ten_hoat_dong.setValue(data.Ten_hoat_dong);\r\n this.Action.controls.Mo_ta.setValue(data.Mo_ta);\r\n this.Action.controls.Thoi_gian.setValue(data.Thoi_gian);\r\n this.Action.controls.Diem.setValue(data.Diem);\r\n this.Action.controls.Url_minhchung.setValue(data.URL_minh_chung);\r\n }\r\n }\r\n get checkvalue() {\r\n return this.Action.controls;\r\n }\r\n Delete() {\r\n this.StudentService.Delete(this.ID, this.Token).subscribe((res) => {\r\n if (res.Status == 1) {\r\n this.getAll();\r\n this.toastr.success('Xoá thành công!');\r\n } else {\r\n this.toastr.warning(res.Message);\r\n }\r\n this.modalService.dismissAll('AddModal');\r\n });\r\n }\r\n Uploadfile(even) {\r\n let dataBase64: any;\r\n let fileReader = new FileReader();\r\n if (even.target.files[0]) {\r\n fileReader.readAsDataURL(even.target.files[0]);\r\n }\r\n fileReader.onloadend = (e) => {\r\n dataBase64 = fileReader.result;\r\n dataBase64 = dataBase64.split('base64,')[1];\r\n if (even.target.files[0].name.length > 100) {\r\n this.toastr.warning('Tên file không được vượt quá 100 kí tự!');\r\n return false;\r\n }\r\n if (!this.isImage(even.target.files[0].name)) {\r\n this.toastr.warning(\r\n 'Vui lòng chọn tải file có định dạng .jpg, .PNG, .docx, PDF !'\r\n );\r\n return false;\r\n }\r\n if (even.target.files[0].size > 20971520) {\r\n this.toastr.warning('File không được quá 20MB!');\r\n return false;\r\n }\r\n this.fileBase64 = dataBase64;\r\n this.nameFile = even.target.files[0].name;\r\n };\r\n }\r\n isImage(filename) {\r\n var ext = this.getExtension(filename);\r\n switch (ext.toLowerCase()) {\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'gif':\r\n case 'png':\r\n case 'docx':\r\n case 'doc':\r\n case 'pdf':\r\n case 'zip':\r\n case 'rar':\r\n return true;\r\n }\r\n return false;\r\n }\r\n getExtension(filename) {\r\n var parts = filename.split('.');\r\n return parts[parts.length - 1];\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Tên hoạt độngMô tảThời gianĐiểmMinh chứngGhi chúTrạng tháiThao tác
    {{ data.Ten_hoat_dong }}{{ data.Mo_ta }}{{ data.Thoi_gian }}{{ data.Diem }}\r\n \r\n {{ data.Ghi_chu }}\r\n

    Khởi tạo

    \r\n
    \r\n

    Đã duyệt

    \r\n
    \r\n

    Từ chối

    \r\n
    \r\n

    Đã sửa

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Không có kết quả
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n

    {{ titleModal }}

    \r\n ×\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Tên hoạt động không được bỏ trống!\r\n
    \r\n
    \r\n Tên hoạt động tối đa 500 ký tự!\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n Mô tả không được bỏ trống!\r\n
    \r\n
    \r\n Mô tả tối đa 500 ký tự!\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Thời gian không được bỏ trống!\r\n
    \r\n
    \r\n Thời gian tối đa 100 ký tự!\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n Điểm phải lớn hơn 0\r\n
    \r\n
    \r\n Điểm không được bỏ trống!\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Đóng\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n CanActivateChild,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n return true;\r\n }\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n CanActivateChild,\r\n CanLoad,\r\n Route,\r\n UrlSegment,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NonAuthGuard implements CanActivate, CanActivateChild, CanLoad {\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n return true;\r\n }\r\n canActivateChild(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n return true;\r\n }\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]\r\n ): Observable | Promise | boolean {\r\n return true;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AdminDeclarationService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n\r\n Count(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/Count', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n CounFilter(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/CountFilter',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Load(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/Load',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n UpdateDiem(req, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/UpdateDiem',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n UpdateStatus(req, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/UpdateStatus',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n MultiUpdateStatus(req, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI +\r\n 'SinhHoatCongDongQuanTri/MultiUpdateStatus',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Export(req: any, token) {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + '/BaoCao/SinhHoatCongDong',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n ExportChiTiet(req: any, token) {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + '/BaoCao/SinhHoatCongDongChiTiet',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AdminSystemService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n\r\n LoadQuyDinh(token): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/LoadAllQuyDinh',\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n InsertQuyDinh(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/InsertQuyDinh',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n UpdateQuyDinh(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/UpdateQuyDinh',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n DeleteQuyDinh(ID_he, Khoa_hoc, token): Observable {\r\n //?ID_he={ID_he}&ID_khoa={ID_khoa}\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI +\r\n 'SinhHoatCongDongQuanTri/DeleteQuyDinh?ID_he=' +\r\n ID_he +\r\n '&ID_khoa=' +\r\n Khoa_hoc,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n InsertGiaHan(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDongQuanTri/InsertGiaHan',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n InsertGiaHanList(req: any, token): Observable {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI +\r\n 'SinhHoatCongDongQuanTri/InsertGiaHanList',\r\n req,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StudentService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n\r\n GetAll(ID_sv, token): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDong/Load?ID_sv=' + ID_sv,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n GetSinhVien(ID_sv, token): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI +\r\n 'SinhHoatCongDong/GetSinhVien?ID_sv=' +\r\n ID_sv,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Insert(req: any, token): Observable {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + 'SinhHoatCongDong/Insert', req, {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Update(req: any, token): Observable {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + 'SinhHoatCongDong/Update', req, {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n Delete(ID, token): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI + 'SinhHoatCongDong/Delete?ID=' + ID,\r\n {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n }\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n Login(req: any) {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + 'Account/Login', req, {})\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n GetPassword(req: any) {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + 'Account/GetPassword', req, {})\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n LoginWithRoles(req: any) {\r\n return this.http\r\n .post(\r\n this.appConfig.UniSystemAPI + 'Account/LoginWithRoles',\r\n req,\r\n {}\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n Confirm(req: any) {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + '/Account/Confirm', req, {})\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n\r\n ChangePass(req: any, token): Observable {\r\n return this.http\r\n .post(this.appConfig.UniSystemAPI + 'Account/ChangePassword', req, {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n getAccessToken(authorization_code: any): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI +\r\n 'Account/authenticationinfo?authorizationCode=' +\r\n authorization_code\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n getInfoToken(token: any): Observable {\r\n return this.http\r\n .get(\r\n this.appConfig.UniSystemAPI + 'Account/getInfoToken?token=' + token\r\n )\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppService {\r\n public user = {\r\n firstName: 'Alexander',\r\n lastName: 'Pierce',\r\n image: 'assets/img/user2-160x160.jpg',\r\n };\r\n\r\n constructor(private router: Router) {}\r\n\r\n login() {\r\n localStorage.setItem('token', 'LOGGED_IN');\r\n this.router.navigate(['/admin/sinh-hoat-cong-dong']);\r\n }\r\n loginPortal() {\r\n localStorage.setItem('token', 'LOGGED_IN');\r\n this.router.navigate(['/sinh-hoat-cong-dong']);\r\n }\r\n\r\n register() {\r\n localStorage.setItem('token', 'LOGGED_IN');\r\n this.router.navigate(['/']);\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('UserInfo');\r\n this.router.navigate(['/login']);\r\n }\r\n logoutPortal() {\r\n localStorage.removeItem('UserInfo');\r\n this.router.navigate(['/dang-nhap']);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AppConfig, AppConfiguration } from 'src/configuration';\r\nimport { Router } from '@angular/router';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoadHeKhoaService {\r\n constructor(\r\n @Inject(AppConfig) private readonly appConfig: AppConfiguration,\r\n private router: Router,\r\n private http: HttpClient\r\n ) {}\r\n LoadHe(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'He/Danh_sach_he', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n LoadKhoa(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'Khoa/Danh_sach_khoa', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n LoadLop(token): Observable {\r\n return this.http\r\n .get(this.appConfig.UniSystemAPI + 'Lop/Danh_sach_lop_dang_hoc', {\r\n headers: new HttpHeaders().set('Authorization', `Bearer ${token}`),\r\n })\r\n .pipe(\r\n map((z) => {\r\n return z;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { io } from 'socket.io-client/build/index';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WebSocketService {}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-blank',\r\n templateUrl: './blank.component.html',\r\n styleUrls: ['./blank.component.scss'],\r\n})\r\nexport class BlankComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Blank Page

    \r\n
    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Blank Page
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Title

    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Start creating your amazing application!\r\n
    \r\n \r\n
    \r\n Footer\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss'],\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n constructor(public appService: AppService) {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    Profile

    \r\n
    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. User Profile
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n

    Nina Mcintire

    \r\n\r\n

    Software Engineer

    \r\n\r\n
      \r\n
    • \r\n Followers 1,322\r\n
    • \r\n
    • \r\n Following 543\r\n
    • \r\n
    • \r\n Friends 13,287\r\n
    • \r\n
    \r\n\r\n Follow\r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n

    About Me

    \r\n
    \r\n \r\n
    \r\n Education\r\n\r\n

    \r\n B.S. in Computer Science from the University of Tennessee at\r\n Knoxville\r\n

    \r\n\r\n
    \r\n\r\n Location\r\n\r\n

    Malibu, California

    \r\n\r\n
    \r\n\r\n Skills\r\n\r\n

    \r\n UI Design\r\n Coding\r\n Javascript\r\n PHP\r\n Node.js\r\n

    \r\n\r\n
    \r\n\r\n Notes\r\n\r\n

    \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam\r\n fermentum enim neque.\r\n

    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n Jonathan Burke Jr.\r\n \r\n \r\n Shared publicly - 7:30 PM today\r\n
    \r\n \r\n

    \r\n Lorem ipsum represents a long-held tradition for designers,\r\n typographers and the like. Some people hate it and argue for\r\n its demise, but others ignore the hate as they create\r\n awesome tools to help create filler text for everyone from\r\n bacon lovers to Charlie Sheen fans.\r\n

    \r\n\r\n

    \r\n Share\r\n Like\r\n \r\n \r\n Comments (5)\r\n \r\n \r\n

    \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n Sarah Ross\r\n \r\n \r\n Sent you a message - 3 days ago\r\n
    \r\n \r\n

    \r\n Lorem ipsum represents a long-held tradition for designers,\r\n typographers and the like. Some people hate it and argue for\r\n its demise, but others ignore the hate as they create\r\n awesome tools to help create filler text for everyone from\r\n bacon lovers to Charlie Sheen fans.\r\n

    \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n Adam Jones\r\n \r\n \r\n Posted 5 photos - 5 days ago\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n

    \r\n Share\r\n Like\r\n \r\n \r\n Comments (5)\r\n \r\n \r\n

    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n 10 Feb. 2014\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n 12:05\r\n\r\n

    \r\n Support Team sent you an email\r\n

    \r\n\r\n
    \r\n Etsy doostang zoodles disqus groupon greplin oooj voxy\r\n zoodles, weebly ning heekya handango imeem plugg dopplr\r\n jibjab, movity jajah plickers sifteo edmodo ifttt\r\n zimbra. Babblely odeo kaboodle quora plaxo ideeli hulu\r\n weebly balihoo...\r\n
    \r\n
    \r\n Read more\r\n Delete\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n 5 mins ago\r\n\r\n

    \r\n Sarah Young accepted your friend request\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n 27 mins ago\r\n\r\n

    \r\n Jay White commented on your post\r\n

    \r\n\r\n
    \r\n Take me to your leader! Switzerland is small and\r\n neutral! We are more like Germany, ambitious and\r\n misunderstood!\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n 3 Jan. 2014\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n 2 days ago\r\n\r\n

    \r\n Mina Lee uploaded new photos\r\n

    \r\n\r\n
    \r\n \"...\"\r\n \"...\"\r\n \"...\"\r\n \"...\"\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n","/*\r\nCanvasJS Angular Charts - https://canvasjs.com/\r\nCopyright 2022 fenopix\r\n\r\n--------------------- License Information --------------------\r\nCanvasJS is a commercial product which requires purchase of license. Without a commercial license you can use it for evaluation purposes for upto 30 days. Please refer to the following link for further details.\r\nhttps://canvasjs.com/license/\r\n\r\n*/\r\n/*tslint:disable*/\r\n/*eslint-disable*/\r\n/*jshint ignore:start*/\r\nimport {\r\n Component,\r\n AfterViewInit,\r\n OnChanges,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\ndeclare var require: any;\r\nvar CanvasJS = require('./canvasjs.min');\r\n\r\n@Component({\r\n selector: 'canvasjs-chart',\r\n template: '
    ',\r\n})\r\nclass CanvasJSChart implements AfterViewInit, OnChanges, OnDestroy {\r\n static _cjsChartContainerId = 0;\r\n chart: any;\r\n chartContainerId: any;\r\n prevChartOptions: any;\r\n shouldUpdateChart = false;\r\n\r\n @Input()\r\n options: any;\r\n @Input()\r\n styles: any;\r\n\r\n @Output()\r\n chartInstance = new EventEmitter();\r\n\r\n constructor() {\r\n this.options = this.options ? this.options : {};\r\n this.styles = this.styles\r\n ? this.styles\r\n : { width: '100%', position: 'relative' };\r\n this.styles.height = this.options.height\r\n ? this.options.height + 'px'\r\n : '400px';\r\n\r\n this.chartContainerId =\r\n 'canvasjs-angular-chart-container-' +\r\n CanvasJSChart._cjsChartContainerId++;\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.prevChartOptions != this.options) {\r\n this.shouldUpdateChart = true;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n //Update Chart Options & Render\r\n if (this.shouldUpdateChart && this.chart) {\r\n this.chart.options = this.options;\r\n this.chart.render();\r\n this.shouldUpdateChart = false;\r\n this.prevChartOptions = this.options;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.chart = new CanvasJS.Chart(this.chartContainerId, this.options);\r\n this.chart.render();\r\n this.prevChartOptions = this.options;\r\n this.chartInstance.emit(this.chart);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.chart) this.chart.destroy();\r\n }\r\n}\r\n\r\nexport { CanvasJSChart, CanvasJS };\r\n/*tslint:enable*/\r\n/*eslint-enable*/\r\n/*jshint ignore:end*/\r\n","/*\r\n CanvasJS HTML5 & JavaScript Charts - v3.7.2 GA - https://canvasjs.com/ \r\n Copyright 2022 fenopix\r\n\r\n --------------------- License Information --------------------\r\n CanvasJS is a commercial product which requires purchase of license. Without a commercial license you can use it for evaluation purposes for upto 30 days. Please refer to the following link for further details.\r\n https://canvasjs.com/license/\r\n\r\n*/\r\n/*tslint:disable*/\r\n/*eslint-disable*/\r\n/*jshint ignore:start*/\r\n(function () {\r\n function qa(h, n) {\r\n h.prototype = db(n.prototype);\r\n h.prototype.constructor = h;\r\n h.base = n.prototype;\r\n }\r\n function db(h) {\r\n function n() {}\r\n n.prototype = h;\r\n return new n();\r\n }\r\n function Wa(h, n, E) {\r\n 'millisecond' === E\r\n ? h.setMilliseconds(h.getMilliseconds() + 1 * n)\r\n : 'second' === E\r\n ? h.setSeconds(h.getSeconds() + 1 * n)\r\n : 'minute' === E\r\n ? h.setMinutes(h.getMinutes() + 1 * n)\r\n : 'hour' === E\r\n ? h.setHours(h.getHours() + 1 * n)\r\n : 'day' === E\r\n ? h.setDate(h.getDate() + 1 * n)\r\n : 'week' === E\r\n ? h.setDate(h.getDate() + 7 * n)\r\n : 'month' === E\r\n ? h.setMonth(h.getMonth() + 1 * n)\r\n : 'year' === E && h.setFullYear(h.getFullYear() + 1 * n);\r\n return h;\r\n }\r\n function ba(h, n) {\r\n var E = !1;\r\n 0 > h && ((E = !0), (h *= -1));\r\n h = '' + h;\r\n for (n = n ? n : 1; h.length < n; ) h = '0' + h;\r\n return E ? '-' + h : h;\r\n }\r\n function Ga(h) {\r\n if (!h) return h;\r\n h = h.replace(/^\\s\\s*/, '');\r\n for (var n = /\\s/, E = h.length; n.test(h.charAt(--E)); );\r\n return h.slice(0, E + 1);\r\n }\r\n function Ca(h) {\r\n h.roundRect = function (h, E, r, w, sa, A, v, B) {\r\n v && (this.fillStyle = v);\r\n B && (this.strokeStyle = B);\r\n 'undefined' === typeof sa && (sa = 5);\r\n this.lineWidth = A;\r\n this.beginPath();\r\n this.moveTo(h + sa, E);\r\n this.lineTo(h + r - sa, E);\r\n this.quadraticCurveTo(h + r, E, h + r, E + sa);\r\n this.lineTo(h + r, E + w - sa);\r\n this.quadraticCurveTo(h + r, E + w, h + r - sa, E + w);\r\n this.lineTo(h + sa, E + w);\r\n this.quadraticCurveTo(h, E + w, h, E + w - sa);\r\n this.lineTo(h, E + sa);\r\n this.quadraticCurveTo(h, E, h + sa, E);\r\n this.closePath();\r\n v && this.fill();\r\n B && 0 < A && this.stroke();\r\n };\r\n }\r\n function Qa(h, n) {\r\n return h - n;\r\n }\r\n function Q(h) {\r\n var n = ((h & 16711680) >> 16).toString(16),\r\n E = ((h & 65280) >> 8).toString(16);\r\n h = ((h & 255) >> 0).toString(16);\r\n n = 2 > n.length ? '0' + n : n;\r\n E = 2 > E.length ? '0' + E : E;\r\n h = 2 > h.length ? '0' + h : h;\r\n return '#' + n + E + h;\r\n }\r\n function eb(h, n) {\r\n var E = this.length >>> 0,\r\n r = Number(n) || 0,\r\n r = 0 > r ? Math.ceil(r) : Math.floor(r);\r\n for (0 > r && (r += E); r < E; r++)\r\n if (r in this && this[r] === h) return r;\r\n return -1;\r\n }\r\n function r(h) {\r\n return null === h || 'undefined' === typeof h;\r\n }\r\n function Da(h) {\r\n h.indexOf || (h.indexOf = eb);\r\n return h;\r\n }\r\n function fb(h) {\r\n if (T.fSDec)\r\n h[ja('`eeDwdouMhrudods')](ja('e`u`@ohl`uhnoHuds`uhnoDoe'), function () {\r\n T._fTWm && T._fTWm(h);\r\n });\r\n }\r\n function Xa(h, n, E) {\r\n E = E || 'normal';\r\n var r = h + '_' + n + '_' + E,\r\n w = Ya[r];\r\n if (isNaN(w)) {\r\n try {\r\n if (!ta) {\r\n var sa = document.body;\r\n ta = document.createElement('span');\r\n ta.innerHTML = '';\r\n var A = document.createTextNode('Mpgyi');\r\n ta.appendChild(A);\r\n sa.appendChild(ta);\r\n }\r\n ta.style.display = '';\r\n V(ta, {\r\n position: 'absolute',\r\n left: '0px',\r\n top: '-20000px',\r\n padding: '0px',\r\n margin: '0px',\r\n border: 'none',\r\n whiteSpace: 'pre',\r\n lineHeight: 'normal',\r\n fontFamily: h,\r\n fontSize: n + 'px',\r\n fontWeight: E,\r\n });\r\n w = Math.round(ta.offsetHeight);\r\n ta.style.display = 'none';\r\n } catch (v) {\r\n w = Math.ceil(1.1 * n);\r\n }\r\n w = Math.max(w, n);\r\n Ya[r] = w;\r\n }\r\n return w;\r\n }\r\n function J(h, n) {\r\n var E = [];\r\n if (\r\n (E = {\r\n solid: [],\r\n shortDash: [3, 1],\r\n shortDot: [1, 1],\r\n shortDashDot: [3, 1, 1, 1],\r\n shortDashDotDot: [3, 1, 1, 1, 1, 1],\r\n dot: [1, 2],\r\n dash: [4, 2],\r\n dashDot: [4, 2, 1, 2],\r\n longDash: [8, 2],\r\n longDashDot: [8, 2, 1, 2],\r\n longDashDotDot: [8, 2, 1, 2, 1, 2],\r\n }[h || 'solid'])\r\n )\r\n for (var r = 0; r < E.length; r++) E[r] *= n;\r\n else E = [];\r\n return E;\r\n }\r\n function I(h, n, E, w, U) {\r\n w = w || [];\r\n U = r(U) ? (gb ? { passive: !1, capture: !1 } : !1) : U;\r\n w.push([h, n, E, U]);\r\n return h.addEventListener\r\n ? (h.addEventListener(n, E, U), E)\r\n : h.attachEvent\r\n ? ((w = function (n) {\r\n n = n || window.event;\r\n n.preventDefault =\r\n n.preventDefault ||\r\n function () {\r\n n.returnValue = !1;\r\n };\r\n n.stopPropagation =\r\n n.stopPropagation ||\r\n function () {\r\n n.cancelBubble = !0;\r\n };\r\n E.call(h, n);\r\n }),\r\n h.attachEvent('on' + n, w),\r\n w)\r\n : !1;\r\n }\r\n function hb(h) {\r\n if (h._menuButton)\r\n h.exportEnabled\r\n ? (V(h._menuButton, {\r\n backgroundColor: h.toolbar.itemBackgroundColor,\r\n color: h.toolbar.fontColor,\r\n }),\r\n La(h._menuButton),\r\n (h._menuButton.title = h._cultureInfo.menuText))\r\n : wa(h._menuButton);\r\n else if (h.exportEnabled && w) {\r\n var n = !1;\r\n h._menuButton = document.createElement('button');\r\n xa(h, h._menuButton, 'menu');\r\n h._toolBar.appendChild(h._menuButton);\r\n I(\r\n h._menuButton,\r\n 'touchstart',\r\n function (h) {\r\n n = !0;\r\n },\r\n h.allDOMEventHandlers\r\n );\r\n I(\r\n h._menuButton,\r\n 'click',\r\n function () {\r\n 'none' !== h._dropdownMenu.style.display ||\r\n (h._dropDownCloseTime &&\r\n 500 >= new Date().getTime() - h._dropDownCloseTime.getTime()) ||\r\n ((h._dropdownMenu.style.display = 'block'),\r\n h._menuButton.blur(),\r\n h._dropdownMenu.focus());\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n );\r\n I(\r\n h._menuButton,\r\n 'mousemove',\r\n function () {\r\n n ||\r\n (V(h._menuButton, {\r\n backgroundColor: h.toolbar.itemBackgroundColorOnHover,\r\n color: h.toolbar.fontColorOnHover,\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(h._menuButton.childNodes[0], {\r\n WebkitFilter: 'invert(100%)',\r\n filter: 'invert(100%)',\r\n }));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n );\r\n I(\r\n h._menuButton,\r\n 'mouseout',\r\n function () {\r\n n ||\r\n (V(h._menuButton, {\r\n backgroundColor: h.toolbar.itemBackgroundColor,\r\n color: h.toolbar.fontColor,\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(h._menuButton.childNodes[0], {\r\n WebkitFilter: 'invert(0%)',\r\n filter: 'invert(0%)',\r\n }));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n );\r\n }\r\n if (h.exportEnabled && h._dropdownMenu) {\r\n V(h._dropdownMenu, {\r\n backgroundColor: h.toolbar.itemBackgroundColor,\r\n color: h.toolbar.fontColor,\r\n });\r\n for (\r\n var E = h._dropdownMenu.childNodes,\r\n r = [\r\n h._cultureInfo.printText,\r\n h._cultureInfo.saveJPGText,\r\n h._cultureInfo.savePNGText,\r\n ],\r\n U = 0;\r\n U < E.length;\r\n U++\r\n )\r\n V(E[U], {\r\n backgroundColor: h.toolbar.itemBackgroundColor,\r\n color: h.toolbar.fontColor,\r\n }),\r\n (E[U].innerHTML = r[U]);\r\n } else\r\n !h._dropdownMenu &&\r\n h.exportEnabled &&\r\n w &&\r\n ((n = !1),\r\n (h._dropdownMenu = document.createElement('div')),\r\n h._dropdownMenu.setAttribute('tabindex', -1),\r\n (E = -1 !== h.theme.indexOf('dark') ? 'black' : '#888888'),\r\n V(h._dropdownMenu, {\r\n position: 'absolute',\r\n zIndex: 1,\r\n userSelect: 'none',\r\n MozUserSeelct: 'none',\r\n WebkitUserSelect: 'none',\r\n msUserSelect: 'none',\r\n cursor: 'pointer',\r\n right: '0px',\r\n top: '25px',\r\n minWidth: '120px',\r\n outline: 0,\r\n fontSize: '14px',\r\n fontFamily: 'Arial, Helvetica, sans-serif',\r\n padding: '5px 0px 5px 0px',\r\n textAlign: 'left',\r\n lineHeight: '10px',\r\n backgroundColor: h.toolbar.itemBackgroundColor,\r\n boxShadow: '2px 2px 10px' + E,\r\n }),\r\n (h._dropdownMenu.style.display = 'none'),\r\n h._toolBar.appendChild(h._dropdownMenu),\r\n I(\r\n h._dropdownMenu,\r\n 'blur',\r\n function () {\r\n wa(h._dropdownMenu);\r\n h._dropDownCloseTime = new Date();\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n (E = document.createElement('div')),\r\n V(E, { padding: '12px 8px 12px 8px' }),\r\n (E.innerHTML = h._cultureInfo.printText),\r\n (E.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (E.style.color = h.toolbar.fontColor),\r\n h._dropdownMenu.appendChild(E),\r\n I(\r\n E,\r\n 'touchstart',\r\n function (h) {\r\n n = !0;\r\n },\r\n h.allDOMEventHandlers\r\n ),\r\n I(\r\n E,\r\n 'mousemove',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor =\r\n h.toolbar.itemBackgroundColorOnHover),\r\n (this.style.color = h.toolbar.fontColorOnHover));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'mouseout',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (this.style.color = h.toolbar.fontColor));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'click',\r\n function () {\r\n h.print();\r\n wa(h._dropdownMenu);\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n (E = document.createElement('div')),\r\n V(E, { padding: '12px 8px 12px 8px' }),\r\n (E.innerHTML = h._cultureInfo.saveJPGText),\r\n (E.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (E.style.color = h.toolbar.fontColor),\r\n h._dropdownMenu.appendChild(E),\r\n I(\r\n E,\r\n 'touchstart',\r\n function (h) {\r\n n = !0;\r\n },\r\n h.allDOMEventHandlers\r\n ),\r\n I(\r\n E,\r\n 'mousemove',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor =\r\n h.toolbar.itemBackgroundColorOnHover),\r\n (this.style.color = h.toolbar.fontColorOnHover));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'mouseout',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (this.style.color = h.toolbar.fontColor));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'click',\r\n function () {\r\n h.exportChart({ format: 'jpeg', fileName: h.exportFileName });\r\n wa(h._dropdownMenu);\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n (E = document.createElement('div')),\r\n V(E, { padding: '12px 8px 12px 8px' }),\r\n (E.innerHTML = h._cultureInfo.savePNGText),\r\n (E.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (E.style.color = h.toolbar.fontColor),\r\n h._dropdownMenu.appendChild(E),\r\n I(\r\n E,\r\n 'touchstart',\r\n function (h) {\r\n n = !0;\r\n },\r\n h.allDOMEventHandlers\r\n ),\r\n I(\r\n E,\r\n 'mousemove',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor =\r\n h.toolbar.itemBackgroundColorOnHover),\r\n (this.style.color = h.toolbar.fontColorOnHover));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'mouseout',\r\n function () {\r\n n ||\r\n ((this.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (this.style.color = h.toolbar.fontColor));\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ),\r\n I(\r\n E,\r\n 'click',\r\n function () {\r\n h.exportChart({ format: 'png', fileName: h.exportFileName });\r\n wa(h._dropdownMenu);\r\n },\r\n h.allDOMEventHandlers,\r\n !0\r\n ));\r\n }\r\n function Za(h, n, E) {\r\n h *= la;\r\n n *= la;\r\n h = E.getImageData(h, n, 2, 2).data;\r\n n = !0;\r\n for (E = 0; 4 > E; E++)\r\n if ((h[E] !== h[E + 4]) | (h[E] !== h[E + 8]) | (h[E] !== h[E + 12])) {\r\n n = !1;\r\n break;\r\n }\r\n return n ? (h[0] << 16) | (h[1] << 8) | h[2] : 0;\r\n }\r\n function ma(h, n, E) {\r\n return h in n ? n[h] : E[h];\r\n }\r\n function Ma(h, n, E) {\r\n if (w && $a) {\r\n var r = h.getContext('2d');\r\n Na =\r\n r.webkitBackingStorePixelRatio ||\r\n r.mozBackingStorePixelRatio ||\r\n r.msBackingStorePixelRatio ||\r\n r.oBackingStorePixelRatio ||\r\n r.backingStorePixelRatio ||\r\n 1;\r\n la = Ra / Na;\r\n h.width = n * la;\r\n h.height = E * la;\r\n Ra !== Na &&\r\n ((h.style.width = n + 'px'),\r\n (h.style.height = E + 'px'),\r\n r.scale(la, la));\r\n } else (h.width = n), (h.height = E);\r\n }\r\n function ib(h) {\r\n if (!jb) {\r\n var n = !1,\r\n r = !1;\r\n 'undefined' === typeof ra.Chart.creditHref\r\n ? ((h.creditHref = ja('iuuqr;..b`ow`rkr/bnl.')),\r\n (h.creditText = ja('B`ow`rKR/bnl')))\r\n : ((n = h.updateOption('creditText')),\r\n (r = h.updateOption('creditHref')));\r\n if (h.creditHref && h.creditText) {\r\n h._creditLink ||\r\n ((h._creditLink = document.createElement('a')),\r\n h._creditLink.setAttribute('class', 'canvasjs-chart-credit'),\r\n h._creditLink.setAttribute('title', 'JavaScript Charts'),\r\n V(h._creditLink, {\r\n outline: 'none',\r\n margin: '0px',\r\n position: 'absolute',\r\n right: '2px',\r\n top: h.height - 14 + 'px',\r\n color: 'dimgrey',\r\n textDecoration: 'none',\r\n fontSize: '11px',\r\n fontFamily:\r\n 'Calibri, Lucida Grande, Lucida Sans Unicode, Arial, sans-serif',\r\n }),\r\n h._creditLink.setAttribute('tabIndex', -1),\r\n h._creditLink.setAttribute('target', '_blank'));\r\n if (0 === h.renderCount || n || r)\r\n h._creditLink.setAttribute('href', h.creditHref),\r\n (h._creditLink.innerHTML = h.creditText);\r\n h._creditLink && h.creditHref && h.creditText\r\n ? (h._creditLink.parentElement ||\r\n h._canvasJSContainer.appendChild(h._creditLink),\r\n (h._creditLink.style.top = h.height - 14 + 'px'))\r\n : h._creditLink.parentElement &&\r\n h._canvasJSContainer.removeChild(h._creditLink);\r\n }\r\n }\r\n }\r\n function va(h, n) {\r\n Ha && ((this.canvasCount |= 0), window.console.log(++this.canvasCount));\r\n var r = document.createElement('canvas');\r\n r.setAttribute('class', 'canvasjs-chart-canvas');\r\n Ma(r, h, n);\r\n w ||\r\n 'undefined' === typeof G_vmlCanvasManager ||\r\n G_vmlCanvasManager.initElement(r);\r\n return r;\r\n }\r\n function V(h, n) {\r\n for (var r in n) h.style[r] = n[r];\r\n }\r\n function xa(h, n, r) {\r\n n.getAttribute('state') ||\r\n ((n.style.backgroundColor = h.toolbar.itemBackgroundColor),\r\n (n.style.color = h.toolbar.fontColor),\r\n (n.style.border = 'none'),\r\n V(n, {\r\n WebkitUserSelect: 'none',\r\n MozUserSelect: 'none',\r\n msUserSelect: 'none',\r\n userSelect: 'none',\r\n }));\r\n n.getAttribute('state') !== r &&\r\n (n.setAttribute('state', r),\r\n n.setAttribute('type', 'button'),\r\n V(n, {\r\n padding: '5px 12px',\r\n cursor: 'pointer',\r\n float: 'left',\r\n width: '40px',\r\n height: '25px',\r\n outline: '0px',\r\n verticalAlign: 'baseline',\r\n lineHeight: '0',\r\n }),\r\n n.setAttribute('title', h._cultureInfo[r + 'Text']),\r\n (n.innerHTML =\r\n \"\" +\r\n        h._cultureInfo[r + \"),\r\n V(n.childNodes[0], { height: '95%', pointerEvents: 'none' }));\r\n }\r\n function La() {\r\n for (var h = null, n = 0; n < arguments.length; n++)\r\n (h = arguments[n]), h.style && (h.style.display = 'inline');\r\n }\r\n function wa() {\r\n for (var h = null, n = 0; n < arguments.length; n++)\r\n (h = arguments[n]) && h.style && (h.style.display = 'none');\r\n }\r\n function Sa(h, n, r, w, U) {\r\n if (null === h || 'undefined' === typeof h)\r\n return 'undefined' === typeof r ? n : r;\r\n h =\r\n parseFloat(h.toString()) * (0 <= h.toString().indexOf('%') ? n / 100 : 1);\r\n 'undefined' !== typeof w &&\r\n ((h = Math.min(w, h)), 'undefined' !== typeof U && (h = Math.max(U, h)));\r\n return !isNaN(h) && h <= n && 0 <= h ? h : 'undefined' === typeof r ? n : r;\r\n }\r\n function $(h, n, E, w, U) {\r\n this._defaultsKey = h;\r\n this._themeOptionsKey = n;\r\n this._index = w;\r\n this.parent = U;\r\n this._eventListeners = [];\r\n h = {};\r\n this.theme && r(this.parent) && r(n) && r(w)\r\n ? (h = r(this.predefinedThemes[this.theme])\r\n ? this.predefinedThemes.light1\r\n : this.predefinedThemes[this.theme])\r\n : this.parent &&\r\n this.parent.themeOptions &&\r\n this.parent.themeOptions[n] &&\r\n (null === w\r\n ? (h = this.parent.themeOptions[n])\r\n : 0 < this.parent.themeOptions[n].length &&\r\n ((w = Math.min(this.parent.themeOptions[n].length - 1, w)),\r\n (h = this.parent.themeOptions[n][w])));\r\n this.themeOptions = h;\r\n this.options = E ? E : { _isPlaceholder: !0 };\r\n this.setOptions(this.options, h);\r\n }\r\n function Ea(h, n, r, w, U) {\r\n 'undefined' === typeof U && (U = 0);\r\n this._padding = U;\r\n this._x1 = h;\r\n this._y1 = n;\r\n this._x2 = r;\r\n this._y2 = w;\r\n this._rightOccupied = this._leftOccupied = this._bottomOccupied = this._topOccupied = this._padding;\r\n }\r\n function ka(h, n) {\r\n ka.base.constructor.call(this, 'TextBlock', null, n, null, null);\r\n this.ctx = h;\r\n this._isDirty = !0;\r\n this._wrappedText = null;\r\n this._initialize();\r\n }\r\n function Ta(h, n) {\r\n Ta.base.constructor.call(this, 'Toolbar', 'toolbar', n, null, h);\r\n this.chart = h;\r\n this.canvas = h.canvas;\r\n this.ctx = this.chart.ctx;\r\n this.optionsName = 'toolbar';\r\n }\r\n function za(h, n) {\r\n za.base.constructor.call(this, 'Title', 'title', n, null, h);\r\n this.chart = h;\r\n this.canvas = h.canvas;\r\n this.ctx = this.chart.ctx;\r\n this.optionsName = 'title';\r\n if (r(this.options.margin) && h.options.subtitles)\r\n for (var E = h.options.subtitles, w = 0; w < E.length; w++)\r\n if (\r\n ((r(E[w].horizontalAlign) && 'center' === this.horizontalAlign) ||\r\n E[w].horizontalAlign === this.horizontalAlign) &&\r\n ((r(E[w].verticalAlign) && 'top' === this.verticalAlign) ||\r\n E[w].verticalAlign === this.verticalAlign) &&\r\n !E[w].dockInsidePlotArea === !this.dockInsidePlotArea\r\n ) {\r\n this.margin = 0;\r\n break;\r\n }\r\n 'undefined' === typeof this.options.fontSize &&\r\n (this.fontSize = this.chart.getAutoFontSize(this.fontSize));\r\n this.height = this.width = null;\r\n this.bounds = { x1: null, y1: null, x2: null, y2: null };\r\n }\r\n function Ia(h, n, r) {\r\n Ia.base.constructor.call(this, 'Subtitle', 'subtitles', n, r, h);\r\n this.chart = h;\r\n this.canvas = h.canvas;\r\n this.ctx = this.chart.ctx;\r\n this.optionsName = 'subtitles';\r\n this.isOptionsInArray = !0;\r\n 'undefined' === typeof this.options.fontSize &&\r\n (this.fontSize = this.chart.getAutoFontSize(this.fontSize));\r\n this.height = this.width = null;\r\n this.bounds = { x1: null, y1: null, x2: null, y2: null };\r\n }\r\n function Ua() {\r\n this.pool = [];\r\n }\r\n function Ja(h) {\r\n var n;\r\n h && Ka[h] && (n = Ka[h]);\r\n Ja.base.constructor.call(this, 'CultureInfo', null, n, null, null);\r\n }\r\n var Ha = !1,\r\n T = {},\r\n w = !!document.createElement('canvas').getContext,\r\n ra = {\r\n Chart: {\r\n width: 500,\r\n height: 400,\r\n zoomEnabled: !1,\r\n zoomType: 'x',\r\n backgroundColor: 'white',\r\n theme: 'light1',\r\n animationEnabled: !1,\r\n animationDuration: 1200,\r\n dataPointWidth: null,\r\n dataPointMinWidth: null,\r\n dataPointMaxWidth: null,\r\n colorSet: 'colorSet1',\r\n culture: 'en',\r\n creditHref: '',\r\n creditText: 'CanvasJS',\r\n interactivityEnabled: !0,\r\n exportEnabled: !1,\r\n exportFileName: 'Chart',\r\n rangeChanging: null,\r\n rangeChanged: null,\r\n publicProperties: {\r\n title: 'readWrite',\r\n subtitles: 'readWrite',\r\n toolbar: 'readWrite',\r\n toolTip: 'readWrite',\r\n legend: 'readWrite',\r\n axisX: 'readWrite',\r\n axisY: 'readWrite',\r\n axisX2: 'readWrite',\r\n axisY2: 'readWrite',\r\n data: 'readWrite',\r\n options: 'readWrite',\r\n bounds: 'readOnly',\r\n container: 'readOnly',\r\n selectedColorSet: 'readOnly',\r\n },\r\n },\r\n Title: {\r\n padding: 0,\r\n text: null,\r\n verticalAlign: 'top',\r\n horizontalAlign: 'center',\r\n fontSize: 20,\r\n fontFamily: 'Calibri',\r\n fontWeight: 'normal',\r\n fontColor: 'black',\r\n fontStyle: 'normal',\r\n borderThickness: 0,\r\n borderColor: 'black',\r\n cornerRadius: 0,\r\n backgroundColor: w ? 'transparent' : null,\r\n margin: 5,\r\n wrap: !0,\r\n maxWidth: null,\r\n dockInsidePlotArea: !1,\r\n publicProperties: {\r\n options: 'readWrite',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n Subtitle: {\r\n padding: 0,\r\n text: null,\r\n verticalAlign: 'top',\r\n horizontalAlign: 'center',\r\n fontSize: 14,\r\n fontFamily: 'Calibri',\r\n fontWeight: 'normal',\r\n fontColor: 'black',\r\n fontStyle: 'normal',\r\n borderThickness: 0,\r\n borderColor: 'black',\r\n cornerRadius: 0,\r\n backgroundColor: null,\r\n margin: 2,\r\n wrap: !0,\r\n maxWidth: null,\r\n dockInsidePlotArea: !1,\r\n publicProperties: {\r\n options: 'readWrite',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n Toolbar: {\r\n itemBackgroundColor: 'white',\r\n itemBackgroundColorOnHover: '#2196f3',\r\n buttonBorderColor: '#2196f3',\r\n buttonBorderThickness: 1,\r\n fontColor: 'black',\r\n fontColorOnHover: 'white',\r\n publicProperties: { options: 'readWrite', chart: 'readOnly' },\r\n },\r\n Legend: {\r\n name: null,\r\n verticalAlign: 'center',\r\n horizontalAlign: 'right',\r\n fontSize: 14,\r\n fontFamily: 'calibri',\r\n fontWeight: 'normal',\r\n fontColor: 'black',\r\n fontStyle: 'normal',\r\n cursor: null,\r\n itemmouseover: null,\r\n itemmouseout: null,\r\n itemmousemove: null,\r\n itemclick: null,\r\n dockInsidePlotArea: !1,\r\n reversed: !1,\r\n backgroundColor: w ? 'transparent' : null,\r\n borderColor: w ? 'transparent' : null,\r\n borderThickness: 0,\r\n cornerRadius: 0,\r\n maxWidth: null,\r\n maxHeight: null,\r\n markerMargin: null,\r\n itemMaxWidth: null,\r\n itemWidth: null,\r\n itemWrap: !0,\r\n itemTextFormatter: null,\r\n publicProperties: {\r\n options: 'readWrite',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n ToolTip: {\r\n enabled: !0,\r\n shared: !1,\r\n animationEnabled: !0,\r\n content: null,\r\n contentFormatter: null,\r\n reversed: !1,\r\n backgroundColor: w ? 'rgba(255,255,255,.9)' : 'rgb(255,255,255)',\r\n borderColor: null,\r\n borderThickness: 2,\r\n cornerRadius: 5,\r\n fontSize: 14,\r\n fontColor: 'black',\r\n fontFamily: 'Calibri, Arial, Georgia, serif;',\r\n fontWeight: 'normal',\r\n fontStyle: 'italic',\r\n updated: null,\r\n hidden: null,\r\n publicProperties: { options: 'readWrite', chart: 'readOnly' },\r\n },\r\n Axis: {\r\n minimum: null,\r\n maximum: null,\r\n viewportMinimum: null,\r\n viewportMaximum: null,\r\n interval: null,\r\n intervalType: null,\r\n reversed: !1,\r\n logarithmic: !1,\r\n logarithmBase: 10,\r\n title: null,\r\n titleFontColor: 'black',\r\n titleFontSize: 20,\r\n titleFontFamily: 'arial',\r\n titleFontWeight: 'normal',\r\n titleFontStyle: 'normal',\r\n titleWrap: !0,\r\n titleMaxWidth: null,\r\n titleBackgroundColor: w ? 'transparent' : null,\r\n titleBorderColor: w ? 'transparent' : null,\r\n titleBorderThickness: 0,\r\n titleCornerRadius: 0,\r\n labelAngle: 0,\r\n labelFontFamily: 'arial',\r\n labelFontColor: 'black',\r\n labelFontSize: 12,\r\n labelFontWeight: 'normal',\r\n labelFontStyle: 'normal',\r\n labelAutoFit: !0,\r\n labelWrap: !0,\r\n labelMaxWidth: null,\r\n labelFormatter: null,\r\n labelBackgroundColor: w ? 'transparent' : null,\r\n labelBorderColor: w ? 'transparent' : null,\r\n labelBorderThickness: 0,\r\n labelCornerRadius: 0,\r\n labelPlacement: 'outside',\r\n labelTextAlign: 'left',\r\n prefix: '',\r\n suffix: '',\r\n includeZero: !1,\r\n tickLength: 5,\r\n tickColor: 'black',\r\n tickThickness: 1,\r\n tickPlacement: 'outside',\r\n lineColor: 'black',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n gridColor: '#A0A0A0',\r\n gridThickness: 0,\r\n gridDashType: 'solid',\r\n interlacedColor: w ? 'transparent' : null,\r\n valueFormatString: null,\r\n margin: 2,\r\n publicProperties: {\r\n options: 'readWrite',\r\n stripLines: 'readWrite',\r\n scaleBreaks: 'readWrite',\r\n crosshair: 'readWrite',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n StripLine: {\r\n value: null,\r\n startValue: null,\r\n endValue: null,\r\n color: 'orange',\r\n opacity: null,\r\n thickness: 2,\r\n lineDashType: 'solid',\r\n label: '',\r\n labelPlacement: 'inside',\r\n labelAlign: 'far',\r\n labelWrap: !0,\r\n labelMaxWidth: null,\r\n labelBackgroundColor: null,\r\n labelBorderColor: w ? 'transparent' : null,\r\n labelBorderThickness: 0,\r\n labelCornerRadius: 0,\r\n labelFontFamily: 'arial',\r\n labelFontColor: 'orange',\r\n labelFontSize: 12,\r\n labelFontWeight: 'normal',\r\n labelFontStyle: 'normal',\r\n labelFormatter: null,\r\n showOnTop: !1,\r\n publicProperties: {\r\n options: 'readWrite',\r\n axis: 'readOnly',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n ScaleBreaks: {\r\n autoCalculate: !1,\r\n collapsibleThreshold: '25%',\r\n maxNumberOfAutoBreaks: 2,\r\n spacing: 8,\r\n type: 'straight',\r\n color: '#FFFFFF',\r\n fillOpacity: 0.9,\r\n lineThickness: 2,\r\n lineColor: '#E16E6E',\r\n lineDashType: 'solid',\r\n publicProperties: {\r\n options: 'readWrite',\r\n customBreaks: 'readWrite',\r\n axis: 'readOnly',\r\n autoBreaks: 'readOnly',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n Break: {\r\n startValue: null,\r\n endValue: null,\r\n spacing: 8,\r\n type: 'straight',\r\n color: '#FFFFFF',\r\n fillOpacity: 0.9,\r\n lineThickness: 2,\r\n lineColor: '#E16E6E',\r\n lineDashType: 'solid',\r\n publicProperties: {\r\n options: 'readWrite',\r\n scaleBreaks: 'readOnly',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n Crosshair: {\r\n enabled: !1,\r\n snapToDataPoint: !1,\r\n color: 'grey',\r\n opacity: null,\r\n thickness: 2,\r\n lineDashType: 'solid',\r\n label: '',\r\n labelWrap: !0,\r\n labelMaxWidth: null,\r\n labelBackgroundColor: w ? 'grey' : null,\r\n labelBorderColor: w ? 'grey' : null,\r\n labelBorderThickness: 0,\r\n labelCornerRadius: 0,\r\n labelFontFamily: w\r\n ? 'Calibri, Optima, Candara, Verdana, Geneva, sans-serif'\r\n : 'calibri',\r\n labelFontSize: 12,\r\n labelFontColor: '#fff',\r\n labelFontWeight: 'normal',\r\n labelFontStyle: 'normal',\r\n labelFormatter: null,\r\n valueFormatString: null,\r\n updated: null,\r\n hidden: null,\r\n publicProperties: {\r\n options: 'readWrite',\r\n axis: 'readOnly',\r\n bounds: 'readOnly',\r\n chart: 'readOnly',\r\n },\r\n },\r\n DataSeries: {\r\n name: null,\r\n dataPoints: null,\r\n label: '',\r\n bevelEnabled: !1,\r\n highlightEnabled: !0,\r\n cursor: 'default',\r\n indexLabel: '',\r\n indexLabelPlacement: 'auto',\r\n indexLabelOrientation: 'horizontal',\r\n indexLabelTextAlign: 'left',\r\n indexLabelFontColor: 'black',\r\n indexLabelFontSize: 12,\r\n indexLabelFontStyle: 'normal',\r\n indexLabelFontFamily: 'Arial',\r\n indexLabelFontWeight: 'normal',\r\n indexLabelBackgroundColor: null,\r\n indexLabelLineColor: 'gray',\r\n indexLabelLineThickness: 1,\r\n indexLabelLineDashType: 'solid',\r\n indexLabelMaxWidth: null,\r\n indexLabelWrap: !0,\r\n indexLabelFormatter: null,\r\n lineThickness: 2,\r\n lineDashType: 'solid',\r\n connectNullData: !1,\r\n nullDataLineDashType: 'dash',\r\n color: null,\r\n lineColor: null,\r\n risingColor: 'white',\r\n fallingColor: 'red',\r\n fillOpacity: null,\r\n startAngle: 0,\r\n radius: null,\r\n innerRadius: null,\r\n neckHeight: null,\r\n neckWidth: null,\r\n reversed: !1,\r\n valueRepresents: null,\r\n linkedDataSeriesIndex: null,\r\n whiskerThickness: 2,\r\n whiskerDashType: 'solid',\r\n whiskerColor: null,\r\n whiskerLength: null,\r\n stemThickness: 2,\r\n stemColor: null,\r\n stemDashType: 'solid',\r\n upperBoxColor: 'white',\r\n lowerBoxColor: 'white',\r\n type: 'column',\r\n xValueType: 'number',\r\n axisXType: 'primary',\r\n axisYType: 'primary',\r\n axisXIndex: 0,\r\n axisYIndex: 0,\r\n xValueFormatString: null,\r\n yValueFormatString: null,\r\n zValueFormatString: null,\r\n percentFormatString: null,\r\n showInLegend: null,\r\n legendMarkerType: null,\r\n legendMarkerColor: null,\r\n legendText: null,\r\n legendMarkerBorderColor: w ? 'transparent' : null,\r\n legendMarkerBorderThickness: 0,\r\n markerType: 'circle',\r\n markerColor: null,\r\n markerSize: null,\r\n markerBorderColor: w ? 'transparent' : null,\r\n markerBorderThickness: 0,\r\n mouseover: null,\r\n mouseout: null,\r\n mousemove: null,\r\n click: null,\r\n toolTipContent: null,\r\n visible: !0,\r\n publicProperties: {\r\n options: 'readWrite',\r\n axisX: 'readWrite',\r\n axisY: 'readWrite',\r\n chart: 'readOnly',\r\n },\r\n },\r\n TextBlock: {\r\n x: 0,\r\n y: 0,\r\n width: null,\r\n height: null,\r\n maxWidth: null,\r\n maxHeight: null,\r\n padding: 0,\r\n angle: 0,\r\n text: '',\r\n horizontalAlign: 'center',\r\n textAlign: 'left',\r\n fontSize: 12,\r\n fontFamily: 'calibri',\r\n fontWeight: 'normal',\r\n fontColor: 'black',\r\n fontStyle: 'normal',\r\n borderThickness: 0,\r\n borderColor: 'black',\r\n cornerRadius: 0,\r\n backgroundColor: null,\r\n textBaseline: 'top',\r\n },\r\n CultureInfo: {\r\n decimalSeparator: '.',\r\n digitGroupSeparator: ',',\r\n zoomText: 'Zoom',\r\n panText: 'Pan',\r\n resetText: 'Reset',\r\n menuText: 'More Options',\r\n saveJPGText: 'Save as JPEG',\r\n savePNGText: 'Save as PNG',\r\n printText: 'Print',\r\n days: 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(\r\n ' '\r\n ),\r\n shortDays: 'Sun Mon Tue Wed Thu Fri Sat'.split(' '),\r\n months: 'January February March April May June July August September October November December'.split(\r\n ' '\r\n ),\r\n shortMonths: 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(\r\n ' '\r\n ),\r\n },\r\n },\r\n Ka = { en: {} },\r\n v = w ? 'Trebuchet MS, Helvetica, sans-serif' : 'Arial',\r\n Fa = w ? 'Impact, Charcoal, sans-serif' : 'Arial',\r\n Aa = {\r\n colorSet1: '#4F81BC #C0504E #9BBB58 #23BFAA #8064A1 #4AACC5 #F79647 #7F6084 #77A033 #33558B #E59566'.split(\r\n ' '\r\n ),\r\n colorSet2: '#6D78AD #51CDA0 #DF7970 #4C9CA0 #AE7D99 #C9D45C #5592AD #DF874D #52BCA8 #8E7AA3 #E3CB64 #C77B85 #C39762 #8DD17E #B57952 #FCC26C'.split(\r\n ' '\r\n ),\r\n colorSet3: '#8CA1BC #36845C #017E82 #8CB9D0 #708C98 #94838D #F08891 #0366A7 #008276 #EE7757 #E5BA3A #F2990B #03557B #782970'.split(\r\n ' '\r\n ),\r\n },\r\n O,\r\n ga,\r\n W,\r\n Y,\r\n X;\r\n ga = '#333333';\r\n W = '#000000';\r\n O = '#666666';\r\n X = Y = '#000000';\r\n var ea = 20,\r\n B = 14,\r\n Va = {\r\n colorSet: 'colorSet1',\r\n backgroundColor: '#FFFFFF',\r\n title: {\r\n fontFamily: Fa,\r\n fontSize: 32,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n subtitles: [\r\n {\r\n fontFamily: Fa,\r\n fontSize: B,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n ],\r\n data: [\r\n {\r\n indexLabelFontFamily: v,\r\n indexLabelFontSize: B,\r\n indexLabelFontColor: ga,\r\n indexLabelFontWeight: 'normal',\r\n indexLabelLineThickness: 1,\r\n },\r\n ],\r\n axisX: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: ga,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisX2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: ga,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisY: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: ga,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisY2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: ga,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n legend: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontColor: ga,\r\n fontWeight: 'bold',\r\n verticalAlign: 'bottom',\r\n horizontalAlign: 'center',\r\n },\r\n toolTip: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontStyle: 'normal',\r\n cornerRadius: 0,\r\n borderThickness: 1,\r\n },\r\n toolbar: {\r\n itemBackgroundColor: 'white',\r\n itemBackgroundColorOnHover: '#2196f3',\r\n buttonBorderColor: '#2196f3',\r\n buttonBorderThickness: 1,\r\n fontColor: 'black',\r\n fontColorOnHover: 'white',\r\n },\r\n };\r\n W = ga = '#F5F5F5';\r\n O = '#FFFFFF';\r\n Y = '#40BAF1';\r\n X = '#F5F5F5';\r\n var ea = 20,\r\n B = 14,\r\n ab = {\r\n colorSet: 'colorSet2',\r\n title: {\r\n fontFamily: v,\r\n fontSize: 33,\r\n fontColor: '#3A3A3A',\r\n fontWeight: 'bold',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n subtitles: [\r\n {\r\n fontFamily: v,\r\n fontSize: B,\r\n fontColor: '#3A3A3A',\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n ],\r\n data: [\r\n {\r\n indexLabelFontFamily: v,\r\n indexLabelFontSize: B,\r\n indexLabelFontColor: '#666666',\r\n indexLabelFontWeight: 'normal',\r\n indexLabelLineThickness: 1,\r\n },\r\n ],\r\n axisX: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: '#666666',\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#666666',\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: '#BBBBBB',\r\n tickThickness: 1,\r\n tickColor: '#BBBBBB',\r\n gridThickness: 1,\r\n gridColor: '#BBBBBB',\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FFA500',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FFA500',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: 'black',\r\n color: 'black',\r\n thickness: 1,\r\n lineDashType: 'dot',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisX2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: '#666666',\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#666666',\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: '#BBBBBB',\r\n tickColor: '#BBBBBB',\r\n tickThickness: 1,\r\n gridThickness: 1,\r\n gridColor: '#BBBBBB',\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FFA500',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FFA500',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: 'black',\r\n color: 'black',\r\n thickness: 1,\r\n lineDashType: 'dot',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisY: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: '#666666',\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#666666',\r\n labelFontWeight: 'normal',\r\n lineThickness: 0,\r\n lineColor: '#BBBBBB',\r\n tickColor: '#BBBBBB',\r\n tickThickness: 1,\r\n gridThickness: 1,\r\n gridColor: '#BBBBBB',\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FFA500',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FFA500',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: 'black',\r\n color: 'black',\r\n thickness: 1,\r\n lineDashType: 'dot',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n axisY2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: '#666666',\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#666666',\r\n labelFontWeight: 'normal',\r\n lineThickness: 0,\r\n lineColor: '#BBBBBB',\r\n tickColor: '#BBBBBB',\r\n tickThickness: 1,\r\n gridThickness: 1,\r\n gridColor: '#BBBBBB',\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FFA500',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FFA500',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#EEEEEE',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: 'black',\r\n color: 'black',\r\n thickness: 1,\r\n lineDashType: 'dot',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#BBBBBB',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n },\r\n },\r\n ],\r\n legend: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontColor: '#3A3A3A',\r\n fontWeight: 'bold',\r\n verticalAlign: 'bottom',\r\n horizontalAlign: 'center',\r\n },\r\n toolTip: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontStyle: 'normal',\r\n cornerRadius: 0,\r\n borderThickness: 1,\r\n },\r\n toolbar: {\r\n itemBackgroundColor: 'white',\r\n itemBackgroundColorOnHover: '#2196f3',\r\n buttonBorderColor: '#2196f3',\r\n buttonBorderThickness: 1,\r\n fontColor: 'black',\r\n fontColorOnHover: 'white',\r\n },\r\n };\r\n W = ga = '#F5F5F5';\r\n O = '#FFFFFF';\r\n Y = '#40BAF1';\r\n X = '#F5F5F5';\r\n ea = 20;\r\n B = 14;\r\n Fa = {\r\n colorSet: 'colorSet12',\r\n backgroundColor: '#2A2A2A',\r\n title: {\r\n fontFamily: Fa,\r\n fontSize: 32,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n subtitles: [\r\n {\r\n fontFamily: Fa,\r\n fontSize: B,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n ],\r\n toolbar: {\r\n itemBackgroundColor: '#666666',\r\n itemBackgroundColorOnHover: '#FF7372',\r\n buttonBorderColor: '#FF7372',\r\n buttonBorderThickness: 1,\r\n fontColor: '#F5F5F5',\r\n fontColorOnHover: '#F5F5F5',\r\n },\r\n data: [\r\n {\r\n indexLabelFontFamily: v,\r\n indexLabelFontSize: B,\r\n indexLabelFontColor: W,\r\n indexLabelFontWeight: 'normal',\r\n indexLabelLineThickness: 1,\r\n },\r\n ],\r\n axisX: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisX2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisY: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisY2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n legend: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontColor: ga,\r\n fontWeight: 'bold',\r\n verticalAlign: 'bottom',\r\n horizontalAlign: 'center',\r\n },\r\n toolTip: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontStyle: 'normal',\r\n cornerRadius: 0,\r\n borderThickness: 1,\r\n fontColor: W,\r\n backgroundColor: 'rgba(0, 0, 0, .7)',\r\n },\r\n };\r\n O = '#FFFFFF';\r\n W = ga = '#FAFAFA';\r\n Y = '#40BAF1';\r\n X = '#F5F5F5';\r\n var ea = 20,\r\n B = 14,\r\n bb = {\r\n light1: Va,\r\n light2: ab,\r\n dark1: Fa,\r\n dark2: {\r\n colorSet: 'colorSet2',\r\n backgroundColor: '#32373A',\r\n title: {\r\n fontFamily: v,\r\n fontSize: 32,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n subtitles: [\r\n {\r\n fontFamily: v,\r\n fontSize: B,\r\n fontColor: ga,\r\n fontWeight: 'normal',\r\n verticalAlign: 'top',\r\n margin: 5,\r\n },\r\n ],\r\n toolbar: {\r\n itemBackgroundColor: '#666666',\r\n itemBackgroundColorOnHover: '#FF7372',\r\n buttonBorderColor: '#FF7372',\r\n buttonBorderThickness: 1,\r\n fontColor: '#F5F5F5',\r\n fontColorOnHover: '#F5F5F5',\r\n },\r\n data: [\r\n {\r\n indexLabelFontFamily: v,\r\n indexLabelFontSize: B,\r\n indexLabelFontColor: W,\r\n indexLabelFontWeight: 'normal',\r\n indexLabelLineThickness: 1,\r\n },\r\n ],\r\n axisX: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisX2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 1,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 0,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisY: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 0,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n axisY2: [\r\n {\r\n titleFontFamily: v,\r\n titleFontSize: ea,\r\n titleFontColor: W,\r\n titleFontWeight: 'normal',\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: W,\r\n labelFontWeight: 'normal',\r\n lineThickness: 0,\r\n lineColor: O,\r\n tickThickness: 1,\r\n tickColor: O,\r\n gridThickness: 1,\r\n gridColor: O,\r\n stripLines: [\r\n {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#FF7300',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: null,\r\n color: '#FF7300',\r\n thickness: 1,\r\n },\r\n ],\r\n crosshair: {\r\n labelFontFamily: v,\r\n labelFontSize: B,\r\n labelFontColor: '#000000',\r\n labelFontWeight: 'normal',\r\n labelBackgroundColor: X,\r\n color: Y,\r\n thickness: 1,\r\n lineDashType: 'dash',\r\n },\r\n scaleBreaks: {\r\n type: 'zigzag',\r\n spacing: '2%',\r\n lineColor: '#777777',\r\n lineThickness: 1,\r\n lineDashType: 'solid',\r\n color: '#111111',\r\n },\r\n },\r\n ],\r\n legend: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontColor: ga,\r\n fontWeight: 'bold',\r\n verticalAlign: 'bottom',\r\n horizontalAlign: 'center',\r\n },\r\n toolTip: {\r\n fontFamily: v,\r\n fontSize: 14,\r\n fontStyle: 'normal',\r\n cornerRadius: 0,\r\n borderThickness: 1,\r\n fontColor: W,\r\n backgroundColor: 'rgba(0, 0, 0, .7)',\r\n },\r\n },\r\n theme1: Va,\r\n theme2: ab,\r\n theme3: Va,\r\n },\r\n K = {\r\n numberDuration: 1,\r\n yearDuration: 314496e5,\r\n monthDuration: 2592e6,\r\n weekDuration: 6048e5,\r\n dayDuration: 864e5,\r\n hourDuration: 36e5,\r\n minuteDuration: 6e4,\r\n secondDuration: 1e3,\r\n millisecondDuration: 1,\r\n dayOfWeekFromInt: 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(\r\n ' '\r\n ),\r\n };\r\n (function () {\r\n T.fSDec = function (h) {\r\n for (var n = '', r = 0; r < h.length; r++)\r\n n += String.fromCharCode(\r\n Math.ceil(h.length / 57 / 5) ^ h.charCodeAt(r)\r\n );\r\n return n;\r\n };\r\n delete ra[T.fSDec('Bi`su')][T.fSDec('bsdehuIsdg')];\r\n T.pro = { sCH: ra[T.fSDec('Bi`su')][T.fSDec('bsdehuIsdg')] };\r\n T.pos = ['cm', 'cs', 'um'];\r\n T._fTWm = function (h) {\r\n if ('undefined' === typeof T.pro.sCH && !cb)\r\n try {\r\n var n = new Date().getMonth() % 3,\r\n r,\r\n w,\r\n U = h[T.fSDec('buy')];\r\n U[T.fSDec('udyuC`rdmhod')] = T.fSDec('unq');\r\n U[T.fSDec('gnou')] =\r\n 11 +\r\n T.fSDec(\r\n 'qy!B`mhcsh-!Mtbhe`!Fs`oed-!Mtbhe`!R`or!Tohbned-!@sh`m-!r`or,rdshg'\r\n );\r\n U[T.fSDec('ghmmRuxmd')] = T.fSDec('fsdx');\r\n r =\r\n 'cm' === T.pos[n] || 'um' === T.pos[n]\r\n ? 0\r\n : h.width -\r\n U[T.fSDec('ld`rtsdUdyu')](T.fSDec('B`ow`rKR!Ush`m')).width;\r\n w = 'um' === T.pos[n] ? 0 : h.height - 11;\r\n U[T.fSDec('ghmmUdyu')](T.fSDec('B`ow`rKR!Ush`m'), r, w);\r\n 'cs' === T.pos[n] &&\r\n (h[T.fSDec('^bsdehuMhoj')].style.right = T.fSDec('`tun'));\r\n } catch (v) {}\r\n };\r\n })();\r\n var gb = (function () {\r\n var h = !1;\r\n try {\r\n var n =\r\n Object.defineProperty &&\r\n Object.defineProperty({}, 'passive', {\r\n get: function () {\r\n h = !0;\r\n return !1;\r\n },\r\n });\r\n window.addEventListener &&\r\n (window.addEventListener('test', null, n),\r\n window.removeEventListener('test', null, n));\r\n } catch (r) {\r\n h = !1;\r\n }\r\n return h;\r\n })(),\r\n Ya = {},\r\n ta = null,\r\n lb = function () {\r\n this.ctx.clearRect(0, 0, this.width, this.height);\r\n this.backgroundColor &&\r\n ((this.ctx.fillStyle = this.backgroundColor),\r\n this.ctx.fillRect(0, 0, this.width, this.height));\r\n },\r\n ya = function (h) {\r\n h.width = 1;\r\n h.height = 1;\r\n h.getContext('2d') && h.getContext('2d').clearRect(0, 0, 1, 1);\r\n },\r\n mb = function (h, n, r) {\r\n n = Math.min(this.width, this.height);\r\n return Math.max(\r\n 'theme4' === this.theme ? 0 : 300 <= n ? 12 : 11,\r\n Math.round(n * (h / 400))\r\n );\r\n },\r\n Ba = (function () {\r\n var h = /D{1,4}|M{1,4}|Y{1,4}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|f{1,3}|t{1,2}|T{1,2}|K|z{1,3}|\"[^\"]*\"|'[^']*'/g,\r\n n = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(\r\n ' '\r\n ),\r\n r = 'Sun Mon Tue Wed Thu Fri Sat'.split(' '),\r\n w = 'January February March April May June July August September October November December'.split(\r\n ' '\r\n ),\r\n U = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '),\r\n v = /\\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\\d{4})?)\\b/g,\r\n A = /[^-+\\dA-Z]/g;\r\n return function (B, J, P) {\r\n var O = P ? P.days : n,\r\n Q = P ? P.months : w,\r\n I = P ? P.shortDays : r,\r\n K = P ? P.shortMonths : U;\r\n P = '';\r\n var T = !1;\r\n B = B && B.getTime ? B : B ? new Date(B) : new Date();\r\n if (isNaN(B)) throw SyntaxError('invalid date');\r\n 'UTC:' === J.slice(0, 4) && ((J = J.slice(4)), (T = !0));\r\n P = T ? 'getUTC' : 'get';\r\n var V = B[P + 'Date'](),\r\n N = B[P + 'Day'](),\r\n aa = B[P + 'Month'](),\r\n a = B[P + 'FullYear'](),\r\n d = B[P + 'Hours'](),\r\n c = B[P + 'Minutes'](),\r\n b = B[P + 'Seconds'](),\r\n e = B[P + 'Milliseconds'](),\r\n f = T ? 0 : B.getTimezoneOffset();\r\n return (P = J.replace(h, function (l) {\r\n switch (l) {\r\n case 'D':\r\n return V;\r\n case 'DD':\r\n return ba(V, 2);\r\n case 'DDD':\r\n return I[N];\r\n case 'DDDD':\r\n return O[N];\r\n case 'M':\r\n return aa + 1;\r\n case 'MM':\r\n return ba(aa + 1, 2);\r\n case 'MMM':\r\n return K[aa];\r\n case 'MMMM':\r\n return Q[aa];\r\n case 'Y':\r\n return parseInt(String(a).slice(-2));\r\n case 'YY':\r\n return ba(String(a).slice(-2), 2);\r\n case 'YYY':\r\n return ba(String(a).slice(-3), 3);\r\n case 'YYYY':\r\n return ba(a, 4);\r\n case 'h':\r\n return d % 12 || 12;\r\n case 'hh':\r\n return ba(d % 12 || 12, 2);\r\n case 'H':\r\n return d;\r\n case 'HH':\r\n return ba(d, 2);\r\n case 'm':\r\n return c;\r\n case 'mm':\r\n return ba(c, 2);\r\n case 's':\r\n return b;\r\n case 'ss':\r\n return ba(b, 2);\r\n case 'f':\r\n return ba(String(e), 3).slice(0, 1);\r\n case 'ff':\r\n return ba(String(e), 3).slice(0, 2);\r\n case 'fff':\r\n return ba(String(e), 3).slice(0, 3);\r\n case 't':\r\n return 12 > d ? 'a' : 'p';\r\n case 'tt':\r\n return 12 > d ? 'am' : 'pm';\r\n case 'T':\r\n return 12 > d ? 'A' : 'P';\r\n case 'TT':\r\n return 12 > d ? 'AM' : 'PM';\r\n case 'K':\r\n return T\r\n ? 'UTC'\r\n : (String(B).match(v) || ['']).pop().replace(A, '');\r\n case 'z':\r\n return (0 < f ? '-' : '+') + Math.floor(Math.abs(f) / 60);\r\n case 'zz':\r\n return (0 < f ? '-' : '+') + ba(Math.floor(Math.abs(f) / 60), 2);\r\n case 'zzz':\r\n return (\r\n (0 < f ? '-' : '+') +\r\n ba(Math.floor(Math.abs(f) / 60), 2) +\r\n ba(Math.abs(f) % 60, 2)\r\n );\r\n default:\r\n return l.slice(1, l.length - 1);\r\n }\r\n }));\r\n };\r\n })(),\r\n ha = function (h, n, r) {\r\n if (null === h) return '';\r\n if (!isFinite(h)) return h;\r\n h = Number(h);\r\n var w = 0 > h ? !0 : !1;\r\n w && (h *= -1);\r\n var U = r ? r.decimalSeparator : '.',\r\n v = r ? r.digitGroupSeparator : ',',\r\n A = '';\r\n n = String(n);\r\n var A = 1,\r\n B = (r = ''),\r\n J = -1,\r\n P = [],\r\n O = [],\r\n Q = 0,\r\n I = 0,\r\n K = 0,\r\n T = !1,\r\n V = 0,\r\n B = n.match(/\"[^\"]*\"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\\u2030|./g);\r\n n = null;\r\n for (var N = 0; B && N < B.length; N++)\r\n if (((n = B[N]), '.' === n && 0 > J)) J = N;\r\n else {\r\n if ('%' === n) A *= 100;\r\n else if ('\\u2030' === n) {\r\n A *= 1e3;\r\n continue;\r\n } else if (',' === n[0] && '.' === n[n.length - 1]) {\r\n A /= Math.pow(1e3, n.length - 1);\r\n J = N + n.length - 1;\r\n continue;\r\n } else\r\n ('E' !== n[0] && 'e' !== n[0]) ||\r\n '0' !== n[n.length - 1] ||\r\n (T = !0);\r\n 0 > J\r\n ? (P.push(n), '#' === n || '0' === n ? Q++ : ',' === n && K++)\r\n : (O.push(n), ('#' !== n && '0' !== n) || I++);\r\n }\r\n T &&\r\n ((n = Math.floor(h)),\r\n (B = -Math.floor(Math.log(h) / Math.LN10 + 1)),\r\n (V = 0 === h ? 0 : 0 === n ? -(Q + B) : String(n).length - Q),\r\n (A /= Math.pow(10, V)));\r\n 0 > J && (J = N);\r\n A = (h * A).toFixed(I);\r\n n = A.split('.');\r\n A = (n[0] + '').split('');\r\n h = (n[1] + '').split('');\r\n A && '0' === A[0] && A.shift();\r\n for (T = B = N = I = J = 0; 0 < P.length; )\r\n if (((n = P.pop()), '#' === n || '0' === n))\r\n if ((J++, J === Q)) {\r\n var aa = A,\r\n A = [];\r\n if ('0' === n)\r\n for (n = Q - I - (aa ? aa.length : 0); 0 < n; )\r\n aa.unshift('0'), n--;\r\n for (; 0 < aa.length; )\r\n (r = aa.pop() + r),\r\n T++,\r\n 0 === T % B && N === K && 0 < aa.length && (r = v + r);\r\n } else\r\n 0 < A.length\r\n ? ((r = A.pop() + r), I++, T++)\r\n : '0' === n && ((r = '0' + r), I++, T++),\r\n 0 === T % B && N === K && 0 < A.length && (r = v + r);\r\n else\r\n ('E' !== n[0] && 'e' !== n[0]) ||\r\n '0' !== n[n.length - 1] ||\r\n !/[eE][+-]*[0]+/.test(n)\r\n ? ',' === n\r\n ? (N++, (B = T), (T = 0), 0 < A.length && (r = v + r))\r\n : (r =\r\n 1 < n.length &&\r\n (('\"' === n[0] && '\"' === n[n.length - 1]) ||\r\n (\"'\" === n[0] && \"'\" === n[n.length - 1]))\r\n ? n.slice(1, n.length - 1) + r\r\n : n + r)\r\n : ((n =\r\n 0 > V\r\n ? n.replace('+', '').replace('-', '')\r\n : n.replace('-', '')),\r\n (r += n.replace(/[0]+/, function (a) {\r\n return ba(V, a.length);\r\n })));\r\n v = '';\r\n for (P = !1; 0 < O.length; )\r\n (n = O.shift()),\r\n '#' === n || '0' === n\r\n ? 0 < h.length && 0 !== Number(h.join(''))\r\n ? ((v += h.shift()), (P = !0))\r\n : '0' === n && ((v += '0'), (P = !0))\r\n : 1 < n.length &&\r\n (('\"' === n[0] && '\"' === n[n.length - 1]) ||\r\n (\"'\" === n[0] && \"'\" === n[n.length - 1]))\r\n ? (v += n.slice(1, n.length - 1))\r\n : ('E' !== n[0] && 'e' !== n[0]) ||\r\n '0' !== n[n.length - 1] ||\r\n !/[eE][+-]*[0]+/.test(n)\r\n ? (v += n)\r\n : ((n =\r\n 0 > V\r\n ? n.replace('+', '').replace('-', '')\r\n : n.replace('-', '')),\r\n (v += n.replace(/[0]+/, function (a) {\r\n return ba(V, a.length);\r\n })));\r\n r += (P ? U : '') + v;\r\n return w ? '-' + r : r;\r\n },\r\n Oa = function (h) {\r\n var n = 0,\r\n r = 0;\r\n h = h || window.event;\r\n h.offsetX || 0 === h.offsetX\r\n ? ((n = h.offsetX), (r = h.offsetY))\r\n : h.layerX || 0 == h.layerX\r\n ? ((n = h.layerX), (r = h.layerY))\r\n : ((n = h.pageX - h.target.offsetLeft),\r\n (r = h.pageY - h.target.offsetTop));\r\n return { x: n, y: r };\r\n },\r\n $a = !0,\r\n Ra = window.devicePixelRatio || 1,\r\n Na = 1,\r\n la = $a ? Ra / Na : 1,\r\n da = function (h, n, r, w, v, B, A, J, Q, P, T, O, I) {\r\n 'undefined' === typeof I && (I = 1);\r\n A = A || 0;\r\n J = J || 'black';\r\n var K = 15 < w - n && 15 < v - r ? 8 : 0.35 * Math.min(w - n, v - r);\r\n h.beginPath();\r\n h.moveTo(n, r);\r\n h.save();\r\n h.fillStyle = B;\r\n h.globalAlpha = I;\r\n h.fillRect(n, r, w - n, v - r);\r\n h.globalAlpha = 1;\r\n 0 < A &&\r\n ((I = 0 === A % 2 ? 0 : 0.5),\r\n h.beginPath(),\r\n (h.lineWidth = A),\r\n (h.strokeStyle = J),\r\n h.moveTo(n, r),\r\n h.rect(n - I, r - I, w - n + 2 * I, v - r + 2 * I),\r\n h.stroke());\r\n h.restore();\r\n !0 === Q &&\r\n (h.save(),\r\n h.beginPath(),\r\n h.moveTo(n, r),\r\n h.lineTo(n + K, r + K),\r\n h.lineTo(w - K, r + K),\r\n h.lineTo(w, r),\r\n h.closePath(),\r\n (A = h.createLinearGradient((w + n) / 2, r + K, (w + n) / 2, r)),\r\n A.addColorStop(0, B),\r\n A.addColorStop(1, 'rgba(255, 255, 255, .4)'),\r\n (h.fillStyle = A),\r\n h.fill(),\r\n h.restore());\r\n !0 === P &&\r\n (h.save(),\r\n h.beginPath(),\r\n h.moveTo(n, v),\r\n h.lineTo(n + K, v - K),\r\n h.lineTo(w - K, v - K),\r\n h.lineTo(w, v),\r\n h.closePath(),\r\n (A = h.createLinearGradient((w + n) / 2, v - K, (w + n) / 2, v)),\r\n A.addColorStop(0, B),\r\n A.addColorStop(1, 'rgba(255, 255, 255, .4)'),\r\n (h.fillStyle = A),\r\n h.fill(),\r\n h.restore());\r\n !0 === T &&\r\n (h.save(),\r\n h.beginPath(),\r\n h.moveTo(n, r),\r\n h.lineTo(n + K, r + K),\r\n h.lineTo(n + K, v - K),\r\n h.lineTo(n, v),\r\n h.closePath(),\r\n (A = h.createLinearGradient(n + K, (v + r) / 2, n, (v + r) / 2)),\r\n A.addColorStop(0, B),\r\n A.addColorStop(1, 'rgba(255, 255, 255, 0.1)'),\r\n (h.fillStyle = A),\r\n h.fill(),\r\n h.restore());\r\n !0 === O &&\r\n (h.save(),\r\n h.beginPath(),\r\n h.moveTo(w, r),\r\n h.lineTo(w - K, r + K),\r\n h.lineTo(w - K, v - K),\r\n h.lineTo(w, v),\r\n (A = h.createLinearGradient(w - K, (v + r) / 2, w, (v + r) / 2)),\r\n A.addColorStop(0, B),\r\n A.addColorStop(1, 'rgba(255, 255, 255, 0.1)'),\r\n (h.fillStyle = A),\r\n A.addColorStop(0, B),\r\n A.addColorStop(1, 'rgba(255, 255, 255, 0.1)'),\r\n (h.fillStyle = A),\r\n h.fill(),\r\n h.closePath(),\r\n h.restore());\r\n },\r\n ja = function (h) {\r\n for (var n = '', r = 0; r < h.length; r++)\r\n n += String.fromCharCode(\r\n Math.ceil(h.length / 57 / 5) ^ h.charCodeAt(r)\r\n );\r\n return n;\r\n },\r\n cb =\r\n window &&\r\n window[ja('mnb`uhno')] &&\r\n window[ja('mnb`uhno')].href &&\r\n window[ja('mnb`uhno')].href.indexOf &&\r\n (-1 !== window[ja('mnb`uhno')].href.indexOf(ja('b`ow`rkr/bnl')) ||\r\n -1 !== window[ja('mnb`uhno')].href.indexOf(ja('gdonqhy/bnl')) ||\r\n -1 !== window[ja('mnb`uhno')].href.indexOf(ja('gheemd'))),\r\n jb = cb && -1 === window[ja('mnb`uhno')].href.indexOf(ja('gheemd')),\r\n kb = {\r\n reset: {\r\n image:\r\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAeCAYAAABJ/8wUAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPjSURBVFhHxVdJaFNRFP1J/jwkP5MxsbaC1WJEglSxOFAXIsFpVRE3ggi1K90obioRRBA33XXnQnciirhQcMCdorgQxBkXWlREkFKsWkv5npvckp/XnzRpKh64kLw733fffe9L/wrL0+mVUdO8uTSZ3MBL/we2qg4rkuSpodCELstXE46ziVkLQ6FQcGOmeSSq6wd4aV50d3drWjj8kQKZJTUc9kxFGenv79dZrDksTSTWWJp2QYtEPiErysyzdX0LsxsCQR8keX8gs6RHIk8ysdgKFg2G53mhuOPsshTlBjKaFo1g7SqLNoShKLdFXT8huQ/paLSbxatYnc2mHMM4hr18Vi8TIvCmXF3vYrW6cF23gGTOk0M1wA4RKvOmq6vLZRVJipvmSWT6tZ6CSEYkco5V50VPT4+D7RwOqi6RiSZm0fJ+vggSqkeoypdsNmuyelNwbXsbgvkWYMtzDWNvWaijoyOBqE+hVK8abcssUeXQ/YfKyi0gFYv1Ipgfoj34fYGTJLOYJA0ODirok32GLN8XhUWCwSes1hIwBg6LydJ/tEeRRapAdUp+wSAiZchtZZWWgAZ+JNpD8peYXQVK9UwUxNpzOK8pq97kURZhYTCKBwPD7h2zK+js7Myi7D8Fod+0TkMI8+EMAngLGc/WtBFWawkFHFnoj/t9KLgGmF0B3QfkxC+EarxkdhnFYlFLY06USqUwL7UMjICHfh/wOc2sCqhpxGbCkLvL7EUDbF73+6DkmVWB6zi7xUDQSLeYvWjAILvm9zEnkJhlbRcDQZcv6Kg2AipyT/Axw6wKlqVSqxDdjF8Izfod13qURdrG/nxehY+xGh+h0CSzKygGvSNQIcc097BI24jb9hax6kj2E7OrMFX1il+ICEf2NrPbhiXLl+fYl+U7zK4iYdsDcyLGf+ofFlkwcN+s10KhmpuYhhtm0hCLVIFL0MDsqNlDIqy9x2CLs1jL6OvrI7vPRbtohXG6eFmsFnHDGAp6n9AgyuVySRZrGvROxRgIfLXhzjrNYnNBUxNX/dMgRWT1mt4XLDovaApD53E9W3ilNX5M55LJHpRtIsgAvciR4WWcgK2Dvb1YqgXevmF8z2zEBTcKG39EfSKsT9EbhVUaI2FZO+oZIqImxol6j66/hcAu4sSN4vc1ZPoKeoE6RGhYL2YYA+ymOSSi0Z0wWntbtkGUWCvfSDXIxONraZ/FY90KUfNTpfC5spnNLgxoYNnR9RO4F8ofXEHOgogCQE99w+fF2Xw+b7O59rEOsyRqGEfpVoaDMQQ1CZrG46bcM6AZ0C/wPqNfHliqejyTySxh9TqQpL+xmbIlkB9SlAAAAABJRU5ErkJggg==',\r\n },\r\n pan: {\r\n image:\r\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAICSURBVEhLxZbPahNRGMUn/5MpuAiBEAIufQGfzr5E40YptBXajYzudCEuGqS+gGlrFwquDGRTutBdYfydzJ3LzeQmJGZue+Dw/Z17Mnfmu5Pof9Hr9Z61Wq0bWZMKj263O6xWq99wU9lOpzPMKgEhEcRucNOcioOK+0RzBhNvt9tPV4nmVF19+OWhVqt9xXgFXZq+8lCv119UKpUJ7iX2FmvFTKz8RH34YdBsNk8wVtjE4fGYwm8wrrDi3WBG5oKXZGRSS9hGuNFojLTe2lFz5xThWZIktayyiE2FdT3rzXBXz7krKiL8c17wAKFDjCus2AvW+YGZ9y2JF0VFRuMPfI//rsCE/C+s26s4gQu9ul7r4NteKx7H8XOC724xNNGbaNu++IrBqbOV7Tj3FgMRvc/YKOr3+3sE47wgEt/Bl/gaK5cHbNU11vYSXylfpK7XOvjuumPp4Wcoipu30Qsez2uMXYz4lfI+mOmwothY+SLiXJy7mKVpWs3Si0CoOMfeI9Od43Wic+jO+ZVv+crsm9QSNhUW9LXSeoPBYLXopthGuFQgdIxxhY+UDwlt1x5CZ1hX+NTUdt/OIvjKaDSmuOJfaIVNPKX+W18j/PLA2/kR44p5Sd8HbHngT/yTfNRWUXX14ZcL3wmX0+TLf8YO7CGT8yFE5zB3/gney25/OETRP9CtPDFe5jShAAAAAElFTkSuQmCC',\r\n },\r\n zoom: {\r\n image:\r\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALWSURBVEhLvZZLaBNRFIabyftBIgEfqCCBoCC6MYqiXYiIj4U76U4X7sUHbhQhUBfixhZEUBDB16YuFERaUaQLK7ooCOJj4UKtYEFU0EptShO/A9Ph3js3k8lo/eHnP7n3nP/M3LlzMz1hkUwmNziOcyKRSFyFt+LxeD/c2Wq1Ym7Kv0M2m11Os1OxWGycn1OwZXCGuXfwIhezkd9/jRgNT2L4ldhs1pbkX5OLJe4euVxuGQaPCa3mnUjtJx7BDuKusJTCV6jVVGHTMuYRjxma7yIOhTgFY6jNaAKew2xPKpVay9ganmkvj+M448/MfJdT5K5Gg4HJacRngPFgqVRaRNwW1B4i7yehWfsEDdz1K+A01AoxPIqGAiuwGfkOTY8+1A6u7AyiFTB2Hu0KPIrdiOnzHLWDybeImvy+Wq2mZa5bUHsD0Zpz+KxHdWQymV6kAb1ElqeORgJLvgnRdj1+R1AfzkIvSUjxVjQSarVakrueIPT8+H1F5jSUy+WXiJrUYBVWyVxU4PEU8TzhfaijUqnMIWrjaY492eWRwdKOIqrnIxnXwLLeRLwk2GQzrEMjg0avEbXxkIxr4OoOImpj2QwyFgms1koa/SZUG8s+0iGnEhNfCNXEhzIXBVz0McTzEvJ+70P9oNFtxEzei3aFYrFYxmuSUPWSv9Yi9IMm2xE1We56Mp1OV4nDwqFmBDV9gk9AEh4gZtFHNt8W4kAUCoXF5MorY9Z/kDni9nDv7hc0i2fhgLvTtX8a99PoMPPagTFPxofRzmDJ9yM+AyEmTfgGysYbQcfhDzPPJDmX0c7gDg4gs9BqFIWhm/Nct5H8gtBq1I7UfIbtvmIuoaGQcp+fdpbbSM43eEH5wrwLbXmhm/fU63VHXjcuok7hEByFY/AeHGC8L5/PL3HT5xGH1uYwfPOICGo+CBcU0vwO1BqzUqILDl/z/9VYIMfpddiAc47jDP8BsUpb13wOLRwAAAAASUVORK5CYII=',\r\n },\r\n menu: {\r\n image:\r\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAYAAABE4bxTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADoSURBVFhH7dc9CsJAFATgRxIIBCwCqZKATX5sbawsY2MvWOtF9AB6AU8gguAJbD2AnZ2VXQT/Ko2TYGCL2OYtYQc+BuYA+1hCtnCVwMm27SGaXpDJIAiCvCkVR05hGOZNN3HkFMdx3nQRR06+76/R1IcFLJlNQEWlmWlBTwJtKLKHynehZqnjOGM0PYWRVXk61C37p7xlZ3Hk5HneCk1dmMH811xGoKLSzDiQwIBZB4ocoPJdqNkDt2yKlueWRVGUtzy3rPwo3sWRU3nLjuLI6OO67oZM00wMw3hrmpZx0XU9syxrR0T0BeMpb9dneSR2AAAAAElFTkSuQmCC',\r\n },\r\n };\r\n $.prototype.setOptions = function (h, n) {\r\n if (ra[this._defaultsKey]) {\r\n var r = ra[this._defaultsKey],\r\n w;\r\n for (w in r)\r\n 'publicProperties' !== w &&\r\n r.hasOwnProperty(w) &&\r\n (this[w] = h && w in h ? h[w] : n && w in n ? n[w] : r[w]);\r\n } else Ha && window.console && console.log('defaults not set');\r\n };\r\n $.prototype.get = function (h) {\r\n var n = ra[this._defaultsKey];\r\n if ('options' === h)\r\n return this.options && this.options._isPlaceholder ? null : this.options;\r\n if (\r\n n.hasOwnProperty(h) ||\r\n (n.publicProperties && n.publicProperties.hasOwnProperty(h))\r\n )\r\n return this[h];\r\n window.console &&\r\n window.console.log(\r\n 'Property \"' + h + '\" doesn\\'t exist. Please check for typo.'\r\n );\r\n };\r\n $.prototype.set = function (h, n, r) {\r\n r = 'undefined' === typeof r ? !0 : r;\r\n var w = ra[this._defaultsKey];\r\n if ('options' === h) this.createUserOptions(n);\r\n else if (\r\n w.hasOwnProperty(h) ||\r\n (w.publicProperties &&\r\n w.publicProperties.hasOwnProperty(h) &&\r\n 'readWrite' === w.publicProperties[h])\r\n )\r\n this.options._isPlaceholder && this.createUserOptions(),\r\n (this.options[h] = n);\r\n else {\r\n window.console &&\r\n (w.publicProperties &&\r\n w.publicProperties.hasOwnProperty(h) &&\r\n 'readOnly' === w.publicProperties[h]\r\n ? window.console.log('Property \"' + h + '\" is read-only.')\r\n : window.console.log(\r\n 'Property \"' + h + '\" doesn\\'t exist. Please check for typo.'\r\n ));\r\n return;\r\n }\r\n r && (this.stockChart || this.chart || this).render();\r\n };\r\n $.prototype.addTo = function (h, n, r, w) {\r\n w = 'undefined' === typeof w ? !0 : w;\r\n var v = ra[this._defaultsKey];\r\n v.hasOwnProperty(h) ||\r\n (v.publicProperties &&\r\n v.publicProperties.hasOwnProperty(h) &&\r\n 'readWrite' === v.publicProperties[h])\r\n ? (this.options._isPlaceholder && this.createUserOptions(),\r\n 'undefined' === typeof this.options[h] && (this.options[h] = []),\r\n (h = this.options[h]),\r\n (r = 'undefined' === typeof r || null === r ? h.length : r),\r\n h.splice(r, 0, n),\r\n w && (this.stockChart || this.chart || this).render())\r\n : window.console &&\r\n (v.publicProperties &&\r\n v.publicProperties.hasOwnProperty(h) &&\r\n 'readOnly' === v.publicProperties[h]\r\n ? window.console.log('Property \"' + h + '\" is read-only.')\r\n : window.console.log(\r\n 'Property \"' + h + '\" doesn\\'t exist. Please check for typo.'\r\n ));\r\n };\r\n $.prototype.createUserOptions = function (h) {\r\n if ('undefined' !== typeof h || this.options._isPlaceholder)\r\n if (\r\n (this.parent.options._isPlaceholder && this.parent.createUserOptions(),\r\n this.isOptionsInArray)\r\n ) {\r\n this.parent.options[this.optionsName] ||\r\n (this.parent.options[this.optionsName] = []);\r\n var n = this.parent.options[this.optionsName],\r\n r = n.length;\r\n this.options._isPlaceholder || (Da(n), (r = n.indexOf(this.options)));\r\n this.options = 'undefined' === typeof h ? {} : h;\r\n n[r] = this.options;\r\n } else\r\n (this.options = 'undefined' === typeof h ? {} : h),\r\n (h = this.parent.options),\r\n this.optionsName\r\n ? (n = this.optionsName)\r\n : (n = this._defaultsKey) && 0 !== n.length\r\n ? ((r = n.charAt(0).toLowerCase()),\r\n 1 < n.length && (r = r.concat(n.slice(1))),\r\n (n = r))\r\n : (n = void 0),\r\n (h[n] = this.options);\r\n };\r\n $.prototype.remove = function (h) {\r\n h = 'undefined' === typeof h ? !0 : h;\r\n if (this.isOptionsInArray) {\r\n var n = this.parent.options[this.optionsName];\r\n Da(n);\r\n var r = n.indexOf(this.options);\r\n 0 <= r && n.splice(r, 1);\r\n } else delete this.parent.options[this.optionsName];\r\n h && (this.stockChart || this.chart || this).render();\r\n };\r\n $.prototype.updateOption = function (h) {\r\n !ra[this._defaultsKey] &&\r\n Ha &&\r\n window.console &&\r\n console.log('defaults not set');\r\n var n = ra[this._defaultsKey],\r\n w = {},\r\n v = this[h],\r\n B = this._themeOptionsKey,\r\n J = this._index;\r\n this.theme && r(this.parent) && r(B) && r(J)\r\n ? (w = r(this.predefinedThemes[this.theme])\r\n ? this.predefinedThemes.light1\r\n : this.predefinedThemes[this.theme])\r\n : this.parent &&\r\n this.parent.themeOptions &&\r\n this.parent.themeOptions[B] &&\r\n (null === J\r\n ? (w = this.parent.themeOptions[B])\r\n : 0 < this.parent.themeOptions[B].length &&\r\n ((w = Math.min(this.parent.themeOptions[B].length - 1, J)),\r\n (w = this.parent.themeOptions[B][w])));\r\n this.themeOptions = w;\r\n h in n &&\r\n (v = h in this.options ? this.options[h] : w && h in w ? w[h] : n[h]);\r\n if (v === this[h]) return !1;\r\n this[h] = v;\r\n return !0;\r\n };\r\n $.prototype.trackChanges = function (h) {\r\n if (!this.sessionVariables) throw 'Session Variable Store not set';\r\n this.sessionVariables[h] = this.options[h];\r\n };\r\n $.prototype.isBeingTracked = function (h) {\r\n this.options._oldOptions || (this.options._oldOptions = {});\r\n return this.options._oldOptions[h] ? !0 : !1;\r\n };\r\n $.prototype.hasOptionChanged = function (h) {\r\n if (!this.sessionVariables) throw 'Session Variable Store not set';\r\n return this.sessionVariables[h] !== this.options[h];\r\n };\r\n $.prototype.addEventListener = function (h, n, r) {\r\n h &&\r\n n &&\r\n ((this._eventListeners[h] = this._eventListeners[h] || []),\r\n this._eventListeners[h].push({ context: r || this, eventHandler: n }));\r\n };\r\n $.prototype.removeEventListener = function (h, n) {\r\n if (h && n && this._eventListeners[h])\r\n for (var r = this._eventListeners[h], w = 0; w < r.length; w++)\r\n if (r[w].eventHandler === n) {\r\n r[w].splice(w, 1);\r\n break;\r\n }\r\n };\r\n $.prototype.removeAllEventListeners = function () {\r\n this._eventListeners = [];\r\n };\r\n $.prototype.dispatchEvent = function (h, n, r) {\r\n if (h && this._eventListeners[h]) {\r\n n = n || {};\r\n for (var w = this._eventListeners[h], v = 0; v < w.length; v++)\r\n w[v].eventHandler.call(w[v].context, n);\r\n }\r\n 'function' === typeof this[h] && this[h].call(r || this.chart, n);\r\n };\r\n Ea.prototype.registerSpace = function (h, n) {\r\n 'top' === h\r\n ? (this._topOccupied += n.height)\r\n : 'bottom' === h\r\n ? (this._bottomOccupied += n.height)\r\n : 'left' === h\r\n ? (this._leftOccupied += n.width)\r\n : 'right' === h && (this._rightOccupied += n.width);\r\n };\r\n Ea.prototype.unRegisterSpace = function (h, n) {\r\n 'top' === h\r\n ? (this._topOccupied -= n.height)\r\n : 'bottom' === h\r\n ? (this._bottomOccupied -= n.height)\r\n : 'left' === h\r\n ? (this._leftOccupied -= n.width)\r\n : 'right' === h && (this._rightOccupied -= n.width);\r\n };\r\n Ea.prototype.getFreeSpace = function () {\r\n return {\r\n x1: this._x1 + this._leftOccupied,\r\n y1: this._y1 + this._topOccupied,\r\n x2: this._x2 - this._rightOccupied,\r\n y2: this._y2 - this._bottomOccupied,\r\n width: this._x2 - this._x1 - this._rightOccupied - this._leftOccupied,\r\n height: this._y2 - this._y1 - this._bottomOccupied - this._topOccupied,\r\n };\r\n };\r\n Ea.prototype.reset = function () {\r\n this._rightOccupied = this._leftOccupied = this._bottomOccupied = this._topOccupied = this._padding;\r\n };\r\n qa(ka, $);\r\n ka.prototype._initialize = function () {\r\n r(this.padding) || 'object' !== typeof this.padding\r\n ? (this.topPadding = this.rightPadding = this.bottomPadding = this.leftPadding =\r\n Number(this.padding) | 0)\r\n : ((this.topPadding = r(this.padding.top)\r\n ? 0\r\n : Number(this.padding.top) | 0),\r\n (this.rightPadding = r(this.padding.right)\r\n ? 0\r\n : Number(this.padding.right) | 0),\r\n (this.bottomPadding = r(this.padding.bottom)\r\n ? 0\r\n : Number(this.padding.bottom) | 0),\r\n (this.leftPadding = r(this.padding.left)\r\n ? 0\r\n : Number(this.padding.left) | 0));\r\n };\r\n ka.prototype.render = function (h) {\r\n if (0 !== this.fontSize) {\r\n h && this.ctx.save();\r\n var n = this.ctx.font;\r\n this.ctx.textBaseline = this.textBaseline;\r\n var r = 0;\r\n this._isDirty && this.measureText(this.ctx);\r\n this.ctx.translate(this.x, this.y + r);\r\n 'middle' === this.textBaseline && (r = -this._lineHeight / 2);\r\n this.ctx.font = this._getFontString();\r\n this.ctx.rotate((Math.PI / 180) * this.angle);\r\n var w = 0,\r\n v = this.topPadding,\r\n B = null;\r\n this.ctx.roundRect || Ca(this.ctx);\r\n ((0 < this.borderThickness && this.borderColor) ||\r\n this.backgroundColor) &&\r\n this.ctx.roundRect(\r\n 0,\r\n r,\r\n this.width,\r\n this.height,\r\n this.cornerRadius,\r\n this.borderThickness,\r\n this.backgroundColor,\r\n this.borderColor\r\n );\r\n this.ctx.fillStyle = this.fontColor;\r\n for (r = 0; r < this._wrappedText.lines.length; r++) {\r\n B = this._wrappedText.lines[r];\r\n if ('right' === this.horizontalAlign || 'right' === this.textAlign)\r\n w = this.width - B.width - this.rightPadding;\r\n else if ('left' === this.horizontalAlign || 'left' === this.textAlign)\r\n w = this.leftPadding;\r\n else if (\r\n 'center' === this.horizontalAlign ||\r\n 'center' === this.textAlign\r\n )\r\n w =\r\n (this.width - (this.leftPadding + this.rightPadding)) / 2 -\r\n B.width / 2 +\r\n this.leftPadding;\r\n this.ctx.fillText(B.text, w, v);\r\n v += B.height;\r\n }\r\n this.ctx.font = n;\r\n h && this.ctx.restore();\r\n }\r\n };\r\n ka.prototype.setText = function (h) {\r\n this.text = h;\r\n this._isDirty = !0;\r\n this._wrappedText = null;\r\n };\r\n ka.prototype.measureText = function () {\r\n this._lineHeight = Xa(this.fontFamily, this.fontSize, this.fontWeight);\r\n if (null === this.maxWidth)\r\n throw 'Please set maxWidth and height for TextBlock';\r\n this._wrapText(this.ctx);\r\n this._isDirty = !1;\r\n return { width: this.width, height: this.height };\r\n };\r\n ka.prototype._getLineWithWidth = function (h, n, r) {\r\n h = String(h);\r\n if (!h) return { text: '', width: 0 };\r\n var w = (r = 0),\r\n v = h.length - 1,\r\n B = Infinity;\r\n for (this.ctx.font = this._getFontString(); w <= v; ) {\r\n var B = Math.floor((w + v) / 2),\r\n A = h.substr(0, B + 1);\r\n r = this.ctx.measureText(A).width;\r\n if (r < n) w = B + 1;\r\n else if (r > n) v = B - 1;\r\n else break;\r\n }\r\n r > n &&\r\n 1 < A.length &&\r\n ((A = A.substr(0, A.length - 1)), (r = this.ctx.measureText(A).width));\r\n n = !0;\r\n if (A.length === h.length || ' ' === h[A.length]) n = !1;\r\n n &&\r\n ((h = A.split(' ')),\r\n 1 < h.length && h.pop(),\r\n (A = h.join(' ')),\r\n (r = this.ctx.measureText(A).width));\r\n return { text: A, width: r };\r\n };\r\n ka.prototype._wrapText = function () {\r\n var h = new String(Ga(String(this.text))),\r\n n = [],\r\n r = this.ctx.font,\r\n w = 0,\r\n v = 0;\r\n this.ctx.font = this._getFontString();\r\n if (0 === this.frontSize) v = w = 0;\r\n else\r\n for (; 0 < h.length; ) {\r\n var B = this.maxHeight - (this.topPadding + this.bottomPadding),\r\n A = this._getLineWithWidth(\r\n h,\r\n this.maxWidth - (this.leftPadding + this.rightPadding),\r\n !1\r\n );\r\n A.height = this._lineHeight;\r\n n.push(A);\r\n var J = v,\r\n v = Math.max(v, A.width),\r\n w = w + A.height,\r\n h = Ga(h.slice(A.text.length, h.length));\r\n B && w > B && ((A = n.pop()), (w -= A.height), (v = J));\r\n }\r\n this._wrappedText = { lines: n, width: v, height: w };\r\n this.width = v + (this.leftPadding + this.rightPadding);\r\n this.height = w + (this.topPadding + this.bottomPadding);\r\n this.ctx.font = r;\r\n };\r\n ka.prototype._getFontString = function () {\r\n var h;\r\n h = '' + (this.fontStyle ? this.fontStyle + ' ' : '');\r\n h += this.fontWeight ? this.fontWeight + ' ' : '';\r\n h += this.fontSize ? this.fontSize + 'px ' : '';\r\n var r = this.fontFamily ? this.fontFamily + '' : '';\r\n !w &&\r\n r &&\r\n ((r = r.split(',')[0]),\r\n \"'\" !== r[0] && '\"' !== r[0] && (r = \"'\" + r + \"'\"));\r\n return (h += r);\r\n };\r\n qa(Ta, $);\r\n qa(za, $);\r\n za.prototype.setLayout = function () {\r\n if (this.text) {\r\n var h = this.dockInsidePlotArea ? this.chart.plotArea : this.chart,\r\n n = h.layoutManager.getFreeSpace(),\r\n w = n.x1,\r\n v = n.y1,\r\n B = 0,\r\n J = 0,\r\n A =\r\n this.chart._menuButton &&\r\n this.chart.exportEnabled &&\r\n 'top' === this.verticalAlign\r\n ? 22\r\n : 0,\r\n K,\r\n I;\r\n 'top' === this.verticalAlign || 'bottom' === this.verticalAlign\r\n ? (null === this.maxWidth &&\r\n (this.maxWidth =\r\n n.width - 4 - A * ('center' === this.horizontalAlign ? 2 : 1)),\r\n (J = 0.5 * n.height - this.margin - 2),\r\n (B = 0))\r\n : 'center' === this.verticalAlign &&\r\n ('left' === this.horizontalAlign || 'right' === this.horizontalAlign\r\n ? (null === this.maxWidth && (this.maxWidth = n.height - 4),\r\n (J = 0.5 * n.width - this.margin - 2))\r\n : 'center' === this.horizontalAlign &&\r\n (null === this.maxWidth && (this.maxWidth = n.width - 4),\r\n (J = 0.5 * n.height - 4)));\r\n var P;\r\n r(this.padding) || 'number' !== typeof this.padding\r\n ? r(this.padding) ||\r\n 'object' !== typeof this.padding ||\r\n ((P = this.padding.top\r\n ? this.padding.top\r\n : this.padding.bottom\r\n ? this.padding.bottom\r\n : 0),\r\n (P += this.padding.bottom\r\n ? this.padding.bottom\r\n : this.padding.top\r\n ? this.padding.top\r\n : 0))\r\n : (P = 2 * this.padding);\r\n this.wrap || (J = Math.min(J, 1.5 * this.fontSize + P));\r\n J = new ka(this.ctx, {\r\n fontSize: this.fontSize,\r\n fontFamily: this.fontFamily,\r\n fontColor: this.fontColor,\r\n fontStyle: this.fontStyle,\r\n fontWeight: this.fontWeight,\r\n horizontalAlign: this.horizontalAlign,\r\n verticalAlign: this.verticalAlign,\r\n borderColor: this.borderColor,\r\n borderThickness: this.borderThickness,\r\n backgroundColor: this.backgroundColor,\r\n maxWidth: this.maxWidth,\r\n maxHeight: J,\r\n cornerRadius: this.cornerRadius,\r\n text: this.text,\r\n padding: this.padding,\r\n textBaseline: 'top',\r\n });\r\n P = J.measureText();\r\n 'top' === this.verticalAlign || 'bottom' === this.verticalAlign\r\n ? ('top' === this.verticalAlign\r\n ? ((v = n.y1 + 2), (I = 'top'))\r\n : 'bottom' === this.verticalAlign &&\r\n ((v = n.y2 - 2 - P.height), (I = 'bottom')),\r\n 'left' === this.horizontalAlign\r\n ? (w = n.x1 + 2)\r\n : 'center' === this.horizontalAlign\r\n ? (w = n.x1 + n.width / 2 - P.width / 2)\r\n : 'right' === this.horizontalAlign && (w = n.x2 - 2 - P.width - A),\r\n (K = this.horizontalAlign),\r\n (this.width = P.width),\r\n (this.height = P.height))\r\n : 'center' === this.verticalAlign &&\r\n ('left' === this.horizontalAlign\r\n ? ((w = n.x1 + 2),\r\n (v = n.y2 - 2 - (this.maxWidth / 2 - P.width / 2)),\r\n (B = -90),\r\n (I = 'left'),\r\n (this.width = P.height),\r\n (this.height = P.width))\r\n : 'right' === this.horizontalAlign\r\n ? ((w = n.x2 - 2),\r\n (v = n.y1 + 2 + (this.maxWidth / 2 - P.width / 2)),\r\n (B = 90),\r\n (I = 'right'),\r\n (this.width = P.height),\r\n (this.height = P.width))\r\n : 'center' === this.horizontalAlign &&\r\n ((v = h.y1 + (h.height / 2 - P.height / 2)),\r\n (w = h.x1 + (h.width / 2 - P.width / 2)),\r\n (I = 'center'),\r\n (this.width = P.width),\r\n (this.height = P.height)),\r\n (K = 'center'));\r\n J.x = w;\r\n J.y = v;\r\n J.angle = B;\r\n J.horizontalAlign = K;\r\n this._textBlock = J;\r\n h.layoutManager.registerSpace(I, {\r\n width:\r\n this.width + ('left' === I || 'right' === I ? this.margin + 2 : 0),\r\n height:\r\n this.height + ('top' === I || 'bottom' === I ? this.margin + 2 : 0),\r\n });\r\n this.bounds = { x1: w, y1: v, x2: w + this.width, y2: v + this.height };\r\n this.ctx.textBaseline = 'top';\r\n }\r\n };\r\n za.prototype.render = function () {\r\n this._textBlock && this._textBlock.render(!0);\r\n };\r\n qa(Ia, $);\r\n Ia.prototype.setLayout = za.prototype.setLayout;\r\n Ia.prototype.render = za.prototype.render;\r\n Ua.prototype.get = function (h, r) {\r\n var w = null;\r\n 0 < this.pool.length\r\n ? ((w = this.pool.pop()), Ma(w, h, r))\r\n : (w = va(h, r));\r\n return w;\r\n };\r\n Ua.prototype.release = function (h) {\r\n this.pool.push(h);\r\n };\r\n qa(Ja, $);\r\n var Pa = {\r\n addTheme: function (h, r) {\r\n bb[h] = r;\r\n },\r\n addColorSet: function (h, r) {\r\n Aa[h] = r;\r\n },\r\n addCultureInfo: function (h, r) {\r\n Ka[h] = r;\r\n },\r\n formatNumber: function (h, r, w) {\r\n w = w || 'en';\r\n if (Ka[w]) return ha(h, r || '#,##0.##', new Ja(w));\r\n throw 'Unknown Culture Name';\r\n },\r\n formatDate: function (h, r, w) {\r\n w = w || 'en';\r\n if (Ka[w]) return Ba(h, r || 'DD MMM YYYY', new Ja(w));\r\n throw 'Unknown Culture Name';\r\n },\r\n };\r\n 'undefined' !== typeof module && 'undefined' !== typeof module.exports\r\n ? (module.exports = Pa)\r\n : 'function' === typeof define && define.amd\r\n ? define([], function () {\r\n return Pa;\r\n })\r\n : (window.CanvasJS &&\r\n window.console &&\r\n window.console.log(\r\n 'CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features.'\r\n ),\r\n (window.CanvasJS = window.CanvasJS ? window.CanvasJS : Pa));\r\n v = Pa.Chart = (function () {\r\n function h(a, d) {\r\n return a.x - d.x;\r\n }\r\n function n(a, d, c) {\r\n d = d || {};\r\n r(c)\r\n ? ((this.predefinedThemes = bb),\r\n (this.optionsName = this.parent = this.index = null))\r\n : ((this.parent = c.parent),\r\n (this.index = c.index),\r\n (this.predefinedThemes = c.predefinedThemes),\r\n (this.optionsName = c.optionsName),\r\n (this.stockChart = c.stockChart),\r\n (this.panel = a),\r\n (this.isOptionsInArray = c.isOptionsInArray));\r\n this.theme =\r\n r(d.theme) || r(this.predefinedThemes[d.theme]) ? 'light1' : d.theme;\r\n n.base.constructor.call(\r\n this,\r\n 'Chart',\r\n this.optionsName,\r\n d,\r\n this.index,\r\n this.parent\r\n );\r\n var b = this;\r\n this._containerId = a;\r\n this._objectsInitialized = !1;\r\n this.overlaidCanvasCtx = this.ctx = null;\r\n this._indexLabels = [];\r\n this._panTimerId = 0;\r\n this._lastTouchEventType = '';\r\n this._lastTouchData = null;\r\n this.isAnimating = !1;\r\n this.renderCount = 0;\r\n this.disableToolTip = this.animatedRender = !1;\r\n this.canvasPool = new Ua();\r\n this.allDOMEventHandlers = [];\r\n this.panEnabled = !1;\r\n this._defaultCursor = 'default';\r\n this.plotArea = {\r\n canvas: null,\r\n ctx: null,\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: 0,\r\n width: 0,\r\n height: 0,\r\n };\r\n this._dataInRenderedOrder = [];\r\n (this.container =\r\n 'string' === typeof this._containerId\r\n ? document.getElementById(this._containerId)\r\n : this._containerId)\r\n ? ((this.container.innerHTML = ''),\r\n (d = a = 0),\r\n (a = this.options.width\r\n ? this.width\r\n : 0 < this.container.clientWidth\r\n ? this.container.clientWidth\r\n : this.width),\r\n (d = this.options.height\r\n ? this.height\r\n : 0 < this.container.clientHeight\r\n ? this.container.clientHeight\r\n : this.height),\r\n (this.width = a),\r\n (this.height = d),\r\n (this.x1 = this.y1 = 0),\r\n (this.x2 = this.width),\r\n (this.y2 = this.height),\r\n (this.selectedColorSet =\r\n 'undefined' !== typeof Aa[this.colorSet]\r\n ? Aa[this.colorSet]\r\n : Aa.colorSet1),\r\n (this._canvasJSContainer = document.createElement('div')),\r\n this._canvasJSContainer.setAttribute(\r\n 'class',\r\n 'canvasjs-chart-container'\r\n ),\r\n (this._canvasJSContainer.style.position = 'relative'),\r\n (this._canvasJSContainer.style.textAlign = 'left'),\r\n (this._canvasJSContainer.style.cursor = 'auto'),\r\n (this._canvasJSContainer.style.direction = 'ltr'),\r\n w || (this._canvasJSContainer.style.height = '0px'),\r\n this.container.appendChild(this._canvasJSContainer),\r\n (this.canvas = va(a, d)),\r\n (this._preRenderCanvas = va(a, d)),\r\n (this.canvas.style.position = 'absolute'),\r\n (this.canvas.style.WebkitUserSelect = 'none'),\r\n (this.canvas.style.MozUserSelect = 'none'),\r\n (this.canvas.style.msUserSelect = 'none'),\r\n (this.canvas.style.userSelect = 'none'),\r\n this.canvas.getContext &&\r\n (this._canvasJSContainer.appendChild(this.canvas),\r\n (this.ctx = this.canvas.getContext('2d')),\r\n (this.ctx.textBaseline = 'top'),\r\n Ca(this.ctx),\r\n (this._preRenderCtx = this._preRenderCanvas.getContext('2d')),\r\n (this._preRenderCtx.textBaseline = 'top'),\r\n Ca(this._preRenderCtx),\r\n w\r\n ? (this.plotArea.ctx = this.ctx)\r\n : ((this.plotArea.canvas = va(a, d)),\r\n (this.plotArea.canvas.style.position = 'absolute'),\r\n this.plotArea.canvas.setAttribute('class', 'plotAreaCanvas'),\r\n this._canvasJSContainer.appendChild(this.plotArea.canvas),\r\n (this.plotArea.ctx = this.plotArea.canvas.getContext('2d'))),\r\n (this.overlaidCanvas = va(a, d)),\r\n (this.overlaidCanvas.style.position = 'absolute'),\r\n (this.overlaidCanvas.style.webkitTapHighlightColor = 'transparent'),\r\n (this.overlaidCanvas.style.WebkitUserSelect = 'none'),\r\n (this.overlaidCanvas.style.MozUserSelect = 'none'),\r\n (this.overlaidCanvas.style.msUserSelect = 'none'),\r\n (this.overlaidCanvas.style.userSelect = 'none'),\r\n this.overlaidCanvas.getContext &&\r\n (this._canvasJSContainer.appendChild(this.overlaidCanvas),\r\n (this.overlaidCanvasCtx = this.overlaidCanvas.getContext('2d')),\r\n (this.overlaidCanvasCtx.textBaseline = 'top'),\r\n Ca(this.overlaidCanvasCtx)),\r\n (this._eventManager = new X(this)),\r\n (this.windowResizeHandler = I(\r\n window,\r\n 'resize',\r\n function () {\r\n b._updateSize() && b.render();\r\n },\r\n this.allDOMEventHandlers\r\n )),\r\n (this._toolBar = document.createElement('div')),\r\n this._toolBar.setAttribute('class', 'canvasjs-chart-toolbar'),\r\n V(this._toolBar, {\r\n position: 'absolute',\r\n right: '1px',\r\n top: '1px',\r\n }),\r\n this._canvasJSContainer.appendChild(this._toolBar),\r\n (this.bounds = { x1: 0, y1: 0, x2: this.width, y2: this.height }),\r\n I(\r\n this.overlaidCanvas,\r\n 'click',\r\n function (a) {\r\n b._mouseEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n 'mousemove',\r\n function (a) {\r\n b._mouseEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n 'mouseup',\r\n function (a) {\r\n b._mouseEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n 'mousedown',\r\n function (a) {\r\n b._mouseEventHandler(a);\r\n wa(b._dropdownMenu);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n 'mouseout',\r\n function (a) {\r\n b._mouseEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n window.navigator.msPointerEnabled\r\n ? 'MSPointerDown'\r\n : 'touchstart',\r\n function (a) {\r\n b._touchEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n window.navigator.msPointerEnabled ? 'MSPointerMove' : 'touchmove',\r\n function (a) {\r\n b._touchEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n window.navigator.msPointerEnabled ? 'MSPointerUp' : 'touchend',\r\n function (a) {\r\n b._touchEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this.overlaidCanvas,\r\n window.navigator.msPointerEnabled\r\n ? 'MSPointerCancel'\r\n : 'touchcancel',\r\n function (a) {\r\n b._touchEventHandler(a);\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n (this.toolTip = new Y(this, this.options.toolTip)),\r\n (this.data = null),\r\n (this.axisX = []),\r\n (this.axisX2 = []),\r\n (this.axisY = []),\r\n (this.axisY2 = []),\r\n (this.sessionVariables = {\r\n axisX: [],\r\n axisX2: [],\r\n axisY: [],\r\n axisY2: [],\r\n })))\r\n : window.console &&\r\n window.console.log(\r\n 'CanvasJS Error: Chart Container with id \"' +\r\n this._containerId +\r\n '\" was not found'\r\n );\r\n }\r\n function v(a, d) {\r\n for (var c = [], b, e = 0; e < a.length; e++)\r\n if (0 == e) c.push(a[0]);\r\n else {\r\n var f, l, s;\r\n s = e - 1;\r\n f = 0 === s ? 0 : s - 1;\r\n l = s === a.length - 1 ? s : s + 1;\r\n b =\r\n (Math.abs(\r\n (a[l].x - a[f].x) /\r\n (0 === a[l].x - a[s].x ? 0.01 : a[l].x - a[s].x)\r\n ) *\r\n (d - 1)) /\r\n 2 +\r\n 1;\r\n var D = (a[l].x - a[f].x) / b;\r\n b = (a[l].y - a[f].y) / b;\r\n c[c.length] =\r\n (a[s].x > a[f].x && 0 < D) || (a[s].x < a[f].x && 0 > D)\r\n ? { x: a[s].x + D / 3, y: a[s].y + b / 3 }\r\n : { x: a[s].x, y: a[s].y + b / 9 };\r\n s = e;\r\n f = 0 === s ? 0 : s - 1;\r\n l = s === a.length - 1 ? s : s + 1;\r\n b =\r\n (Math.abs(\r\n (a[l].x - a[f].x) /\r\n (0 === a[s].x - a[f].x ? 0.01 : a[s].x - a[f].x)\r\n ) *\r\n (d - 1)) /\r\n 2 +\r\n 1;\r\n D = (a[l].x - a[f].x) / b;\r\n b = (a[l].y - a[f].y) / b;\r\n c[c.length] =\r\n (a[s].x > a[f].x && 0 < D) || (a[s].x < a[f].x && 0 > D)\r\n ? { x: a[s].x - D / 3, y: a[s].y - b / 3 }\r\n : { x: a[s].x, y: a[s].y - b / 9 };\r\n c[c.length] = a[e];\r\n }\r\n return c;\r\n }\r\n function B(a, d, c, b, e, f, l, s, D, k) {\r\n var m = 0;\r\n k ? ((l.color = f), (s.color = f)) : (k = 1);\r\n m = D ? Math.abs(e - c) : Math.abs(b - d);\r\n m =\r\n 0 < l.trimLength\r\n ? Math.abs((m * l.trimLength) / 100)\r\n : Math.abs(m - l.length);\r\n D ? ((c += m / 2), (e -= m / 2)) : ((d += m / 2), (b -= m / 2));\r\n var m = 1 === Math.round(l.thickness) % 2 ? 0.5 : 0,\r\n p = 1 === Math.round(s.thickness) % 2 ? 0.5 : 0;\r\n a.save();\r\n a.globalAlpha = k;\r\n a.strokeStyle = s.color || f;\r\n a.lineWidth = s.thickness || 2;\r\n a.setLineDash && a.setLineDash(J(s.dashType, s.thickness));\r\n a.beginPath();\r\n D && 0 < s.thickness\r\n ? (a.moveTo(b - l.thickness / 2, Math.round((c + e) / 2) - p),\r\n a.lineTo(d + l.thickness / 2, Math.round((c + e) / 2) - p))\r\n : 0 < s.thickness &&\r\n (a.moveTo(Math.round((d + b) / 2) - p, c + l.thickness / 2),\r\n a.lineTo(Math.round((d + b) / 2) - p, e - l.thickness / 2));\r\n a.stroke();\r\n a.strokeStyle = l.color || f;\r\n a.lineWidth = l.thickness || 2;\r\n a.setLineDash && a.setLineDash(J(l.dashType, l.thickness));\r\n a.beginPath();\r\n D && 0 < l.thickness\r\n ? (a.moveTo(b - m, c),\r\n a.lineTo(b - m, e),\r\n a.moveTo(d + m, c),\r\n a.lineTo(d + m, e))\r\n : 0 < l.thickness &&\r\n (a.moveTo(d, c + m),\r\n a.lineTo(b, c + m),\r\n a.moveTo(d, e - m),\r\n a.lineTo(b, e - m));\r\n a.stroke();\r\n a.restore();\r\n }\r\n function O(a, d) {\r\n O.base.constructor.call(this, 'Legend', 'legend', d, null, a);\r\n this.chart = a;\r\n this.canvas = a.canvas;\r\n this.ctx = this.chart.ctx;\r\n this.ghostCtx = this.chart._eventManager.ghostCtx;\r\n this.items = [];\r\n this.optionsName = 'legend';\r\n this.height = this.width = 0;\r\n this.orientation = null;\r\n this.dataSeries = [];\r\n this.bounds = { x1: null, y1: null, x2: null, y2: null };\r\n 'undefined' === typeof this.options.fontSize &&\r\n (this.fontSize = this.chart.getAutoFontSize(this.fontSize));\r\n this.lineHeight = Xa(this.fontFamily, this.fontSize, this.fontWeight);\r\n this.horizontalSpacing = this.fontSize;\r\n }\r\n function W(a, d, c, b) {\r\n W.base.constructor.call(this, 'DataSeries', 'data', d, c, a);\r\n this.chart = a;\r\n this.canvas = a.canvas;\r\n this._ctx = a.canvas.ctx;\r\n this.index = c;\r\n this.noDataPointsInPlotArea = 0;\r\n this.id = b;\r\n this.chart._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: c,\r\n };\r\n a = d.dataPoints ? d.dataPoints.length : 0;\r\n this.dataPointEOs = [];\r\n for (d = 0; d < a; d++) this.dataPointEOs[d] = {};\r\n this.dataPointIds = [];\r\n this.plotUnit = [];\r\n this.axisY = this.axisX = null;\r\n this.optionsName = 'data';\r\n this.isOptionsInArray = !0;\r\n null === this.fillOpacity &&\r\n (this.type.match(/area/i)\r\n ? (this.fillOpacity = 0.7)\r\n : (this.fillOpacity = 1));\r\n this.axisPlacement = this.getDefaultAxisPlacement();\r\n 'undefined' === typeof this.options.indexLabelFontSize &&\r\n (this.indexLabelFontSize = this.chart.getAutoFontSize(\r\n this.indexLabelFontSize\r\n ));\r\n }\r\n function A(a, d, c, b, e, f) {\r\n A.base.constructor.call(this, 'Axis', d, c, b, a);\r\n this.chart = a;\r\n this.canvas = a.canvas;\r\n this.ctx = a.ctx;\r\n this.intervalStartPosition = this.maxHeight = this.maxWidth = 0;\r\n this.labels = [];\r\n this.dataSeries = [];\r\n this._stripLineLabels = this._ticks = this._labels = null;\r\n this.dataInfo = {\r\n min: Infinity,\r\n max: -Infinity,\r\n viewPortMin: Infinity,\r\n viewPortMax: -Infinity,\r\n minDiff: Infinity,\r\n };\r\n this.isOptionsInArray = !0;\r\n 'axisX' === e\r\n ? ('left' === f || 'bottom' === f\r\n ? ((this.optionsName = 'axisX'),\r\n r(this.chart.sessionVariables.axisX[b]) &&\r\n (this.chart.sessionVariables.axisX[b] = {}),\r\n (this.sessionVariables = this.chart.sessionVariables.axisX[b]))\r\n : ((this.optionsName = 'axisX2'),\r\n r(this.chart.sessionVariables.axisX2[b]) &&\r\n (this.chart.sessionVariables.axisX2[b] = {}),\r\n (this.sessionVariables = this.chart.sessionVariables.axisX2[b])),\r\n this.options.interval || (this.intervalType = null))\r\n : 'left' === f || 'bottom' === f\r\n ? ((this.optionsName = 'axisY'),\r\n r(this.chart.sessionVariables.axisY[b]) &&\r\n (this.chart.sessionVariables.axisY[b] = {}),\r\n (this.sessionVariables = this.chart.sessionVariables.axisY[b]))\r\n : ((this.optionsName = 'axisY2'),\r\n r(this.chart.sessionVariables.axisY2[b]) &&\r\n (this.chart.sessionVariables.axisY2[b] = {}),\r\n (this.sessionVariables = this.chart.sessionVariables.axisY2[b]));\r\n 'undefined' === typeof this.options.titleFontSize &&\r\n (this.titleFontSize = this.chart.getAutoFontSize(this.titleFontSize));\r\n 'undefined' === typeof this.options.labelFontSize &&\r\n (this.labelFontSize = this.chart.getAutoFontSize(this.labelFontSize));\r\n this.type = e;\r\n 'axisX' !== e ||\r\n (c && 'undefined' !== typeof c.gridThickness) ||\r\n (this.gridThickness = 0);\r\n this._position = f;\r\n this.lineCoordinates = {\r\n x1: null,\r\n y1: null,\r\n x2: null,\r\n y2: null,\r\n width: null,\r\n };\r\n this.labelAngle = ((this.labelAngle % 360) + 360) % 360;\r\n 90 < this.labelAngle && 270 > this.labelAngle\r\n ? (this.labelAngle -= 180)\r\n : 270 <= this.labelAngle &&\r\n 360 >= this.labelAngle &&\r\n (this.labelAngle -= 360);\r\n this.options.scaleBreaks &&\r\n (this.scaleBreaks = new ea(\r\n this.chart,\r\n this.options.scaleBreaks,\r\n ++this.chart._eventManager.lastObjectId,\r\n this\r\n ));\r\n this.stripLines = [];\r\n if (this.options.stripLines && 0 < this.options.stripLines.length)\r\n for (a = 0; a < this.options.stripLines.length; a++)\r\n this.stripLines.push(\r\n new P(\r\n this.chart,\r\n this.options.stripLines[a],\r\n a,\r\n ++this.chart._eventManager.lastObjectId,\r\n this\r\n )\r\n );\r\n this.options.crosshair &&\r\n (this.crosshair = new ba(this.chart, this.options.crosshair, this));\r\n this._titleTextBlock = null;\r\n this.hasOptionChanged('viewportMinimum') &&\r\n null === this.viewportMinimum &&\r\n ((this.options.viewportMinimum = void 0),\r\n (this.sessionVariables.viewportMinimum = null));\r\n this.hasOptionChanged('viewportMinimum') ||\r\n isNaN(this.sessionVariables.newViewportMinimum) ||\r\n null === this.sessionVariables.newViewportMinimum\r\n ? (this.sessionVariables.newViewportMinimum = null)\r\n : (this.viewportMinimum = this.sessionVariables.newViewportMinimum);\r\n this.hasOptionChanged('viewportMaximum') &&\r\n null === this.viewportMaximum &&\r\n ((this.options.viewportMaximum = void 0),\r\n (this.sessionVariables.viewportMaximum = null));\r\n this.hasOptionChanged('viewportMaximum') ||\r\n isNaN(this.sessionVariables.newViewportMaximum) ||\r\n null === this.sessionVariables.newViewportMaximum\r\n ? (this.sessionVariables.newViewportMaximum = null)\r\n : (this.viewportMaximum = this.sessionVariables.newViewportMaximum);\r\n null !== this.minimum &&\r\n null !== this.viewportMinimum &&\r\n (this.viewportMinimum = Math.max(this.viewportMinimum, this.minimum));\r\n null !== this.maximum &&\r\n null !== this.viewportMaximum &&\r\n (this.viewportMaximum = Math.min(this.viewportMaximum, this.maximum));\r\n this.trackChanges('viewportMinimum');\r\n this.trackChanges('viewportMaximum');\r\n }\r\n function ea(a, d, c, b) {\r\n ea.base.constructor.call(this, 'ScaleBreaks', 'scaleBreaks', d, null, b);\r\n this.id = c;\r\n this.chart = a;\r\n this.ctx = this.chart.ctx;\r\n this.axis = b;\r\n this.optionsName = 'scaleBreaks';\r\n this.isOptionsInArray = !1;\r\n this._appliedBreaks = [];\r\n this.customBreaks = [];\r\n this.autoBreaks = [];\r\n 'string' === typeof this.spacing\r\n ? ((this.spacing = parseFloat(this.spacing)),\r\n (this.spacing = isNaN(this.spacing)\r\n ? 8\r\n : (10 < this.spacing ? 10 : this.spacing) + '%'))\r\n : 'number' !== typeof this.spacing && (this.spacing = 8);\r\n this.autoCalculate &&\r\n (this.maxNumberOfAutoBreaks = Math.min(this.maxNumberOfAutoBreaks, 5));\r\n if (this.options.customBreaks && 0 < this.options.customBreaks.length) {\r\n for (a = 0; a < this.options.customBreaks.length; a++)\r\n this.customBreaks.push(\r\n new ga(\r\n this.chart,\r\n 'customBreaks',\r\n this.options.customBreaks[a],\r\n a,\r\n ++this.chart._eventManager.lastObjectId,\r\n this\r\n )\r\n ),\r\n 'number' === typeof this.customBreaks[a].startValue &&\r\n 'number' === typeof this.customBreaks[a].endValue &&\r\n this.customBreaks[a].endValue !==\r\n this.customBreaks[a].startValue &&\r\n this._appliedBreaks.push(this.customBreaks[a]);\r\n this._appliedBreaks.sort(function (a, b) {\r\n return a.startValue - b.startValue;\r\n });\r\n for (a = 0; a < this._appliedBreaks.length - 1; a++)\r\n this._appliedBreaks[a].endValue >=\r\n this._appliedBreaks[a + 1].startValue &&\r\n ((this._appliedBreaks[a].endValue = Math.max(\r\n this._appliedBreaks[a].endValue,\r\n this._appliedBreaks[a + 1].endValue\r\n )),\r\n window.console &&\r\n window.console.log(\r\n 'CanvasJS Error: Breaks ' +\r\n a +\r\n ' and ' +\r\n (a + 1) +\r\n ' are overlapping.'\r\n ),\r\n this._appliedBreaks.splice(a, 2),\r\n a--);\r\n }\r\n }\r\n function ga(a, d, c, b, e, f) {\r\n ga.base.constructor.call(this, 'Break', d, c, b, f);\r\n this.id = e;\r\n this.chart = a;\r\n this.ctx = this.chart.ctx;\r\n this.scaleBreaks = f;\r\n this.optionsName = d;\r\n this.isOptionsInArray = !0;\r\n this.type = c.type ? this.type : f.type;\r\n this.fillOpacity = r(c.fillOpacity) ? f.fillOpacity : this.fillOpacity;\r\n this.lineThickness = r(c.lineThickness)\r\n ? f.lineThickness\r\n : this.lineThickness;\r\n this.color = c.color ? this.color : f.color;\r\n this.lineColor = c.lineColor ? this.lineColor : f.lineColor;\r\n this.lineDashType = c.lineDashType ? this.lineDashType : f.lineDashType;\r\n !r(this.startValue) &&\r\n this.startValue.getTime &&\r\n (this.startValue = this.startValue.getTime());\r\n !r(this.endValue) &&\r\n this.endValue.getTime &&\r\n (this.endValue = this.endValue.getTime());\r\n 'number' === typeof this.startValue &&\r\n 'number' === typeof this.endValue &&\r\n this.endValue < this.startValue &&\r\n ((a = this.startValue),\r\n (this.startValue = this.endValue),\r\n (this.endValue = a));\r\n this.spacing = 'undefined' === typeof c.spacing ? f.spacing : c.spacing;\r\n 'string' === typeof this.options.spacing\r\n ? ((this.spacing = parseFloat(this.spacing)),\r\n (this.spacing = isNaN(this.spacing)\r\n ? 0\r\n : (10 < this.spacing ? 10 : this.spacing) + '%'))\r\n : 'number' !== typeof this.options.spacing &&\r\n (this.spacing = f.spacing);\r\n this.size = f.parent.logarithmic ? 1 : 0;\r\n }\r\n function P(a, d, c, b, e) {\r\n P.base.constructor.call(this, 'StripLine', 'stripLines', d, c, e);\r\n this.id = b;\r\n this.chart = a;\r\n this.ctx = this.chart.ctx;\r\n this.label = this.label;\r\n this.axis = e;\r\n this.optionsName = 'stripLines';\r\n this.isOptionsInArray = !0;\r\n this._thicknessType = 'pixel';\r\n null !== this.startValue &&\r\n null !== this.endValue &&\r\n ((this.value = e.logarithmic\r\n ? Math.sqrt(\r\n (this.startValue.getTime\r\n ? this.startValue.getTime()\r\n : this.startValue) *\r\n (this.endValue.getTime\r\n ? this.endValue.getTime()\r\n : this.endValue)\r\n )\r\n : ((this.startValue.getTime\r\n ? this.startValue.getTime()\r\n : this.startValue) +\r\n (this.endValue.getTime\r\n ? this.endValue.getTime()\r\n : this.endValue)) /\r\n 2),\r\n (this._thicknessType = null));\r\n }\r\n function ba(a, d, c) {\r\n ba.base.constructor.call(this, 'Crosshair', 'crosshair', d, null, c);\r\n this.chart = a;\r\n this.ctx = this.chart.ctx;\r\n this.axis = c;\r\n this.optionsName = 'crosshair';\r\n this._thicknessType = 'pixel';\r\n }\r\n function Y(a, d) {\r\n Y.base.constructor.call(this, 'ToolTip', 'toolTip', d, null, a);\r\n this.chart = a;\r\n this.canvas = a.canvas;\r\n this.ctx = this.chart.ctx;\r\n this.currentDataPointIndex = this.currentSeriesIndex = -1;\r\n this._prevY = this._prevX = NaN;\r\n this.containerTransitionDuration = 0.1;\r\n this.mozContainerTransition = this.getContainerTransition(\r\n this.containerTransitionDuration\r\n );\r\n this.optionsName = 'toolTip';\r\n this._initialize();\r\n }\r\n function X(a) {\r\n this.chart = a;\r\n this.lastObjectId = 0;\r\n this.objectMap = [];\r\n this.rectangularRegionEventSubscriptions = [];\r\n this.previousDataPointEventObject = null;\r\n this.ghostCanvas = va(this.chart.width, this.chart.height);\r\n this.ghostCtx = this.ghostCanvas.getContext('2d');\r\n this.mouseoveredObjectMaps = [];\r\n }\r\n function ja(a) {\r\n this.chart = a;\r\n this.ctx = this.chart.plotArea.ctx;\r\n this.animations = [];\r\n this.animationRequestId = null;\r\n }\r\n qa(n, $);\r\n n.prototype.destroy = function () {\r\n var a = this.allDOMEventHandlers;\r\n this._animator && this._animator.cancelAllAnimations();\r\n this._panTimerId && clearTimeout(this._panTimerId);\r\n for (var d = 0; d < a.length; d++) {\r\n var c = a[d][0],\r\n b = a[d][1],\r\n e = a[d][2],\r\n f = a[d][3],\r\n f = f || !1;\r\n c.removeEventListener\r\n ? c.removeEventListener(b, e, f)\r\n : c.detachEvent && c.detachEvent('on' + b, e);\r\n }\r\n this.allDOMEventHandlers = [];\r\n for (\r\n this.removeAllEventListeners();\r\n this._canvasJSContainer && this._canvasJSContainer.hasChildNodes();\r\n\r\n )\r\n this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);\r\n for (; this.container && this.container.hasChildNodes(); )\r\n this.container.removeChild(this.container.lastChild);\r\n for (; this._dropdownMenu && this._dropdownMenu.hasChildNodes(); )\r\n this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);\r\n this.container = this._canvasJSContainer = null;\r\n this.toolTip.container = null;\r\n this.canvas && ya(this.canvas);\r\n this.overlaidCanvas && ya(this.overlaidCanvas);\r\n this._preRenderCanvas && ya(this._preRenderCanvas);\r\n this._breaksCanvas && ya(this._breaksCanvas);\r\n this._eventManager &&\r\n this._eventManager.ghostCanvas &&\r\n ya(this._eventManager.ghostCanvas);\r\n this._toolBar = this._dropdownMenu = this._menuButton = this._resetButton = this._zoomButton = null;\r\n };\r\n n.prototype._updateOptions = function () {\r\n var a = this;\r\n this.updateOption('width');\r\n this.updateOption('height');\r\n this.updateOption('dataPointWidth');\r\n this.updateOption('dataPointMinWidth');\r\n this.updateOption('dataPointMaxWidth');\r\n this.updateOption('interactivityEnabled');\r\n this.updateOption('theme');\r\n this.updateOption('colorSet') &&\r\n (this.selectedColorSet =\r\n 'undefined' !== typeof Aa[this.colorSet]\r\n ? Aa[this.colorSet]\r\n : Aa.colorSet1);\r\n this.updateOption('backgroundColor');\r\n this.backgroundColor || (this.backgroundColor = 'rgba(0,0,0,0)');\r\n this.updateOption('culture');\r\n this._cultureInfo = new Ja(this.options.culture);\r\n this.updateOption('animationEnabled');\r\n this.animationEnabled = this.animationEnabled && w;\r\n this.updateOption('animationDuration');\r\n this.updateOption('rangeChanging');\r\n this.updateOption('rangeChanged');\r\n this.updateOption('exportEnabled');\r\n this.updateOption('exportFileName');\r\n this.updateOption('zoomType');\r\n this.toolbar = new Ta(this, this.options.toolbar);\r\n if (this.options.zoomEnabled || this.panEnabled) {\r\n if (this._zoomButton)\r\n V(this._zoomButton, {\r\n borderRight:\r\n this.toolbar.buttonBorderThickness +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor,\r\n backgroundColor: a.toolbar.itemBackgroundColor,\r\n color: a.toolbar.fontColor,\r\n }),\r\n (this._zoomButton.title = this._cultureInfo.zoomText);\r\n else {\r\n var d = !1;\r\n wa((this._zoomButton = document.createElement('button')));\r\n xa(this, this._zoomButton, 'pan');\r\n this._zoomButton.title = this._cultureInfo.panText;\r\n this._toolBar.appendChild(this._zoomButton);\r\n this._zoomButton.style.borderRight =\r\n this.toolbar.buttonBorderThickness +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor;\r\n I(\r\n this._zoomButton,\r\n 'touchstart',\r\n function (a) {\r\n d = !0;\r\n },\r\n this.allDOMEventHandlers\r\n );\r\n I(\r\n this._zoomButton,\r\n 'click',\r\n function () {\r\n a.zoomEnabled\r\n ? ((a.zoomEnabled = !1),\r\n (a.panEnabled = !0),\r\n xa(a, a._zoomButton, 'zoom'))\r\n : ((a.zoomEnabled = !0),\r\n (a.panEnabled = !1),\r\n xa(a, a._zoomButton, 'pan'));\r\n a.render();\r\n },\r\n this.allDOMEventHandlers\r\n );\r\n I(\r\n this._zoomButton,\r\n 'mousemove',\r\n function () {\r\n d\r\n ? (d = !1)\r\n : (V(a._zoomButton, {\r\n backgroundColor: a.toolbar.itemBackgroundColorOnHover,\r\n color: a.toolbar.fontColorOnHover,\r\n transition: '0.4s',\r\n WebkitTransition: '0.4s',\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(a._zoomButton.childNodes[0], {\r\n WebkitFilter: 'invert(100%)',\r\n filter: 'invert(100%)',\r\n }));\r\n },\r\n this.allDOMEventHandlers\r\n );\r\n I(\r\n this._zoomButton,\r\n 'mouseout',\r\n function () {\r\n d ||\r\n (V(a._zoomButton, {\r\n backgroundColor: a.toolbar.itemBackgroundColor,\r\n color: a.toolbar.fontColor,\r\n transition: '0.4s',\r\n WebkitTransition: '0.4s',\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(a._zoomButton.childNodes[0], {\r\n WebkitFilter: 'invert(0%)',\r\n filter: 'invert(0%)',\r\n }));\r\n },\r\n this.allDOMEventHandlers\r\n );\r\n }\r\n this._resetButton\r\n ? (V(this._resetButton, {\r\n borderRight:\r\n this.toolbar.buttonBorderThickness +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor,\r\n backgroundColor: a.toolbar.itemBackgroundColor,\r\n color: a.toolbar.fontColor,\r\n }),\r\n (this._resetButton.title = this._cultureInfo.resetText))\r\n : ((d = !1),\r\n wa((this._resetButton = document.createElement('button'))),\r\n xa(this, this._resetButton, 'reset'),\r\n (this._resetButton.style.borderRight =\r\n (this.exportEnabled ? this.toolbar.buttonBorderThickness : 0) +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor),\r\n this._toolBar.appendChild(this._resetButton),\r\n I(\r\n this._resetButton,\r\n 'touchstart',\r\n function (a) {\r\n d = !0;\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this._resetButton,\r\n 'click',\r\n function () {\r\n a.toolTip.hide();\r\n a.toolTip &&\r\n a.toolTip.enabled &&\r\n a.toolTip.dispatchEvent(\r\n 'hidden',\r\n { chart: a, toolTip: a.toolTip },\r\n a.toolTip\r\n );\r\n a.zoomEnabled || a.panEnabled\r\n ? ((a.zoomEnabled = !0),\r\n (a.panEnabled = !1),\r\n xa(a, a._zoomButton, 'pan'),\r\n (a._defaultCursor = 'default'),\r\n (a.overlaidCanvas.style.cursor = a._defaultCursor))\r\n : ((a.zoomEnabled = !1), (a.panEnabled = !1));\r\n if (a.sessionVariables.axisX)\r\n for (var b = 0; b < a.sessionVariables.axisX.length; b++)\r\n (a.sessionVariables.axisX[b].newViewportMinimum = null),\r\n (a.sessionVariables.axisX[b].newViewportMaximum = null);\r\n if (a.sessionVariables.axisX2)\r\n for (b = 0; b < a.sessionVariables.axisX2.length; b++)\r\n (a.sessionVariables.axisX2[b].newViewportMinimum = null),\r\n (a.sessionVariables.axisX2[b].newViewportMaximum = null);\r\n if (a.sessionVariables.axisY)\r\n for (b = 0; b < a.sessionVariables.axisY.length; b++)\r\n (a.sessionVariables.axisY[b].newViewportMinimum = null),\r\n (a.sessionVariables.axisY[b].newViewportMaximum = null);\r\n if (a.sessionVariables.axisY2)\r\n for (b = 0; b < a.sessionVariables.axisY2.length; b++)\r\n (a.sessionVariables.axisY2[b].newViewportMinimum = null),\r\n (a.sessionVariables.axisY2[b].newViewportMaximum = null);\r\n a.resetOverlayedCanvas();\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(a._resetButton.childNodes[0], {\r\n WebkitFilter: 'invert(0%)',\r\n filter: 'invert(0%)',\r\n });\r\n wa(a._zoomButton, a._resetButton);\r\n a.stockChart &&\r\n (a.stockChart._rangeEventParameter = {\r\n stockChart: a.stockChart,\r\n source: 'chart',\r\n index: a.stockChart.charts.indexOf(a),\r\n minimum: null,\r\n maximum: null,\r\n });\r\n a._dispatchRangeEvent('rangeChanging', 'reset');\r\n a.stockChart &&\r\n ((a.stockChart._rangeEventParameter.type = 'rangeChanging'),\r\n a.stockChart.dispatchEvent(\r\n 'rangeChanging',\r\n a.stockChart._rangeEventParameter,\r\n a.stockChart\r\n ));\r\n a.render();\r\n a.syncCharts && a.syncCharts(null, null);\r\n a._dispatchRangeEvent('rangeChanged', 'reset');\r\n a.stockChart &&\r\n ((a.stockChart._rangeEventParameter.type = 'rangeChanged'),\r\n a.stockChart.dispatchEvent(\r\n 'rangeChanged',\r\n a.stockChart._rangeEventParameter,\r\n a.stockChart\r\n ));\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this._resetButton,\r\n 'mousemove',\r\n function () {\r\n d ||\r\n (V(a._resetButton, {\r\n backgroundColor: a.toolbar.itemBackgroundColorOnHover,\r\n color: a.toolbar.fontColorOnHover,\r\n transition: '0.4s',\r\n WebkitTransition: '0.4s',\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(a._resetButton.childNodes[0], {\r\n WebkitFilter: 'invert(100%)',\r\n filter: 'invert(100%)',\r\n }));\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n I(\r\n this._resetButton,\r\n 'mouseout',\r\n function () {\r\n d ||\r\n (V(a._resetButton, {\r\n backgroundColor: a.toolbar.itemBackgroundColor,\r\n color: a.toolbar.fontColor,\r\n transition: '0.4s',\r\n WebkitTransition: '0.4s',\r\n }),\r\n 0 >= navigator.userAgent.search('MSIE') &&\r\n V(a._resetButton.childNodes[0], {\r\n WebkitFilter: 'invert(0%)',\r\n filter: 'invert(0%)',\r\n }));\r\n },\r\n this.allDOMEventHandlers\r\n ),\r\n (this.overlaidCanvas.style.cursor = a._defaultCursor));\r\n this.zoomEnabled ||\r\n this.panEnabled ||\r\n (this._zoomButton\r\n ? (a._zoomButton.getAttribute('state') === a._cultureInfo.zoomText\r\n ? ((this.panEnabled = !0), (this.zoomEnabled = !1))\r\n : ((this.zoomEnabled = !0), (this.panEnabled = !1)),\r\n La(a._zoomButton, a._resetButton))\r\n : ((this.zoomEnabled = !0), (this.panEnabled = !1)));\r\n } else this.panEnabled = this.zoomEnabled = !1;\r\n hb(this);\r\n 'none' !== this._toolBar.style.display &&\r\n this._zoomButton &&\r\n (this.panEnabled\r\n ? xa(a, a._zoomButton, 'zoom')\r\n : xa(a, a._zoomButton, 'pan'),\r\n a._resetButton.getAttribute('state') !== a._cultureInfo.resetText &&\r\n xa(a, a._resetButton, 'reset'));\r\n this.options.toolTip &&\r\n this.toolTip.options !== this.options.toolTip &&\r\n (this.toolTip.options = this.options.toolTip);\r\n for (var c in this.toolTip.options)\r\n this.toolTip.options.hasOwnProperty(c) && this.toolTip.updateOption(c);\r\n };\r\n n.prototype._updateSize = function () {\r\n var a;\r\n a = [this.canvas, this.overlaidCanvas, this._eventManager.ghostCanvas];\r\n var d = 0,\r\n c = 0;\r\n this.options.width\r\n ? (d = this.width)\r\n : (this.width = d =\r\n 0 < this.container.clientWidth\r\n ? this.container.clientWidth\r\n : this.width);\r\n this.options.height\r\n ? (c = this.height)\r\n : (this.height = c =\r\n 0 < this.container.clientHeight\r\n ? this.container.clientHeight\r\n : this.height);\r\n if (this.canvas.width !== d * la || this.canvas.height !== c * la) {\r\n for (var b = 0; b < a.length; b++) Ma(a[b], d, c);\r\n this.bounds = {\r\n x1: 0,\r\n y1: 0,\r\n x2: this.width,\r\n y2: this.height,\r\n width: this.width,\r\n height: this.height,\r\n };\r\n a = !0;\r\n } else a = !1;\r\n return a;\r\n };\r\n n.prototype._initialize = function () {\r\n this.isNavigator =\r\n r(this.parent) ||\r\n r(this.parent._defaultsKey) ||\r\n 'Navigator' !== this.parent._defaultsKey\r\n ? !1\r\n : !0;\r\n this._animator\r\n ? this._animator.cancelAllAnimations()\r\n : (this._animator = new ja(this));\r\n this.removeAllEventListeners();\r\n this.disableToolTip = !1;\r\n this._axes = [];\r\n this.funnelPyramidClickHandler = this.pieDoughnutClickHandler = null;\r\n this._updateOptions();\r\n this.animatedRender =\r\n w && this.animationEnabled && 0 === this.renderCount;\r\n this._updateSize();\r\n this.clearCanvas();\r\n this.ctx.beginPath();\r\n this.axisX = [];\r\n this.axisX2 = [];\r\n this.axisY = [];\r\n this.axisY2 = [];\r\n this._indexLabels = [];\r\n this._dataInRenderedOrder = [];\r\n this._events = [];\r\n this._eventManager && this._eventManager.reset();\r\n this.plotInfo = { axisPlacement: null, plotTypes: [] };\r\n this.layoutManager = new Ea(\r\n 0,\r\n 0,\r\n this.width,\r\n this.height,\r\n this.isNavigator ? 0 : 2\r\n );\r\n this.plotArea.layoutManager && this.plotArea.layoutManager.reset();\r\n this.data = [];\r\n this.title = null;\r\n this.subtitles = [];\r\n var a = 0,\r\n d = null;\r\n if (this.options.data) {\r\n for (var c = 0; c < this.options.data.length; c++)\r\n if (\r\n (a++,\r\n !this.options.data[c].type ||\r\n 0 <= n._supportedChartTypes.indexOf(this.options.data[c].type))\r\n ) {\r\n var b = new W(\r\n this,\r\n this.options.data[c],\r\n a - 1,\r\n ++this._eventManager.lastObjectId\r\n );\r\n 'error' === b.type &&\r\n ((b.linkedDataSeriesIndex = r(\r\n this.options.data[c].linkedDataSeriesIndex\r\n )\r\n ? c - 1\r\n : this.options.data[c].linkedDataSeriesIndex),\r\n 0 > b.linkedDataSeriesIndex ||\r\n b.linkedDataSeriesIndex >= this.options.data.length ||\r\n 'number' !== typeof b.linkedDataSeriesIndex ||\r\n 'error' === this.options.data[b.linkedDataSeriesIndex].type) &&\r\n (b.linkedDataSeriesIndex = null);\r\n null === b.name && (b.name = 'DataSeries ' + a);\r\n null === b.color\r\n ? 1 < this.options.data.length\r\n ? ((b._colorSet = [\r\n this.selectedColorSet[\r\n b.index % this.selectedColorSet.length\r\n ],\r\n ]),\r\n (b.color = this.selectedColorSet[\r\n b.index % this.selectedColorSet.length\r\n ]))\r\n : (b._colorSet =\r\n 'line' === b.type ||\r\n 'stepLine' === b.type ||\r\n 'spline' === b.type ||\r\n 'area' === b.type ||\r\n 'stepArea' === b.type ||\r\n 'splineArea' === b.type ||\r\n 'stackedArea' === b.type ||\r\n 'stackedArea100' === b.type ||\r\n 'rangeArea' === b.type ||\r\n 'rangeSplineArea' === b.type ||\r\n 'candlestick' === b.type ||\r\n 'ohlc' === b.type ||\r\n 'waterfall' === b.type ||\r\n 'boxAndWhisker' === b.type\r\n ? [this.selectedColorSet[0]]\r\n : this.selectedColorSet)\r\n : (b._colorSet = [b.color]);\r\n null === b.markerSize &&\r\n ((('line' === b.type ||\r\n 'stepLine' === b.type ||\r\n 'spline' === b.type ||\r\n 0 <= b.type.toLowerCase().indexOf('area')) &&\r\n b.dataPoints &&\r\n b.dataPoints.length < this.width / 16) ||\r\n 'scatter' === b.type) &&\r\n (b.markerSize = 8);\r\n ('bubble' !== b.type && 'scatter' !== b.type) ||\r\n !b.dataPoints ||\r\n (b.dataPoints.some\r\n ? b.dataPoints.some(function (a) {\r\n return a.x;\r\n }) && b.dataPoints.sort(h)\r\n : b.dataPoints.sort(h));\r\n this.data.push(b);\r\n var e = b.axisPlacement,\r\n d = d || e,\r\n f;\r\n 'normal' === e\r\n ? 'xySwapped' === this.plotInfo.axisPlacement\r\n ? (f = 'You cannot combine \"' + b.type + '\" with bar chart')\r\n : 'none' === this.plotInfo.axisPlacement\r\n ? (f = 'You cannot combine \"' + b.type + '\" with pie chart')\r\n : null === this.plotInfo.axisPlacement &&\r\n (this.plotInfo.axisPlacement = 'normal')\r\n : 'xySwapped' === e\r\n ? 'normal' === this.plotInfo.axisPlacement\r\n ? (f =\r\n 'You cannot combine \"' +\r\n b.type +\r\n '\" with line, area, column or pie chart')\r\n : 'none' === this.plotInfo.axisPlacement\r\n ? (f = 'You cannot combine \"' + b.type + '\" with pie chart')\r\n : null === this.plotInfo.axisPlacement &&\r\n (this.plotInfo.axisPlacement = 'xySwapped')\r\n : 'none' === e\r\n ? 'normal' === this.plotInfo.axisPlacement\r\n ? (f =\r\n 'You cannot combine \"' +\r\n b.type +\r\n '\" with line, area, column or bar chart')\r\n : 'xySwapped' === this.plotInfo.axisPlacement\r\n ? (f = 'You cannot combine \"' + b.type + '\" with bar chart')\r\n : null === this.plotInfo.axisPlacement &&\r\n (this.plotInfo.axisPlacement = 'none')\r\n : null === e &&\r\n 'none' === this.plotInfo.axisPlacement &&\r\n (f = 'You cannot combine \"' + b.type + '\" with pie chart');\r\n if (f && window.console) {\r\n window.console.log(f);\r\n return;\r\n }\r\n }\r\n for (c = 0; c < this.data.length; c++) {\r\n if ('none' == d && 'error' === this.data[c].type && window.console) {\r\n window.console.log(\r\n 'You cannot combine \"' + b.type + '\" with error chart'\r\n );\r\n return;\r\n }\r\n 'error' === this.data[c].type &&\r\n ((this.data[c].axisPlacement = this.plotInfo.axisPlacement =\r\n d || 'normal'),\r\n (this.data[c]._linkedSeries =\r\n null === this.data[c].linkedDataSeriesIndex\r\n ? null\r\n : this.data[this.data[c].linkedDataSeriesIndex]));\r\n }\r\n }\r\n this._objectsInitialized = !0;\r\n this._plotAreaElements = [];\r\n };\r\n n._supportedChartTypes = Da(\r\n 'line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall'.split(\r\n ' '\r\n )\r\n );\r\n n.prototype.setLayout = function () {\r\n for (var a = this._plotAreaElements, d = 0; d < this.data.length; d++)\r\n if (\r\n 'normal' === this.plotInfo.axisPlacement ||\r\n 'xySwapped' === this.plotInfo.axisPlacement\r\n ) {\r\n if (!this.data[d].axisYType || 'primary' === this.data[d].axisYType)\r\n if (this.options.axisY && 0 < this.options.axisY.length) {\r\n if (!this.axisY.length)\r\n for (var c = 0; c < this.options.axisY.length; c++)\r\n 'normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisY[c] = new A(\r\n this,\r\n 'axisY',\r\n this.options.axisY[c],\r\n c,\r\n 'axisY',\r\n 'left'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisY[c] = new A(\r\n this,\r\n 'axisY',\r\n this.options.axisY[c],\r\n c,\r\n 'axisY',\r\n 'bottom'\r\n ))\r\n );\r\n this.data[d].axisY = this.axisY[\r\n 0 <= this.data[d].axisYIndex &&\r\n this.data[d].axisYIndex < this.axisY.length\r\n ? this.data[d].axisYIndex\r\n : 0\r\n ];\r\n this.axisY[\r\n 0 <= this.data[d].axisYIndex &&\r\n this.data[d].axisYIndex < this.axisY.length\r\n ? this.data[d].axisYIndex\r\n : 0\r\n ].dataSeries.push(this.data[d]);\r\n } else\r\n this.axisY.length ||\r\n ('normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisY[0] = new A(\r\n this,\r\n 'axisY',\r\n this.options.axisY,\r\n 0,\r\n 'axisY',\r\n 'left'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisY[0] = new A(\r\n this,\r\n 'axisY',\r\n this.options.axisY,\r\n 0,\r\n 'axisY',\r\n 'bottom'\r\n ))\r\n )),\r\n (this.data[d].axisY = this.axisY[0]),\r\n this.axisY[0].dataSeries.push(this.data[d]);\r\n if ('secondary' === this.data[d].axisYType)\r\n if (this.options.axisY2 && 0 < this.options.axisY2.length) {\r\n if (!this.axisY2.length)\r\n for (c = 0; c < this.options.axisY2.length; c++)\r\n 'normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisY2[c] = new A(\r\n this,\r\n 'axisY2',\r\n this.options.axisY2[c],\r\n c,\r\n 'axisY',\r\n 'right'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisY2[c] = new A(\r\n this,\r\n 'axisY2',\r\n this.options.axisY2[c],\r\n c,\r\n 'axisY',\r\n 'top'\r\n ))\r\n );\r\n this.data[d].axisY = this.axisY2[\r\n 0 <= this.data[d].axisYIndex &&\r\n this.data[d].axisYIndex < this.axisY2.length\r\n ? this.data[d].axisYIndex\r\n : 0\r\n ];\r\n this.axisY2[\r\n 0 <= this.data[d].axisYIndex &&\r\n this.data[d].axisYIndex < this.axisY2.length\r\n ? this.data[d].axisYIndex\r\n : 0\r\n ].dataSeries.push(this.data[d]);\r\n } else\r\n this.axisY2.length ||\r\n ('normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisY2[0] = new A(\r\n this,\r\n 'axisY2',\r\n this.options.axisY2,\r\n 0,\r\n 'axisY',\r\n 'right'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisY2[0] = new A(\r\n this,\r\n 'axisY2',\r\n this.options.axisY2,\r\n 0,\r\n 'axisY',\r\n 'top'\r\n ))\r\n )),\r\n (this.data[d].axisY = this.axisY2[0]),\r\n this.axisY2[0].dataSeries.push(this.data[d]);\r\n if (!this.data[d].axisXType || 'primary' === this.data[d].axisXType)\r\n if (this.options.axisX && 0 < this.options.axisX.length) {\r\n if (!this.axisX.length)\r\n for (c = 0; c < this.options.axisX.length; c++)\r\n 'normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisX[c] = new A(\r\n this,\r\n 'axisX',\r\n this.options.axisX[c],\r\n c,\r\n 'axisX',\r\n 'bottom'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisX[c] = new A(\r\n this,\r\n 'axisX',\r\n this.options.axisX[c],\r\n c,\r\n 'axisX',\r\n 'left'\r\n ))\r\n );\r\n this.data[d].axisX = this.axisX[\r\n 0 <= this.data[d].axisXIndex &&\r\n this.data[d].axisXIndex < this.axisX.length\r\n ? this.data[d].axisXIndex\r\n : 0\r\n ];\r\n this.axisX[\r\n 0 <= this.data[d].axisXIndex &&\r\n this.data[d].axisXIndex < this.axisX.length\r\n ? this.data[d].axisXIndex\r\n : 0\r\n ].dataSeries.push(this.data[d]);\r\n } else\r\n this.axisX.length ||\r\n ('normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisX[0] = new A(\r\n this,\r\n 'axisX',\r\n this.options.axisX,\r\n 0,\r\n 'axisX',\r\n 'bottom'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisX[0] = new A(\r\n this,\r\n 'axisX',\r\n this.options.axisX,\r\n 0,\r\n 'axisX',\r\n 'left'\r\n ))\r\n )),\r\n (this.data[d].axisX = this.axisX[0]),\r\n this.axisX[0].dataSeries.push(this.data[d]);\r\n if ('secondary' === this.data[d].axisXType)\r\n if (this.options.axisX2 && 0 < this.options.axisX2.length) {\r\n if (!this.axisX2.length)\r\n for (c = 0; c < this.options.axisX2.length; c++)\r\n 'normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisX2[c] = new A(\r\n this,\r\n 'axisX2',\r\n this.options.axisX2[c],\r\n c,\r\n 'axisX',\r\n 'top'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisX2[c] = new A(\r\n this,\r\n 'axisX2',\r\n this.options.axisX2[c],\r\n c,\r\n 'axisX',\r\n 'right'\r\n ))\r\n );\r\n this.data[d].axisX = this.axisX2[\r\n 0 <= this.data[d].axisXIndex &&\r\n this.data[d].axisXIndex < this.axisX2.length\r\n ? this.data[d].axisXIndex\r\n : 0\r\n ];\r\n this.axisX2[\r\n 0 <= this.data[d].axisXIndex &&\r\n this.data[d].axisXIndex < this.axisX2.length\r\n ? this.data[d].axisXIndex\r\n : 0\r\n ].dataSeries.push(this.data[d]);\r\n } else\r\n this.axisX2.length ||\r\n ('normal' === this.plotInfo.axisPlacement\r\n ? this._axes.push(\r\n (this.axisX2[0] = new A(\r\n this,\r\n 'axisX2',\r\n this.options.axisX2,\r\n 0,\r\n 'axisX',\r\n 'top'\r\n ))\r\n )\r\n : 'xySwapped' === this.plotInfo.axisPlacement &&\r\n this._axes.push(\r\n (this.axisX2[0] = new A(\r\n this,\r\n 'axisX2',\r\n this.options.axisX2,\r\n 0,\r\n 'axisX',\r\n 'right'\r\n ))\r\n )),\r\n (this.data[d].axisX = this.axisX2[0]),\r\n this.axisX2[0].dataSeries.push(this.data[d]);\r\n }\r\n if (this.axisY) {\r\n for (c = 1; c < this.axisY.length; c++)\r\n 'undefined' === typeof this.axisY[c].options.gridThickness &&\r\n (this.axisY[c].gridThickness = 0);\r\n for (c = 0; c < this.axisY.length - 1; c++)\r\n 'undefined' === typeof this.axisY[c].options.margin &&\r\n (this.axisY[c].margin = 10);\r\n }\r\n if (this.axisY2) {\r\n for (c = 1; c < this.axisY2.length; c++)\r\n 'undefined' === typeof this.axisY2[c].options.gridThickness &&\r\n (this.axisY2[c].gridThickness = 0);\r\n for (c = 0; c < this.axisY2.length - 1; c++)\r\n 'undefined' === typeof this.axisY2[c].options.margin &&\r\n (this.axisY2[c].margin = 10);\r\n }\r\n this.axisY &&\r\n 0 < this.axisY.length &&\r\n this.axisY2 &&\r\n 0 < this.axisY2.length &&\r\n (0 < this.axisY[0].gridThickness &&\r\n 'undefined' === typeof this.axisY2[0].options.gridThickness\r\n ? (this.axisY2[0].gridThickness = 0)\r\n : 0 < this.axisY2[0].gridThickness &&\r\n 'undefined' === typeof this.axisY[0].options.gridThickness &&\r\n (this.axisY[0].gridThickness = 0));\r\n if (this.axisX)\r\n for (c = 0; c < this.axisX.length; c++)\r\n 'undefined' === typeof this.axisX[c].options.gridThickness &&\r\n (this.axisX[c].gridThickness = 0);\r\n if (this.axisX2)\r\n for (c = 0; c < this.axisX2.length; c++)\r\n 'undefined' === typeof this.axisX2[c].options.gridThickness &&\r\n (this.axisX2[c].gridThickness = 0);\r\n this.axisX &&\r\n 0 < this.axisX.length &&\r\n this.axisX2 &&\r\n 0 < this.axisX2.length &&\r\n (0 < this.axisX[0].gridThickness &&\r\n 'undefined' === typeof this.axisX2[0].options.gridThickness\r\n ? (this.axisX2[0].gridThickness = 0)\r\n : 0 < this.axisX2[0].gridThickness &&\r\n 'undefined' === typeof this.axisX[0].options.gridThickness &&\r\n (this.axisX[0].gridThickness = 0));\r\n c = !1;\r\n if (\r\n 0 < this._axes.length &&\r\n this.options.zoomEnabled &&\r\n (this.zoomEnabled || this.panEnabled)\r\n )\r\n for (d = 0; d < this._axes.length; d++)\r\n if (\r\n !r(this._axes[d].viewportMinimum) ||\r\n !r(this._axes[d].viewportMaximum)\r\n ) {\r\n c = !0;\r\n break;\r\n }\r\n c\r\n ? (La(this._zoomButton, this._resetButton),\r\n (this._toolBar.style.border =\r\n this.toolbar.buttonBorderThickness +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor),\r\n (this._zoomButton.style.borderRight =\r\n this.toolbar.buttonBorderThickness +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor),\r\n (this._resetButton.style.borderRight =\r\n (this.exportEnabled ? this.toolbar.buttonBorderThickness : 0) +\r\n 'px solid ' +\r\n this.toolbar.buttonBorderColor))\r\n : (wa(this._zoomButton, this._resetButton),\r\n (this._toolBar.style.border =\r\n this.toolbar.buttonBorderThickness + 'px solid transparent'),\r\n this.options.zoomEnabled &&\r\n ((this.zoomEnabled = !0), (this.panEnabled = !1)));\r\n fb(this);\r\n this._processData();\r\n this.options.title &&\r\n ((this.title = new za(this, this.options.title)),\r\n this.title.dockInsidePlotArea\r\n ? a.push(this.title)\r\n : this.title.setLayout());\r\n if (this.options.subtitles)\r\n for (d = 0; d < this.options.subtitles.length; d++)\r\n (c = new Ia(this, this.options.subtitles[d], d)),\r\n this.subtitles.push(c),\r\n c.dockInsidePlotArea ? a.push(c) : c.setLayout();\r\n this.legend = new O(this, this.options.legend);\r\n for (d = 0; d < this.data.length; d++)\r\n (this.data[d].showInLegend ||\r\n 'pie' === this.data[d].type ||\r\n 'doughnut' === this.data[d].type ||\r\n 'funnel' === this.data[d].type ||\r\n 'pyramid' === this.data[d].type) &&\r\n this.legend.dataSeries.push(this.data[d]);\r\n this.legend.dockInsidePlotArea\r\n ? a.push(this.legend)\r\n : this.legend.setLayout();\r\n for (d = 0; d < this._axes.length; d++)\r\n if (\r\n this._axes[d].scaleBreaks &&\r\n this._axes[d].scaleBreaks._appliedBreaks.length\r\n ) {\r\n w\r\n ? ((this._breaksCanvas = va(this.width, this.height, !0)),\r\n (this._breaksCanvasCtx = this._breaksCanvas.getContext('2d')))\r\n : ((this._breaksCanvas = this.canvas),\r\n (this._breaksCanvasCtx = this.ctx));\r\n break;\r\n }\r\n this._preRenderCanvas = va(this.width, this.height);\r\n this._preRenderCtx = this._preRenderCanvas.getContext('2d');\r\n ('normal' !== this.plotInfo.axisPlacement &&\r\n 'xySwapped' !== this.plotInfo.axisPlacement) ||\r\n A.setLayout(\r\n this.axisX,\r\n this.axisX2,\r\n this.axisY,\r\n this.axisY2,\r\n this.plotInfo.axisPlacement,\r\n this.layoutManager.getFreeSpace()\r\n );\r\n };\r\n n.prototype.renderElements = function () {\r\n var a = this._plotAreaElements;\r\n this.title && !this.title.dockInsidePlotArea && this.title.render();\r\n for (var d = 0; d < this.subtitles.length; d++)\r\n this.subtitles[d].dockInsidePlotArea || this.subtitles[d].render();\r\n this.legend.dockInsidePlotArea || this.legend.render();\r\n if (\r\n 'normal' === this.plotInfo.axisPlacement ||\r\n 'xySwapped' === this.plotInfo.axisPlacement\r\n )\r\n A.render(\r\n this.axisX,\r\n this.axisX2,\r\n this.axisY,\r\n this.axisY2,\r\n this.plotInfo.axisPlacement\r\n );\r\n else if ('none' === this.plotInfo.axisPlacement) this.preparePlotArea();\r\n else return;\r\n for (d = 0; d < a.length; d++) a[d].setLayout(), a[d].render();\r\n var c = [];\r\n if (this.animatedRender) {\r\n var b = va(this.width, this.height);\r\n b.getContext('2d').drawImage(\r\n this.canvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n );\r\n }\r\n ib(this);\r\n var a = this.ctx.miterLimit,\r\n e;\r\n this.ctx.miterLimit = 3;\r\n w &&\r\n this._breaksCanvas &&\r\n (this._preRenderCtx.drawImage(\r\n this.canvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n this._preRenderCtx.drawImage(\r\n this._breaksCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n (this._breaksCanvasCtx.globalCompositeOperation = 'source-atop'),\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n this._preRenderCtx.clearRect(0, 0, this.width, this.height));\r\n for (d = 0; d < this.plotInfo.plotTypes.length; d++)\r\n for (\r\n var f = this.plotInfo.plotTypes[d], l = 0;\r\n l < f.plotUnits.length;\r\n l++\r\n ) {\r\n var s = f.plotUnits[l],\r\n D = null;\r\n s.targetCanvas && ya(s.targetCanvas);\r\n s.targetCanvas = null;\r\n this.animatedRender &&\r\n ((s.targetCanvas = va(this.width, this.height)),\r\n (s.targetCanvasCtx = s.targetCanvas.getContext('2d')),\r\n (e = s.targetCanvasCtx.miterLimit),\r\n (s.targetCanvasCtx.miterLimit = 3));\r\n 'line' === s.type\r\n ? (D = this.renderLine(s))\r\n : 'stepLine' === s.type\r\n ? (D = this.renderStepLine(s))\r\n : 'spline' === s.type\r\n ? (D = this.renderSpline(s))\r\n : 'column' === s.type\r\n ? (D = this.renderColumn(s))\r\n : 'bar' === s.type\r\n ? (D = this.renderBar(s))\r\n : 'area' === s.type\r\n ? (D = this.renderArea(s))\r\n : 'stepArea' === s.type\r\n ? (D = this.renderStepArea(s))\r\n : 'splineArea' === s.type\r\n ? (D = this.renderSplineArea(s))\r\n : 'stackedColumn' === s.type\r\n ? (D = this.renderStackedColumn(s))\r\n : 'stackedColumn100' === s.type\r\n ? (D = this.renderStackedColumn100(s))\r\n : 'stackedBar' === s.type\r\n ? (D = this.renderStackedBar(s))\r\n : 'stackedBar100' === s.type\r\n ? (D = this.renderStackedBar100(s))\r\n : 'stackedArea' === s.type\r\n ? (D = this.renderStackedArea(s))\r\n : 'stackedArea100' === s.type\r\n ? (D = this.renderStackedArea100(s))\r\n : 'bubble' === s.type\r\n ? (D = D = this.renderBubble(s))\r\n : 'scatter' === s.type\r\n ? (D = this.renderScatter(s))\r\n : 'pie' === s.type\r\n ? this.renderPie(s)\r\n : 'doughnut' === s.type\r\n ? this.renderPie(s)\r\n : 'funnel' === s.type\r\n ? (D = this.renderFunnel(s))\r\n : 'pyramid' === s.type\r\n ? (D = this.renderFunnel(s))\r\n : 'candlestick' === s.type\r\n ? (D = this.renderCandlestick(s))\r\n : 'ohlc' === s.type\r\n ? (D = this.renderCandlestick(s))\r\n : 'rangeColumn' === s.type\r\n ? (D = this.renderRangeColumn(s))\r\n : 'error' === s.type\r\n ? (D = this.renderError(s))\r\n : 'rangeBar' === s.type\r\n ? (D = this.renderRangeBar(s))\r\n : 'rangeArea' === s.type\r\n ? (D = this.renderRangeArea(s))\r\n : 'rangeSplineArea' === s.type\r\n ? (D = this.renderRangeSplineArea(s))\r\n : 'waterfall' === s.type\r\n ? (D = this.renderWaterfall(s))\r\n : 'boxAndWhisker' === s.type && (D = this.renderBoxAndWhisker(s));\r\n for (var k = 0; k < s.dataSeriesIndexes.length; k++)\r\n this._dataInRenderedOrder.push(this.data[s.dataSeriesIndexes[k]]);\r\n this.animatedRender &&\r\n ((s.targetCanvasCtx.miterLimit = e), D && c.push(D));\r\n }\r\n this.ctx.miterLimit = a;\r\n this.animatedRender &&\r\n this._breaksCanvasCtx &&\r\n c.push({\r\n source: this._breaksCanvasCtx,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n startTimePercent: 0.7,\r\n });\r\n this.animatedRender &&\r\n 0 < this._indexLabels.length &&\r\n ((e = va(this.width, this.height).getContext('2d')),\r\n c.push(this.renderIndexLabels(e)));\r\n var m = this;\r\n if (0 < c.length)\r\n (m.disableToolTip = !0),\r\n m._animator.animate(\r\n 200,\r\n m.animationDuration,\r\n function (a) {\r\n m.ctx.clearRect(0, 0, m.width, m.height);\r\n m.ctx.drawImage(\r\n b,\r\n 0,\r\n 0,\r\n Math.floor(m.width * la),\r\n Math.floor(m.height * la),\r\n 0,\r\n 0,\r\n m.width,\r\n m.height\r\n );\r\n for (var e = 0; e < c.length; e++)\r\n (D = c[e]),\r\n 1 > a && 'undefined' !== typeof D.startTimePercent\r\n ? a >= D.startTimePercent &&\r\n D.animationCallback(\r\n D.easingFunction(\r\n a - D.startTimePercent,\r\n 0,\r\n 1,\r\n 1 - D.startTimePercent\r\n ),\r\n D\r\n )\r\n : D.animationCallback(D.easingFunction(a, 0, 1, 1), D);\r\n m.dispatchEvent('dataAnimationIterationEnd', { chart: m });\r\n },\r\n function () {\r\n c = [];\r\n for (var a = 0; a < m.plotInfo.plotTypes.length; a++)\r\n for (\r\n var e = m.plotInfo.plotTypes[a], d = 0;\r\n d < e.plotUnits.length;\r\n d++\r\n ) {\r\n var f = e.plotUnits[d];\r\n f.targetCanvas && ya(f.targetCanvas);\r\n f.targetCanvas = null;\r\n }\r\n b = null;\r\n m.disableToolTip = !1;\r\n m.dispatchEvent('dataAnimationEnd', { chart: m });\r\n }\r\n );\r\n else {\r\n if (m._breaksCanvas)\r\n if (w)\r\n m.plotArea.ctx.drawImage(\r\n m._breaksCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n );\r\n else for (k = 0; k < m._axes.length; k++) m._axes[k].createMask();\r\n 0 < m._indexLabels.length && m.renderIndexLabels();\r\n m.dispatchEvent('dataAnimationIterationEnd', { chart: m });\r\n m.dispatchEvent('dataAnimationEnd', { chart: m });\r\n }\r\n this.attachPlotAreaEventHandlers();\r\n this.zoomEnabled ||\r\n this.panEnabled ||\r\n !this._zoomButton ||\r\n 'none' === this._zoomButton.style.display ||\r\n wa(this._zoomButton, this._resetButton);\r\n this.toolTip._updateToolTip();\r\n this.renderCount++;\r\n Ha &&\r\n ((m = this),\r\n setTimeout(function () {\r\n var a = document.getElementById('ghostCanvasCopy');\r\n a &&\r\n (Ma(a, m.width, m.height),\r\n a.getContext('2d').drawImage(m._eventManager.ghostCanvas, 0, 0));\r\n }, 2e3));\r\n this._breaksCanvas &&\r\n (delete this._breaksCanvas, delete this._breaksCanvasCtx);\r\n for (k = 0; k < this._axes.length; k++)\r\n this._axes[k].maskCanvas &&\r\n (delete this._axes[k].maskCanvas, delete this._axes[k].maskCtx);\r\n };\r\n n.prototype.render = function (a) {\r\n a && (this.options = a);\r\n this._initialize();\r\n this.setLayout();\r\n this.renderElements();\r\n this._preRenderCanvas && ya(this._preRenderCanvas);\r\n };\r\n n.prototype.attachPlotAreaEventHandlers = function () {\r\n this.attachEvent({\r\n context: this,\r\n chart: this,\r\n mousedown: this._plotAreaMouseDown,\r\n mouseup: this._plotAreaMouseUp,\r\n mousemove: this._plotAreaMouseMove,\r\n cursor: this.panEnabled ? 'move' : 'default',\r\n capture: !0,\r\n bounds: this.plotArea,\r\n });\r\n };\r\n n.prototype.categoriseDataSeries = function () {\r\n for (var a = '', d = 0; d < this.data.length; d++)\r\n if (\r\n ((a = this.data[d]),\r\n a.dataPoints &&\r\n 0 !== a.dataPoints.length &&\r\n a.visible &&\r\n 0 <= n._supportedChartTypes.indexOf(a.type))\r\n ) {\r\n for (\r\n var c = null, b = !1, e = null, f = !1, l = 0;\r\n l < this.plotInfo.plotTypes.length;\r\n l++\r\n )\r\n if (this.plotInfo.plotTypes[l].type === a.type) {\r\n b = !0;\r\n c = this.plotInfo.plotTypes[l];\r\n break;\r\n }\r\n b ||\r\n ((c = { type: a.type, totalDataSeries: 0, plotUnits: [] }),\r\n this.plotInfo.plotTypes.push(c));\r\n for (l = 0; l < c.plotUnits.length; l++)\r\n if (\r\n c.plotUnits[l].axisYType === a.axisYType &&\r\n c.plotUnits[l].axisXType === a.axisXType &&\r\n c.plotUnits[l].axisYIndex === a.axisYIndex &&\r\n c.plotUnits[l].axisXIndex === a.axisXIndex\r\n ) {\r\n f = !0;\r\n e = c.plotUnits[l];\r\n break;\r\n }\r\n f ||\r\n ((e = {\r\n type: a.type,\r\n previousDataSeriesCount: 0,\r\n index: c.plotUnits.length,\r\n plotType: c,\r\n axisXType: a.axisXType,\r\n axisYType: a.axisYType,\r\n axisYIndex: a.axisYIndex,\r\n axisXIndex: a.axisXIndex,\r\n axisY:\r\n 'primary' === a.axisYType\r\n ? this.axisY[\r\n 0 <= a.axisYIndex && a.axisYIndex < this.axisY.length\r\n ? a.axisYIndex\r\n : 0\r\n ]\r\n : this.axisY2[\r\n 0 <= a.axisYIndex && a.axisYIndex < this.axisY2.length\r\n ? a.axisYIndex\r\n : 0\r\n ],\r\n axisX:\r\n 'primary' === a.axisXType\r\n ? this.axisX[\r\n 0 <= a.axisXIndex && a.axisXIndex < this.axisX.length\r\n ? a.axisXIndex\r\n : 0\r\n ]\r\n : this.axisX2[\r\n 0 <= a.axisXIndex && a.axisXIndex < this.axisX2.length\r\n ? a.axisXIndex\r\n : 0\r\n ],\r\n dataSeriesIndexes: [],\r\n yTotals: [],\r\n yAbsTotals: [],\r\n }),\r\n c.plotUnits.push(e));\r\n c.totalDataSeries++;\r\n e.dataSeriesIndexes.push(d);\r\n a.plotUnit = e;\r\n }\r\n for (d = 0; d < this.plotInfo.plotTypes.length; d++)\r\n for (\r\n c = this.plotInfo.plotTypes[d], l = a = 0;\r\n l < c.plotUnits.length;\r\n l++\r\n )\r\n (c.plotUnits[l].previousDataSeriesCount = a),\r\n (a += c.plotUnits[l].dataSeriesIndexes.length);\r\n };\r\n n.prototype.assignIdToDataPoints = function () {\r\n for (var a = 0; a < this.data.length; a++) {\r\n var d = this.data[a];\r\n if (d.dataPoints)\r\n for (var c = d.dataPoints.length, b = 0; b < c; b++)\r\n d.dataPointIds[b] = ++this._eventManager.lastObjectId;\r\n }\r\n };\r\n n.prototype._processData = function () {\r\n this.assignIdToDataPoints();\r\n this.categoriseDataSeries();\r\n for (var a = 0; a < this.plotInfo.plotTypes.length; a++)\r\n for (\r\n var d = this.plotInfo.plotTypes[a], c = 0;\r\n c < d.plotUnits.length;\r\n c++\r\n ) {\r\n var b = d.plotUnits[c];\r\n 'line' === b.type ||\r\n 'stepLine' === b.type ||\r\n 'spline' === b.type ||\r\n 'column' === b.type ||\r\n 'area' === b.type ||\r\n 'stepArea' === b.type ||\r\n 'splineArea' === b.type ||\r\n 'bar' === b.type ||\r\n 'bubble' === b.type ||\r\n 'scatter' === b.type\r\n ? this._processMultiseriesPlotUnit(b)\r\n : 'stackedColumn' === b.type ||\r\n 'stackedBar' === b.type ||\r\n 'stackedArea' === b.type\r\n ? this._processStackedPlotUnit(b)\r\n : 'stackedColumn100' === b.type ||\r\n 'stackedBar100' === b.type ||\r\n 'stackedArea100' === b.type\r\n ? this._processStacked100PlotUnit(b)\r\n : 'candlestick' === b.type ||\r\n 'ohlc' === b.type ||\r\n 'rangeColumn' === b.type ||\r\n 'rangeBar' === b.type ||\r\n 'rangeArea' === b.type ||\r\n 'rangeSplineArea' === b.type ||\r\n 'error' === b.type ||\r\n 'boxAndWhisker' === b.type\r\n ? this._processMultiYPlotUnit(b)\r\n : 'waterfall' === b.type && this._processSpecificPlotUnit(b);\r\n }\r\n this.calculateAutoBreaks();\r\n };\r\n n.prototype._processMultiseriesPlotUnit = function (a) {\r\n if (a.dataSeriesIndexes && !(1 > a.dataSeriesIndexes.length))\r\n for (\r\n var d = a.axisY.dataInfo, c = a.axisX.dataInfo, b, e, f = !1, l = 0;\r\n l < a.dataSeriesIndexes.length;\r\n l++\r\n ) {\r\n var s = this.data[a.dataSeriesIndexes[l]],\r\n D = 0,\r\n k = !1,\r\n m = !1,\r\n p;\r\n if ('normal' === s.axisPlacement || 'xySwapped' === s.axisPlacement)\r\n var q = a.axisX.sessionVariables.newViewportMinimum\r\n ? a.axisX.sessionVariables.newViewportMinimum\r\n : this.options.axisX && this.options.axisX.viewportMinimum\r\n ? this.options.axisX.viewportMinimum\r\n : this.options.axisX && this.options.axisX.minimum\r\n ? this.options.axisX.minimum\r\n : a.axisX.logarithmic\r\n ? 0\r\n : -Infinity,\r\n g = a.axisX.sessionVariables.newViewportMaximum\r\n ? a.axisX.sessionVariables.newViewportMaximum\r\n : this.options.axisX && this.options.axisX.viewportMaximum\r\n ? this.options.axisX.viewportMaximum\r\n : this.options.axisX && this.options.axisX.maximum\r\n ? this.options.axisX.maximum\r\n : Infinity;\r\n if (\r\n (s.dataPoints[D].x && s.dataPoints[D].x.getTime) ||\r\n 'dateTime' === s.xValueType\r\n )\r\n f = !0;\r\n for (D = 0; D < s.dataPoints.length; D++) {\r\n 'undefined' === typeof s.dataPoints[D].x &&\r\n (s.dataPoints[D].x = D + (a.axisX.logarithmic ? 1 : 0));\r\n s.dataPoints[D].x.getTime\r\n ? ((f = !0), (b = s.dataPoints[D].x.getTime()))\r\n : (b = s.dataPoints[D].x);\r\n e = s.dataPoints[D].y;\r\n b < c.min && (c.min = b);\r\n b > c.max && (c.max = b);\r\n e < d.min && 'number' === typeof e && (d.min = e);\r\n e > d.max && 'number' === typeof e && (d.max = e);\r\n if (0 < D) {\r\n if (a.axisX.logarithmic) {\r\n var t = b / s.dataPoints[D - 1].x;\r\n 1 > t && (t = 1 / t);\r\n c.minDiff > t && 1 !== t && (c.minDiff = t);\r\n } else\r\n (t = b - s.dataPoints[D - 1].x),\r\n 0 > t && (t *= -1),\r\n c.minDiff > t && 0 !== t && (c.minDiff = t);\r\n null !== e &&\r\n null !== s.dataPoints[D - 1].y &&\r\n (a.axisY.logarithmic\r\n ? ((t = e / s.dataPoints[D - 1].y),\r\n 1 > t && (t = 1 / t),\r\n d.minDiff > t && 1 !== t && (d.minDiff = t))\r\n : ((t = e - s.dataPoints[D - 1].y),\r\n 0 > t && (t *= -1),\r\n d.minDiff > t && 0 !== t && (d.minDiff = t)));\r\n }\r\n if (b < q && !k) null !== e && (p = b);\r\n else {\r\n if (!k && ((k = !0), 0 < D)) {\r\n D -= 2;\r\n continue;\r\n }\r\n if (b > g && !m) m = !0;\r\n else if (b > g && m) continue;\r\n s.dataPoints[D].label &&\r\n (a.axisX.labels[b] = s.dataPoints[D].label);\r\n b < c.viewPortMin && (c.viewPortMin = b);\r\n b > c.viewPortMax && (c.viewPortMax = b);\r\n null === e\r\n ? c.viewPortMin === b && p < b && (c.viewPortMin = p)\r\n : (e < d.viewPortMin &&\r\n 'number' === typeof e &&\r\n (d.viewPortMin = e),\r\n e > d.viewPortMax &&\r\n 'number' === typeof e &&\r\n (d.viewPortMax = e));\r\n }\r\n }\r\n s.axisX.valueType = s.xValueType = f ? 'dateTime' : 'number';\r\n }\r\n };\r\n n.prototype._processStackedPlotUnit = function (a) {\r\n if (a.dataSeriesIndexes && !(1 > a.dataSeriesIndexes.length)) {\r\n for (\r\n var d = a.axisY.dataInfo,\r\n c = a.axisX.dataInfo,\r\n b,\r\n e,\r\n f = !1,\r\n l = [],\r\n s = [],\r\n D = Infinity,\r\n k = -Infinity,\r\n m = 0;\r\n m < a.dataSeriesIndexes.length;\r\n m++\r\n ) {\r\n var p = this.data[a.dataSeriesIndexes[m]],\r\n q = 0,\r\n g = !1,\r\n t = !1,\r\n h;\r\n if ('normal' === p.axisPlacement || 'xySwapped' === p.axisPlacement)\r\n var fa = a.axisX.sessionVariables.newViewportMinimum\r\n ? a.axisX.sessionVariables.newViewportMinimum\r\n : this.options.axisX && this.options.axisX.viewportMinimum\r\n ? this.options.axisX.viewportMinimum\r\n : this.options.axisX && this.options.axisX.minimum\r\n ? this.options.axisX.minimum\r\n : -Infinity,\r\n u = a.axisX.sessionVariables.newViewportMaximum\r\n ? a.axisX.sessionVariables.newViewportMaximum\r\n : this.options.axisX && this.options.axisX.viewportMaximum\r\n ? this.options.axisX.viewportMaximum\r\n : this.options.axisX && this.options.axisX.maximum\r\n ? this.options.axisX.maximum\r\n : Infinity;\r\n if (\r\n (p.dataPoints[q].x && p.dataPoints[q].x.getTime) ||\r\n 'dateTime' === p.xValueType\r\n )\r\n f = !0;\r\n for (q = 0; q < p.dataPoints.length; q++) {\r\n 'undefined' === typeof p.dataPoints[q].x &&\r\n (p.dataPoints[q].x = q + (a.axisX.logarithmic ? 1 : 0));\r\n p.dataPoints[q].x.getTime\r\n ? ((f = !0), (b = p.dataPoints[q].x.getTime()))\r\n : (b = p.dataPoints[q].x);\r\n e = r(p.dataPoints[q].y) ? 0 : p.dataPoints[q].y;\r\n b < c.min && (c.min = b);\r\n b > c.max && (c.max = b);\r\n if (0 < q) {\r\n if (a.axisX.logarithmic) {\r\n var y = b / p.dataPoints[q - 1].x;\r\n 1 > y && (y = 1 / y);\r\n c.minDiff > y && 1 !== y && (c.minDiff = y);\r\n } else\r\n (y = b - p.dataPoints[q - 1].x),\r\n 0 > y && (y *= -1),\r\n c.minDiff > y && 0 !== y && (c.minDiff = y);\r\n null !== e &&\r\n null !== p.dataPoints[q - 1].y &&\r\n (a.axisY.logarithmic\r\n ? 0 < e &&\r\n ((y = e / p.dataPoints[q - 1].y),\r\n 1 > y && (y = 1 / y),\r\n d.minDiff > y && 1 !== y && (d.minDiff = y))\r\n : ((y = e - p.dataPoints[q - 1].y),\r\n 0 > y && (y *= -1),\r\n d.minDiff > y && 0 !== y && (d.minDiff = y)));\r\n }\r\n if (b < fa && !g) null !== p.dataPoints[q].y && (h = b);\r\n else {\r\n if (!g && ((g = !0), 0 < q)) {\r\n q -= 2;\r\n continue;\r\n }\r\n if (b > u && !t) t = !0;\r\n else if (b > u && t) continue;\r\n p.dataPoints[q].label &&\r\n (a.axisX.labels[b] = p.dataPoints[q].label);\r\n b < c.viewPortMin && (c.viewPortMin = b);\r\n b > c.viewPortMax && (c.viewPortMax = b);\r\n null === p.dataPoints[q].y\r\n ? c.viewPortMin === b && h < b && (c.viewPortMin = h)\r\n : ((a.yTotals[b] = (a.yTotals[b] ? a.yTotals[b] : 0) + e),\r\n (a.yAbsTotals[b] =\r\n (a.yAbsTotals[b] ? a.yAbsTotals[b] : 0) + Math.abs(e)),\r\n 0 <= e\r\n ? l[b]\r\n ? (l[b] += e)\r\n : ((l[b] = e), (D = Math.min(e, D)))\r\n : s[b]\r\n ? (s[b] += e)\r\n : ((s[b] = e), (k = Math.max(e, k))));\r\n }\r\n }\r\n a.axisY.scaleBreaks &&\r\n a.axisY.scaleBreaks.autoCalculate &&\r\n 1 <= a.axisY.scaleBreaks.maxNumberOfAutoBreaks &&\r\n (d.dataPointYPositiveSums\r\n ? (d.dataPointYPositiveSums.push.apply(\r\n d.dataPointYPositiveSums,\r\n l\r\n ),\r\n d.dataPointYNegativeSums.push.apply(\r\n d.dataPointYPositiveSums,\r\n s\r\n ))\r\n : ((d.dataPointYPositiveSums = l),\r\n (d.dataPointYNegativeSums = s)));\r\n p.axisX.valueType = p.xValueType = f ? 'dateTime' : 'number';\r\n }\r\n for (q in l)\r\n l.hasOwnProperty(q) &&\r\n !isNaN(q) &&\r\n ((a = l[q]),\r\n a < d.min && (d.min = Math.min(a, D)),\r\n a > d.max && (d.max = a),\r\n q < c.viewPortMin ||\r\n q > c.viewPortMax ||\r\n (a < d.viewPortMin && (d.viewPortMin = Math.min(a, D)),\r\n a > d.viewPortMax && (d.viewPortMax = a)));\r\n for (q in s)\r\n s.hasOwnProperty(q) &&\r\n !isNaN(q) &&\r\n ((a = s[q]),\r\n a < d.min && (d.min = a),\r\n a > d.max && (d.max = Math.max(a, k)),\r\n q < c.viewPortMin ||\r\n q > c.viewPortMax ||\r\n (a < d.viewPortMin && (d.viewPortMin = a),\r\n a > d.viewPortMax && (d.viewPortMax = Math.max(a, k))));\r\n }\r\n };\r\n n.prototype._processStacked100PlotUnit = function (a) {\r\n if (a.dataSeriesIndexes && !(1 > a.dataSeriesIndexes.length)) {\r\n for (\r\n var d = a.axisY.dataInfo,\r\n c = a.axisX.dataInfo,\r\n b,\r\n e,\r\n f = !1,\r\n l = !1,\r\n s = !1,\r\n D = [],\r\n k = 0;\r\n k < a.dataSeriesIndexes.length;\r\n k++\r\n ) {\r\n var m = this.data[a.dataSeriesIndexes[k]],\r\n p = 0,\r\n q = !1,\r\n g = !1,\r\n t;\r\n if ('normal' === m.axisPlacement || 'xySwapped' === m.axisPlacement)\r\n var h = a.axisX.sessionVariables.newViewportMinimum\r\n ? a.axisX.sessionVariables.newViewportMinimum\r\n : this.options.axisX && this.options.axisX.viewportMinimum\r\n ? this.options.axisX.viewportMinimum\r\n : this.options.axisX && this.options.axisX.minimum\r\n ? this.options.axisX.minimum\r\n : -Infinity,\r\n fa = a.axisX.sessionVariables.newViewportMaximum\r\n ? a.axisX.sessionVariables.newViewportMaximum\r\n : this.options.axisX && this.options.axisX.viewportMaximum\r\n ? this.options.axisX.viewportMaximum\r\n : this.options.axisX && this.options.axisX.maximum\r\n ? this.options.axisX.maximum\r\n : Infinity;\r\n if (\r\n (m.dataPoints[p].x && m.dataPoints[p].x.getTime) ||\r\n 'dateTime' === m.xValueType\r\n )\r\n f = !0;\r\n for (p = 0; p < m.dataPoints.length; p++) {\r\n 'undefined' === typeof m.dataPoints[p].x &&\r\n (m.dataPoints[p].x = p + (a.axisX.logarithmic ? 1 : 0));\r\n m.dataPoints[p].x.getTime\r\n ? ((f = !0), (b = m.dataPoints[p].x.getTime()))\r\n : (b = m.dataPoints[p].x);\r\n e = r(m.dataPoints[p].y) ? null : m.dataPoints[p].y;\r\n b < c.min && (c.min = b);\r\n b > c.max && (c.max = b);\r\n if (0 < p) {\r\n if (a.axisX.logarithmic) {\r\n var u = b / m.dataPoints[p - 1].x;\r\n 1 > u && (u = 1 / u);\r\n c.minDiff > u && 1 !== u && (c.minDiff = u);\r\n } else\r\n (u = b - m.dataPoints[p - 1].x),\r\n 0 > u && (u *= -1),\r\n c.minDiff > u && 0 !== u && (c.minDiff = u);\r\n r(e) ||\r\n null === m.dataPoints[p - 1].y ||\r\n (a.axisY.logarithmic\r\n ? 0 < e &&\r\n ((u = e / m.dataPoints[p - 1].y),\r\n 1 > u && (u = 1 / u),\r\n d.minDiff > u && 1 !== u && (d.minDiff = u))\r\n : ((u = e - m.dataPoints[p - 1].y),\r\n 0 > u && (u *= -1),\r\n d.minDiff > u && 0 !== u && (d.minDiff = u)));\r\n }\r\n if (b < h && !q) null !== e && (t = b);\r\n else {\r\n if (!q && ((q = !0), 0 < p)) {\r\n p -= 2;\r\n continue;\r\n }\r\n if (b > fa && !g) g = !0;\r\n else if (b > fa && g) continue;\r\n m.dataPoints[p].label &&\r\n (a.axisX.labels[b] = m.dataPoints[p].label);\r\n b < c.viewPortMin && (c.viewPortMin = b);\r\n b > c.viewPortMax && (c.viewPortMax = b);\r\n null === e\r\n ? c.viewPortMin === b && t < b && (c.viewPortMin = t)\r\n : ((a.yTotals[b] = (a.yTotals[b] ? a.yTotals[b] : 0) + e),\r\n (a.yAbsTotals[b] =\r\n (a.yAbsTotals[b] ? a.yAbsTotals[b] : 0) + Math.abs(e)),\r\n 0 <= e ? (l = !0) : 0 > e && (s = !0),\r\n (D[b] = D[b] ? D[b] + Math.abs(e) : Math.abs(e)));\r\n }\r\n }\r\n m.axisX.valueType = m.xValueType = f ? 'dateTime' : 'number';\r\n }\r\n a.axisY.logarithmic\r\n ? ((d.max = r(d.viewPortMax)\r\n ? 99 * Math.pow(a.axisY.logarithmBase, -0.05)\r\n : Math.max(\r\n d.viewPortMax,\r\n 99 * Math.pow(a.axisY.logarithmBase, -0.05)\r\n )),\r\n (d.min = r(d.viewPortMin) ? 1 : Math.min(d.viewPortMin, 1)))\r\n : l && !s\r\n ? ((d.max = r(d.viewPortMax) ? 99 : Math.max(d.viewPortMax, 99)),\r\n (d.min = r(d.viewPortMin) ? 1 : Math.min(d.viewPortMin, 1)))\r\n : l && s\r\n ? ((d.max = r(d.viewPortMax) ? 99 : Math.max(d.viewPortMax, 99)),\r\n (d.min = r(d.viewPortMin) ? -99 : Math.min(d.viewPortMin, -99)))\r\n : !l &&\r\n s &&\r\n ((d.max = r(d.viewPortMax) ? -1 : Math.max(d.viewPortMax, -1)),\r\n (d.min = r(d.viewPortMin) ? -99 : Math.min(d.viewPortMin, -99)));\r\n d.viewPortMin = d.min;\r\n d.viewPortMax = d.max;\r\n a.dataPointYSums = D;\r\n }\r\n };\r\n n.prototype._processMultiYPlotUnit = function (a) {\r\n if (a.dataSeriesIndexes && !(1 > a.dataSeriesIndexes.length))\r\n for (\r\n var d = a.axisY.dataInfo,\r\n c = a.axisX.dataInfo,\r\n b,\r\n e,\r\n f,\r\n l,\r\n s = !1,\r\n D = 0;\r\n D < a.dataSeriesIndexes.length;\r\n D++\r\n ) {\r\n var k = this.data[a.dataSeriesIndexes[D]],\r\n m = 0,\r\n p = !1,\r\n q = !1,\r\n g,\r\n t,\r\n h;\r\n if ('normal' === k.axisPlacement || 'xySwapped' === k.axisPlacement)\r\n var r = a.axisX.sessionVariables.newViewportMinimum\r\n ? a.axisX.sessionVariables.newViewportMinimum\r\n : this.options.axisX && this.options.axisX.viewportMinimum\r\n ? this.options.axisX.viewportMinimum\r\n : this.options.axisX && this.options.axisX.minimum\r\n ? this.options.axisX.minimum\r\n : a.axisX.logarithmic\r\n ? 0\r\n : -Infinity,\r\n u = a.axisX.sessionVariables.newViewportMaximum\r\n ? a.axisX.sessionVariables.newViewportMaximum\r\n : this.options.axisX && this.options.axisX.viewportMaximum\r\n ? this.options.axisX.viewportMaximum\r\n : this.options.axisX && this.options.axisX.maximum\r\n ? this.options.axisX.maximum\r\n : Infinity;\r\n if (\r\n (k.dataPoints[m].x && k.dataPoints[m].x.getTime) ||\r\n 'dateTime' === k.xValueType\r\n )\r\n s = !0;\r\n for (m = 0; m < k.dataPoints.length; m++) {\r\n 'undefined' === typeof k.dataPoints[m].x &&\r\n (k.dataPoints[m].x = m + (a.axisX.logarithmic ? 1 : 0));\r\n k.dataPoints[m].x.getTime\r\n ? ((s = !0), (b = k.dataPoints[m].x.getTime()))\r\n : (b = k.dataPoints[m].x);\r\n if ((e = k.dataPoints[m].y) && e.length) {\r\n f = Math.min.apply(null, e);\r\n l = Math.max.apply(null, e);\r\n t = !0;\r\n for (var y = 0; y < e.length; y++) null === e.k && (t = !1);\r\n t && (p || (h = g), (g = b));\r\n }\r\n b < c.min && (c.min = b);\r\n b > c.max && (c.max = b);\r\n f < d.min && (d.min = f);\r\n l > d.max && (d.max = l);\r\n 0 < m &&\r\n (a.axisX.logarithmic\r\n ? ((t = b / k.dataPoints[m - 1].x),\r\n 1 > t && (t = 1 / t),\r\n c.minDiff > t && 1 !== t && (c.minDiff = t))\r\n : ((t = b - k.dataPoints[m - 1].x),\r\n 0 > t && (t *= -1),\r\n c.minDiff > t && 0 !== t && (c.minDiff = t)),\r\n e &&\r\n null !== e[0] &&\r\n k.dataPoints[m - 1].y &&\r\n null !== k.dataPoints[m - 1].y[0] &&\r\n (a.axisY.logarithmic\r\n ? ((t = e[0] / k.dataPoints[m - 1].y[0]),\r\n 1 > t && (t = 1 / t),\r\n d.minDiff > t && 1 !== t && (d.minDiff = t))\r\n : ((t = e[0] - k.dataPoints[m - 1].y[0]),\r\n 0 > t && (t *= -1),\r\n d.minDiff > t && 0 !== t && (d.minDiff = t))));\r\n if (!(b < r) || p) {\r\n if (!p && ((p = !0), 0 < m)) {\r\n m -= 2;\r\n g = h;\r\n continue;\r\n }\r\n if (b > u && !q) q = !0;\r\n else if (b > u && q) continue;\r\n k.dataPoints[m].label &&\r\n (a.axisX.labels[b] = k.dataPoints[m].label);\r\n b < c.viewPortMin && (c.viewPortMin = b);\r\n b > c.viewPortMax && (c.viewPortMax = b);\r\n if (c.viewPortMin === b && e)\r\n for (y = 0; y < e.length; y++)\r\n if (null === e[y] && g < b) {\r\n c.viewPortMin = g;\r\n break;\r\n }\r\n null === e\r\n ? c.viewPortMin === b && g < b && (c.viewPortMin = g)\r\n : (f < d.viewPortMin && (d.viewPortMin = f),\r\n l > d.viewPortMax && (d.viewPortMax = l));\r\n }\r\n }\r\n k.axisX.valueType = k.xValueType = s ? 'dateTime' : 'number';\r\n }\r\n };\r\n n.prototype._processSpecificPlotUnit = function (a) {\r\n if (\r\n 'waterfall' === a.type &&\r\n a.dataSeriesIndexes &&\r\n !(1 > a.dataSeriesIndexes.length)\r\n )\r\n for (\r\n var d = a.axisY.dataInfo, c = a.axisX.dataInfo, b, e, f = !1, l = 0;\r\n l < a.dataSeriesIndexes.length;\r\n l++\r\n ) {\r\n var s = this.data[a.dataSeriesIndexes[l]],\r\n D = 0,\r\n k = !1,\r\n m = !1,\r\n p = (b = 0);\r\n if ('normal' === s.axisPlacement || 'xySwapped' === s.axisPlacement)\r\n var q = a.axisX.sessionVariables.newViewportMinimum\r\n ? a.axisX.sessionVariables.newViewportMinimum\r\n : this.options.axisX && this.options.axisX.viewportMinimum\r\n ? this.options.axisX.viewportMinimum\r\n : this.options.axisX && this.options.axisX.minimum\r\n ? this.options.axisX.minimum\r\n : a.axisX.logarithmic\r\n ? 0\r\n : -Infinity,\r\n g = a.axisX.sessionVariables.newViewportMaximum\r\n ? a.axisX.sessionVariables.newViewportMaximum\r\n : this.options.axisX && this.options.axisX.viewportMaximum\r\n ? this.options.axisX.viewportMaximum\r\n : this.options.axisX && this.options.axisX.maximum\r\n ? this.options.axisX.maximum\r\n : Infinity;\r\n if (\r\n (s.dataPoints[D].x && s.dataPoints[D].x.getTime) ||\r\n 'dateTime' === s.xValueType\r\n )\r\n f = !0;\r\n for (D = 0; D < s.dataPoints.length; D++)\r\n 'undefined' !== typeof s.dataPoints[D].isCumulativeSum &&\r\n !0 === s.dataPoints[D].isCumulativeSum\r\n ? ((s.dataPointEOs[D].cumulativeSumYStartValue = 0),\r\n (s.dataPointEOs[D].cumulativeSum =\r\n 0 === D ? 0 : s.dataPointEOs[D - 1].cumulativeSum),\r\n (s.dataPoints[D].y =\r\n 0 === D ? 0 : s.dataPointEOs[D - 1].cumulativeSum))\r\n : 'undefined' !== typeof s.dataPoints[D].isIntermediateSum &&\r\n !0 === s.dataPoints[D].isIntermediateSum\r\n ? ((s.dataPointEOs[D].cumulativeSumYStartValue = p),\r\n (s.dataPointEOs[D].cumulativeSum =\r\n 0 === D ? 0 : s.dataPointEOs[D - 1].cumulativeSum),\r\n (s.dataPoints[D].y = 0 === D ? 0 : b),\r\n (p = 0 === D ? 0 : s.dataPointEOs[D - 1].cumulativeSum),\r\n (b = 0))\r\n : ((e =\r\n 'number' !== typeof s.dataPoints[D].y\r\n ? 0\r\n : s.dataPoints[D].y),\r\n (s.dataPointEOs[D].cumulativeSumYStartValue =\r\n 0 === D ? 0 : s.dataPointEOs[D - 1].cumulativeSum),\r\n (s.dataPointEOs[D].cumulativeSum =\r\n 0 === D ? e : s.dataPointEOs[D - 1].cumulativeSum + e),\r\n (b += e));\r\n for (D = 0; D < s.dataPoints.length; D++)\r\n if (\r\n ('undefined' === typeof s.dataPoints[D].x &&\r\n (s.dataPoints[D].x = D + (a.axisX.logarithmic ? 1 : 0)),\r\n s.dataPoints[D].x.getTime\r\n ? ((f = !0), (b = s.dataPoints[D].x.getTime()))\r\n : (b = s.dataPoints[D].x),\r\n (e = s.dataPoints[D].y),\r\n b < c.min && (c.min = b),\r\n b > c.max && (c.max = b),\r\n s.dataPointEOs[D].cumulativeSum < d.min &&\r\n (d.min = s.dataPointEOs[D].cumulativeSum),\r\n s.dataPointEOs[D].cumulativeSum > d.max &&\r\n (d.max = s.dataPointEOs[D].cumulativeSum),\r\n 0 < D &&\r\n (a.axisX.logarithmic\r\n ? ((p = b / s.dataPoints[D - 1].x),\r\n 1 > p && (p = 1 / p),\r\n c.minDiff > p && 1 !== p && (c.minDiff = p))\r\n : ((p = b - s.dataPoints[D - 1].x),\r\n 0 > p && (p *= -1),\r\n c.minDiff > p && 0 !== p && (c.minDiff = p)),\r\n null !== e &&\r\n null !== s.dataPoints[D - 1].y &&\r\n (a.axisY.logarithmic\r\n ? ((e =\r\n s.dataPointEOs[D].cumulativeSum /\r\n s.dataPointEOs[D - 1].cumulativeSum),\r\n 1 > e && (e = 1 / e),\r\n d.minDiff > e && 1 !== e && (d.minDiff = e))\r\n : ((e =\r\n s.dataPointEOs[D].cumulativeSum -\r\n s.dataPointEOs[D - 1].cumulativeSum),\r\n 0 > e && (e *= -1),\r\n d.minDiff > e && 0 !== e && (d.minDiff = e)))),\r\n !(b < q) || k)\r\n ) {\r\n if (!k && ((k = !0), 0 < D)) {\r\n D -= 2;\r\n continue;\r\n }\r\n if (b > g && !m) m = !0;\r\n else if (b > g && m) continue;\r\n s.dataPoints[D].label &&\r\n (a.axisX.labels[b] = s.dataPoints[D].label);\r\n b < c.viewPortMin && (c.viewPortMin = b);\r\n b > c.viewPortMax && (c.viewPortMax = b);\r\n 0 < D &&\r\n (s.dataPointEOs[D - 1].cumulativeSum < d.viewPortMin &&\r\n (d.viewPortMin = s.dataPointEOs[D - 1].cumulativeSum),\r\n s.dataPointEOs[D - 1].cumulativeSum > d.viewPortMax &&\r\n (d.viewPortMax = s.dataPointEOs[D - 1].cumulativeSum));\r\n s.dataPointEOs[D].cumulativeSum < d.viewPortMin &&\r\n (d.viewPortMin = s.dataPointEOs[D].cumulativeSum);\r\n s.dataPointEOs[D].cumulativeSum > d.viewPortMax &&\r\n (d.viewPortMax = s.dataPointEOs[D].cumulativeSum);\r\n }\r\n s.axisX.valueType = s.xValueType = f ? 'dateTime' : 'number';\r\n }\r\n };\r\n n.prototype.calculateAutoBreaks = function () {\r\n function a(a, b, c, e) {\r\n if (e)\r\n return (\r\n (c = Math.pow(Math.min((c * a) / b, b / a), 0.2)),\r\n 1 >= c && (c = Math.pow(1 > a ? 1 / a : Math.min(b / a, a), 0.25)),\r\n { startValue: a * c, endValue: b / c }\r\n );\r\n c = 0.2 * Math.min(c - b + a, b - a);\r\n 0 >= c && (c = 0.25 * Math.min(b - a, Math.abs(a)));\r\n return { startValue: a + c, endValue: b - c };\r\n }\r\n function d(a) {\r\n if (a.dataSeriesIndexes && !(1 > a.dataSeriesIndexes.length)) {\r\n var b =\r\n a.axisX.scaleBreaks &&\r\n a.axisX.scaleBreaks.autoCalculate &&\r\n 1 <= a.axisX.scaleBreaks.maxNumberOfAutoBreaks,\r\n c =\r\n a.axisY.scaleBreaks &&\r\n a.axisY.scaleBreaks.autoCalculate &&\r\n 1 <= a.axisY.scaleBreaks.maxNumberOfAutoBreaks;\r\n if (b || c)\r\n for (\r\n var d = a.axisY.dataInfo,\r\n f = a.axisX.dataInfo,\r\n g,\r\n l = f.min,\r\n k = f.max,\r\n m = d.min,\r\n p = d.max,\r\n f = f._dataRanges,\r\n d = d._dataRanges,\r\n q,\r\n s = 0,\r\n D = 0;\r\n D < a.dataSeriesIndexes.length;\r\n D++\r\n ) {\r\n var h = e.data[a.dataSeriesIndexes[D]];\r\n if (!(4 > h.dataPoints.length))\r\n for (s = 0; s < h.dataPoints.length; s++)\r\n if (\r\n (b &&\r\n ((q =\r\n ((k + 1 - l) *\r\n Math.max(\r\n parseFloat(\r\n a.axisX.scaleBreaks.collapsibleThreshold\r\n ) || 10,\r\n 10\r\n )) /\r\n 100),\r\n (g = h.dataPoints[s].x.getTime\r\n ? h.dataPoints[s].x.getTime()\r\n : h.dataPoints[s].x),\r\n (q = Math.floor((g - l) / q)),\r\n g < f[q].min && (f[q].min = g),\r\n g > f[q].max && (f[q].max = g)),\r\n c)\r\n ) {\r\n var n =\r\n ((p + 1 - m) *\r\n Math.max(\r\n parseFloat(\r\n a.axisY.scaleBreaks.collapsibleThreshold\r\n ) || 10,\r\n 10\r\n )) /\r\n 100;\r\n if (\r\n (g =\r\n 'waterfall' === a.type\r\n ? h.dataPointEOs[s].cumulativeSum\r\n : h.dataPoints[s].y) &&\r\n g.length\r\n )\r\n for (var w = 0; w < g.length; w++)\r\n (q = Math.floor((g[w] - m) / n)),\r\n g[w] < d[q].min && (d[q].min = g[w]),\r\n g[w] > d[q].max && (d[q].max = g[w]);\r\n else\r\n r(g) ||\r\n ((q = Math.floor((g - m) / n)),\r\n g < d[q].min && (d[q].min = g),\r\n g > d[q].max && (d[q].max = g));\r\n }\r\n }\r\n }\r\n }\r\n function c(a) {\r\n if (\r\n a.dataSeriesIndexes &&\r\n !(1 > a.dataSeriesIndexes.length) &&\r\n a.axisX.scaleBreaks &&\r\n a.axisX.scaleBreaks.autoCalculate &&\r\n 1 <= a.axisX.scaleBreaks.maxNumberOfAutoBreaks\r\n )\r\n for (\r\n var b = a.axisX.dataInfo,\r\n c = b.min,\r\n d = b.max,\r\n f = b._dataRanges,\r\n g,\r\n l = 0,\r\n k = 0;\r\n k < a.dataSeriesIndexes.length;\r\n k++\r\n ) {\r\n var m = e.data[a.dataSeriesIndexes[k]];\r\n if (!(4 > m.dataPoints.length))\r\n for (l = 0; l < m.dataPoints.length; l++)\r\n (g =\r\n ((d + 1 - c) *\r\n Math.max(\r\n parseFloat(a.axisX.scaleBreaks.collapsibleThreshold) ||\r\n 10,\r\n 10\r\n )) /\r\n 100),\r\n (b = m.dataPoints[l].x.getTime\r\n ? m.dataPoints[l].x.getTime()\r\n : m.dataPoints[l].x),\r\n (g = Math.floor((b - c) / g)),\r\n b < f[g].min && (f[g].min = b),\r\n b > f[g].max && (f[g].max = b);\r\n }\r\n }\r\n for (var b, e = this, f = !1, l = 0; l < this._axes.length; l++)\r\n if (\r\n this._axes[l].scaleBreaks &&\r\n this._axes[l].scaleBreaks.autoCalculate &&\r\n 1 <= this._axes[l].scaleBreaks.maxNumberOfAutoBreaks\r\n ) {\r\n f = !0;\r\n this._axes[l].dataInfo._dataRanges = [];\r\n for (\r\n var s = 0;\r\n s <\r\n 100 /\r\n Math.max(\r\n parseFloat(this._axes[l].scaleBreaks.collapsibleThreshold) ||\r\n 10,\r\n 10\r\n );\r\n s++\r\n )\r\n this._axes[l].dataInfo._dataRanges.push({\r\n min: Infinity,\r\n max: -Infinity,\r\n });\r\n }\r\n if (f) {\r\n for (l = 0; l < this.plotInfo.plotTypes.length; l++)\r\n for (\r\n f = this.plotInfo.plotTypes[l], s = 0;\r\n s < f.plotUnits.length;\r\n s++\r\n )\r\n (b = f.plotUnits[s]),\r\n 'line' === b.type ||\r\n 'stepLine' === b.type ||\r\n 'spline' === b.type ||\r\n 'column' === b.type ||\r\n 'area' === b.type ||\r\n 'stepArea' === b.type ||\r\n 'splineArea' === b.type ||\r\n 'bar' === b.type ||\r\n 'bubble' === b.type ||\r\n 'scatter' === b.type ||\r\n 'candlestick' === b.type ||\r\n 'ohlc' === b.type ||\r\n 'rangeColumn' === b.type ||\r\n 'rangeBar' === b.type ||\r\n 'rangeArea' === b.type ||\r\n 'rangeSplineArea' === b.type ||\r\n 'waterfall' === b.type ||\r\n 'error' === b.type ||\r\n 'boxAndWhisker' === b.type\r\n ? d(b)\r\n : 0 <= b.type.indexOf('stacked') && c(b);\r\n for (l = 0; l < this._axes.length; l++)\r\n if (this._axes[l].dataInfo._dataRanges) {\r\n var D = this._axes[l].dataInfo.min;\r\n b =\r\n ((this._axes[l].dataInfo.max + 1 - D) *\r\n Math.max(\r\n parseFloat(this._axes[l].scaleBreaks.collapsibleThreshold) ||\r\n 10,\r\n 10\r\n )) /\r\n 100;\r\n var k = this._axes[l].dataInfo._dataRanges,\r\n m,\r\n p,\r\n f = [];\r\n if (this._axes[l].dataInfo.dataPointYPositiveSums) {\r\n var q = this._axes[l].dataInfo.dataPointYPositiveSums;\r\n m = k;\r\n for (s in q)\r\n if (q.hasOwnProperty(s) && !isNaN(s) && ((p = q[s]), !r(p))) {\r\n var g = Math.floor((p - D) / b);\r\n p < m[g].min && (m[g].min = p);\r\n p > m[g].max && (m[g].max = p);\r\n }\r\n delete this._axes[l].dataInfo.dataPointYPositiveSums;\r\n }\r\n if (this._axes[l].dataInfo.dataPointYNegativeSums) {\r\n q = this._axes[l].dataInfo.dataPointYNegativeSums;\r\n m = k;\r\n for (s in q)\r\n q.hasOwnProperty(s) &&\r\n !isNaN(s) &&\r\n ((p = -1 * q[s]),\r\n r(p) ||\r\n ((g = Math.floor((p - D) / b)),\r\n p < m[g].min && (m[g].min = p),\r\n p > m[g].max && (m[g].max = p)));\r\n delete this._axes[l].dataInfo.dataPointYNegativeSums;\r\n }\r\n for (s = 0; s < k.length - 1; s++)\r\n if (((m = k[s].max), isFinite(m)))\r\n for (; s < k.length - 1; )\r\n if (((D = k[s + 1].min), isFinite(D))) {\r\n p = D - m;\r\n p > b && f.push({ diff: p, start: m, end: D });\r\n break;\r\n } else s++;\r\n if (this._axes[l].scaleBreaks.customBreaks)\r\n for (\r\n s = 0;\r\n s < this._axes[l].scaleBreaks.customBreaks.length;\r\n s++\r\n )\r\n for (b = 0; b < f.length; b++)\r\n if (\r\n (this._axes[l].scaleBreaks.customBreaks[s].startValue <=\r\n f[b].start &&\r\n f[b].start <=\r\n this._axes[l].scaleBreaks.customBreaks[s].endValue) ||\r\n (this._axes[l].scaleBreaks.customBreaks[s].startValue <=\r\n f[b].start &&\r\n f[b].start <=\r\n this._axes[l].scaleBreaks.customBreaks[s].endValue) ||\r\n (f[b].start <=\r\n this._axes[l].scaleBreaks.customBreaks[s].startValue &&\r\n this._axes[l].scaleBreaks.customBreaks[s].startValue <=\r\n f[b].end) ||\r\n (f[b].start <=\r\n this._axes[l].scaleBreaks.customBreaks[s].endValue &&\r\n this._axes[l].scaleBreaks.customBreaks[s].endValue <=\r\n f[b].end)\r\n )\r\n f.splice(b, 1), b--;\r\n f.sort(function (a, b) {\r\n return b.diff - a.diff;\r\n });\r\n for (\r\n s = 0;\r\n s <\r\n Math.min(\r\n f.length,\r\n this._axes[l].scaleBreaks.maxNumberOfAutoBreaks\r\n );\r\n s++\r\n )\r\n (b = a(\r\n f[s].start,\r\n f[s].end,\r\n this._axes[l].logarithmic\r\n ? this._axes[l].dataInfo.max / this._axes[l].dataInfo.min\r\n : this._axes[l].dataInfo.max - this._axes[l].dataInfo.min,\r\n this._axes[l].logarithmic\r\n )),\r\n this._axes[l].scaleBreaks.autoBreaks.push(\r\n new ga(\r\n this,\r\n 'autoBreaks',\r\n b,\r\n s,\r\n ++this._eventManager.lastObjectId,\r\n this._axes[l].scaleBreaks\r\n )\r\n ),\r\n this._axes[l].scaleBreaks._appliedBreaks.push(\r\n this._axes[l].scaleBreaks.autoBreaks[\r\n this._axes[l].scaleBreaks.autoBreaks.length - 1\r\n ]\r\n );\r\n this._axes[l].scaleBreaks._appliedBreaks.sort(function (a, b) {\r\n return a.startValue - b.startValue;\r\n });\r\n }\r\n }\r\n };\r\n n.prototype.renderCrosshairs = function (a) {\r\n for (var d = 0; d < this.axisX.length; d++)\r\n this.axisX[d] != a &&\r\n this.axisX[d].crosshair &&\r\n this.axisX[d].crosshair.enabled &&\r\n !this.axisX[d].crosshair._hidden &&\r\n this.axisX[d].showCrosshair(this.axisX[d].crosshair._updatedValue);\r\n for (d = 0; d < this.axisX2.length; d++)\r\n this.axisX2[d] != a &&\r\n this.axisX2[d].crosshair &&\r\n this.axisX2[d].crosshair.enabled &&\r\n !this.axisX2[d].crosshair._hidden &&\r\n this.axisX2[d].showCrosshair(this.axisX2[d].crosshair._updatedValue);\r\n for (d = 0; d < this.axisY.length; d++)\r\n this.axisY[d] != a &&\r\n this.axisY[d].crosshair &&\r\n this.axisY[d].crosshair.enabled &&\r\n !this.axisY[d].crosshair._hidden &&\r\n this.axisY[d].showCrosshair(this.axisY[d].crosshair._updatedValue);\r\n for (d = 0; d < this.axisY2.length; d++)\r\n this.axisY2[d] != a &&\r\n this.axisY2[d].crosshair &&\r\n this.axisY2[d].crosshair.enabled &&\r\n !this.axisY2[d].crosshair._hidden &&\r\n this.axisY2[d].showCrosshair(this.axisY2[d].crosshair._updatedValue);\r\n };\r\n n.prototype.getDataPointAtXY = function (a, d, c) {\r\n c = c || !1;\r\n for (var b = [], e = this._dataInRenderedOrder.length - 1; 0 <= e; e--) {\r\n var f = null;\r\n (f = this._dataInRenderedOrder[e].getDataPointAtXY(a, d, c)) &&\r\n b.push(f);\r\n }\r\n a = null;\r\n d = !1;\r\n for (c = 0; c < b.length; c++)\r\n if (\r\n 'line' === b[c].dataSeries.type ||\r\n 'stepLine' === b[c].dataSeries.type ||\r\n 'area' === b[c].dataSeries.type ||\r\n 'stepArea' === b[c].dataSeries.type\r\n )\r\n if (\r\n ((e = ma('markerSize', b[c].dataPoint, b[c].dataSeries) || 8),\r\n b[c].distance <= e / 2)\r\n ) {\r\n d = !0;\r\n break;\r\n }\r\n for (c = 0; c < b.length; c++)\r\n (d &&\r\n 'line' !== b[c].dataSeries.type &&\r\n 'stepLine' !== b[c].dataSeries.type &&\r\n 'area' !== b[c].dataSeries.type &&\r\n 'stepArea' !== b[c].dataSeries.type) ||\r\n (a ? b[c].distance <= a.distance && (a = b[c]) : (a = b[c]));\r\n return a;\r\n };\r\n n.prototype.getObjectAtXY = function (a, d, c) {\r\n var b = null;\r\n if ((c = this.getDataPointAtXY(a, d, c || !1)))\r\n b = c.dataSeries.dataPointIds[c.dataPointIndex];\r\n else if (w) b = Za(a, d, this._eventManager.ghostCtx);\r\n else\r\n for (c = 0; c < this.legend.items.length; c++) {\r\n var e = this.legend.items[c];\r\n a >= e.x1 && a <= e.x2 && d >= e.y1 && d <= e.y2 && (b = e.id);\r\n }\r\n return b;\r\n };\r\n n.prototype.getAutoFontSize = mb;\r\n n.prototype.resetOverlayedCanvas = function () {\r\n this.overlaidCanvasCtx.clearRect(0, 0, this.width, this.height);\r\n };\r\n n.prototype.clearCanvas = lb;\r\n n.prototype.attachEvent = function (a) {\r\n this._events.push(a);\r\n };\r\n n.prototype._touchEventHandler = function (a) {\r\n if (a.changedTouches && this.interactivityEnabled) {\r\n var d = [],\r\n c = a.changedTouches,\r\n b = c ? c[0] : a,\r\n e = null;\r\n switch (a.type) {\r\n case 'touchstart':\r\n case 'MSPointerDown':\r\n d = ['mousemove', 'mousedown'];\r\n this._lastTouchData = Oa(b);\r\n this._lastTouchData.time = new Date();\r\n break;\r\n case 'touchmove':\r\n case 'MSPointerMove':\r\n d = ['mousemove'];\r\n break;\r\n case 'touchend':\r\n case 'MSPointerUp':\r\n var f =\r\n this._lastTouchData && this._lastTouchData.time\r\n ? new Date() - this._lastTouchData.time\r\n : 0,\r\n d =\r\n 'touchstart' === this._lastTouchEventType ||\r\n 'MSPointerDown' === this._lastTouchEventType ||\r\n 300 > f\r\n ? ['mouseup', 'click']\r\n : ['mouseup'];\r\n break;\r\n default:\r\n return;\r\n }\r\n if (!(c && 1 < c.length)) {\r\n e = Oa(b);\r\n e.time = new Date();\r\n try {\r\n var l = e.y - this._lastTouchData.y,\r\n f = e.time - this._lastTouchData.time;\r\n if (\r\n (1 < Math.abs(l) && this._lastTouchData.scroll) ||\r\n (5 < Math.abs(l) && 250 > f)\r\n )\r\n this._lastTouchData.scroll = !0;\r\n } catch (s) {}\r\n this._lastTouchEventType = a.type;\r\n if (this._lastTouchData.scroll && this.zoomEnabled)\r\n this.isDrag && this.resetOverlayedCanvas(), (this.isDrag = !1);\r\n else\r\n for (c = 0; c < d.length; c++)\r\n if (\r\n ((e = d[c]),\r\n (l = document.createEvent('MouseEvent')),\r\n l.initMouseEvent(\r\n e,\r\n !0,\r\n !0,\r\n window,\r\n 1,\r\n b.screenX,\r\n b.screenY,\r\n b.clientX,\r\n b.clientY,\r\n !1,\r\n !1,\r\n !1,\r\n !1,\r\n 0,\r\n null\r\n ),\r\n b.target.dispatchEvent(l),\r\n (!r(this._lastTouchData.scroll) &&\r\n !this._lastTouchData.scroll) ||\r\n (!this._lastTouchData.scroll && 250 < f) ||\r\n 'click' === e)\r\n )\r\n a.preventManipulation && a.preventManipulation(),\r\n a.preventDefault && a.cancelable && a.preventDefault();\r\n }\r\n }\r\n };\r\n n.prototype._dispatchRangeEvent = function (a, d) {\r\n var c = { chart: this };\r\n c.type = a;\r\n c.trigger = d;\r\n var b = [];\r\n this.axisX && 0 < this.axisX.length && b.push('axisX');\r\n this.axisX2 && 0 < this.axisX2.length && b.push('axisX2');\r\n this.axisY && 0 < this.axisY.length && b.push('axisY');\r\n this.axisY2 && 0 < this.axisY2.length && b.push('axisY2');\r\n for (var e = 0; e < b.length; e++)\r\n if ((r(c[b[e]]) && (c[b[e]] = []), 'axisY' === b[e]))\r\n for (var f = 0; f < this.axisY.length; f++)\r\n c[b[e]].push({\r\n viewportMinimum: this[b[e]][f].sessionVariables\r\n .newViewportMinimum,\r\n viewportMaximum: this[b[e]][f].sessionVariables\r\n .newViewportMaximum,\r\n });\r\n else if ('axisY2' === b[e])\r\n for (f = 0; f < this.axisY2.length; f++)\r\n c[b[e]].push({\r\n viewportMinimum: this[b[e]][f].sessionVariables\r\n .newViewportMinimum,\r\n viewportMaximum: this[b[e]][f].sessionVariables\r\n .newViewportMaximum,\r\n });\r\n else if ('axisX' === b[e])\r\n for (f = 0; f < this.axisX.length; f++)\r\n c[b[e]].push({\r\n viewportMinimum: this[b[e]][f].sessionVariables\r\n .newViewportMinimum,\r\n viewportMaximum: this[b[e]][f].sessionVariables\r\n .newViewportMaximum,\r\n });\r\n else if ('axisX2' === b[e])\r\n for (f = 0; f < this.axisX2.length; f++)\r\n c[b[e]].push({\r\n viewportMinimum: this[b[e]][f].sessionVariables\r\n .newViewportMinimum,\r\n viewportMaximum: this[b[e]][f].sessionVariables\r\n .newViewportMaximum,\r\n });\r\n this.dispatchEvent(a, c, this);\r\n };\r\n n.prototype._mouseEventHandler = function (a) {\r\n 'undefined' === typeof a.target &&\r\n a.srcElement &&\r\n (a.target = a.srcElement);\r\n var d = Oa(a),\r\n c = a.type,\r\n b,\r\n e;\r\n a.which ? (e = 3 == a.which) : a.button && (e = 2 == a.button);\r\n n.capturedEventParam &&\r\n ((b = n.capturedEventParam),\r\n 'mouseup' === c &&\r\n ((n.capturedEventParam = null),\r\n b.chart.overlaidCanvas.releaseCapture\r\n ? b.chart.overlaidCanvas.releaseCapture()\r\n : document.documentElement.removeEventListener(\r\n 'mouseup',\r\n b.chart._mouseEventHandler,\r\n !1\r\n )),\r\n b.hasOwnProperty(c) &&\r\n ('mouseup' !== c || b.chart.overlaidCanvas.releaseCapture\r\n ? (a.target !== b.chart.overlaidCanvas && w) ||\r\n b[c].call(b.context, d.x, d.y)\r\n : a.target !== b.chart.overlaidCanvas && (b.chart.isDrag = !1)));\r\n if (this.interactivityEnabled)\r\n if (this._ignoreNextEvent) this._ignoreNextEvent = !1;\r\n else if (\r\n (a.preventManipulation && a.preventManipulation(),\r\n a.preventDefault && a.preventDefault(),\r\n Ha &&\r\n window.console &&\r\n (window.console.log(c + ' --\\x3e x: ' + d.x + '; y:' + d.y),\r\n e && window.console.log(a.which),\r\n 'mouseup' === c && window.console.log('mouseup')),\r\n !e)\r\n ) {\r\n if (!n.capturedEventParam && this._events) {\r\n for (var f = 0; f < this._events.length; f++)\r\n if (this._events[f].hasOwnProperty(c))\r\n if (\r\n ((b = this._events[f]),\r\n (e = b.bounds),\r\n d.x >= e.x1 && d.x <= e.x2 && d.y >= e.y1 && d.y <= e.y2)\r\n ) {\r\n b[c].call(b.context, d.x, d.y);\r\n 'mousedown' === c && !0 === b.capture\r\n ? ((n.capturedEventParam = b),\r\n this.overlaidCanvas.setCapture\r\n ? this.overlaidCanvas.setCapture()\r\n : document.documentElement.addEventListener(\r\n 'mouseup',\r\n this._mouseEventHandler,\r\n !1\r\n ))\r\n : 'mouseup' === c &&\r\n (b.chart.overlaidCanvas.releaseCapture\r\n ? b.chart.overlaidCanvas.releaseCapture()\r\n : document.documentElement.removeEventListener(\r\n 'mouseup',\r\n this._mouseEventHandler,\r\n !1\r\n ));\r\n break;\r\n } else b = null;\r\n a.target.style.cursor =\r\n b && b.cursor ? b.cursor : this._defaultCursor;\r\n }\r\n c = this.plotArea;\r\n if (d.x < c.x1 || d.x > c.x2 || d.y < c.y1 || d.y > c.y2) {\r\n this.toolTip && this.toolTip.enabled\r\n ? (this.toolTip.hide(),\r\n this.toolTip.dispatchEvent(\r\n 'hidden',\r\n { chart: this, toolTip: this.toolTip },\r\n this.toolTip\r\n ))\r\n : this.resetOverlayedCanvas();\r\n for (f = 0; f < this.axisX.length; f++)\r\n this.axisX[f].crosshair &&\r\n this.axisX[f].crosshair.enabled &&\r\n (this.axisX[f].crosshair.hide(),\r\n this.axisX[f].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisX[f].options },\r\n this.axisX[f].crosshair\r\n ));\r\n for (f = 0; f < this.axisX2.length; f++)\r\n this.axisX2[f].crosshair &&\r\n this.axisX2[f].crosshair.enabled &&\r\n (this.axisX2[f].crosshair.hide(),\r\n this.axisX2[f].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisX2[f].options },\r\n this.axisX2[f].crosshair\r\n ));\r\n for (f = 0; f < this.axisY.length; f++)\r\n this.axisY[f].crosshair &&\r\n this.axisY[f].crosshair.enabled &&\r\n (this.axisY[f].crosshair.hide(),\r\n this.axisY[f].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisY[f].options },\r\n this.axisY[f].crosshair\r\n ));\r\n for (f = 0; f < this.axisY2.length; f++)\r\n this.axisY2[f].crosshair &&\r\n this.axisY2[f].crosshair.enabled &&\r\n (this.axisY2[f].crosshair.hide(),\r\n this.axisY2[f].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisY2[f].options },\r\n this.axisY2[f].crosshair\r\n ));\r\n }\r\n (this.isDrag && this.zoomEnabled) ||\r\n !this._eventManager ||\r\n this._eventManager.mouseEventHandler(a);\r\n }\r\n };\r\n n.prototype._plotAreaMouseDown = function (a, d) {\r\n this.isDrag = !0;\r\n this.dragStartPoint = { x: a, y: d };\r\n };\r\n n.prototype._plotAreaMouseUp = function (a, d) {\r\n if (\r\n ('normal' === this.plotInfo.axisPlacement ||\r\n 'xySwapped' === this.plotInfo.axisPlacement) &&\r\n this.isDrag\r\n ) {\r\n var c = d - this.dragStartPoint.y,\r\n b = a - this.dragStartPoint.x,\r\n e = 0 <= this.zoomType.indexOf('x'),\r\n f = 0 <= this.zoomType.indexOf('y'),\r\n l = !1;\r\n this.resetOverlayedCanvas();\r\n if ('xySwapped' === this.plotInfo.axisPlacement)\r\n var s = f,\r\n f = e,\r\n e = s;\r\n if (this.panEnabled || this.zoomEnabled) {\r\n if (this.panEnabled)\r\n for (e = f = 0; e < this._axes.length; e++)\r\n (c = this._axes[e]),\r\n c.logarithmic\r\n ? c.viewportMinimum < c.minimum\r\n ? ((f = c.minimum / c.viewportMinimum),\r\n (c.sessionVariables.newViewportMinimum =\r\n c.viewportMinimum * f),\r\n (c.sessionVariables.newViewportMaximum =\r\n c.viewportMaximum * f),\r\n (l = !0))\r\n : c.viewportMaximum > c.maximum &&\r\n ((f = c.viewportMaximum / c.maximum),\r\n (c.sessionVariables.newViewportMinimum =\r\n c.viewportMinimum / f),\r\n (c.sessionVariables.newViewportMaximum =\r\n c.viewportMaximum / f),\r\n (l = !0))\r\n : c.viewportMinimum < c.minimum\r\n ? ((f = c.minimum - c.viewportMinimum),\r\n (c.sessionVariables.newViewportMinimum =\r\n c.viewportMinimum + f),\r\n (c.sessionVariables.newViewportMaximum =\r\n c.viewportMaximum + f),\r\n (l = !0))\r\n : c.viewportMaximum > c.maximum &&\r\n ((f = c.viewportMaximum - c.maximum),\r\n (c.sessionVariables.newViewportMinimum =\r\n c.viewportMinimum - f),\r\n (c.sessionVariables.newViewportMaximum =\r\n c.viewportMaximum - f),\r\n (l = !0));\r\n else if (\r\n (!e || 2 < Math.abs(b)) &&\r\n (!f || 2 < Math.abs(c)) &&\r\n this.zoomEnabled\r\n ) {\r\n if (!this.dragStartPoint) return;\r\n c = e ? this.dragStartPoint.x : this.plotArea.x1;\r\n b = f ? this.dragStartPoint.y : this.plotArea.y1;\r\n e = e ? a : this.plotArea.x2;\r\n f = f ? d : this.plotArea.y2;\r\n 2 < Math.abs(c - e) &&\r\n 2 < Math.abs(b - f) &&\r\n this._zoomPanToSelectedRegion(c, b, e, f) &&\r\n (l = !0);\r\n }\r\n l &&\r\n ((this._ignoreNextEvent = !0),\r\n this._dispatchRangeEvent('rangeChanging', 'zoom'),\r\n this.stockChart &&\r\n this.stockChart.navigator &&\r\n this.stockChart.navigator.enabled &&\r\n (this.stockChart._rangeEventParameter ||\r\n (this.stockChart._rangeEventParameter = {\r\n stockChart: this.stockChart,\r\n source: 'chart',\r\n index: this.stockChart.charts.indexOf(this),\r\n minimum: this.stockChart.sessionVariables._axisXMin,\r\n maximum: this.stockChart.sessionVariables._axisXMax,\r\n }),\r\n (this.stockChart._rangeEventParameter.type = 'rangeChanging'),\r\n this.stockChart.dispatchEvent(\r\n 'rangeChanging',\r\n this.stockChart._rangeEventParameter,\r\n this.stockChart\r\n )),\r\n this.render(),\r\n this._dispatchRangeEvent('rangeChanged', 'zoom'),\r\n this.stockChart &&\r\n this.stockChart.navigator &&\r\n this.stockChart.navigator.enabled &&\r\n ((this.stockChart._rangeEventParameter.type = 'rangeChanged'),\r\n this.stockChart.dispatchEvent(\r\n 'rangeChanged',\r\n this.stockChart._rangeEventParameter,\r\n this.stockChart\r\n )),\r\n l &&\r\n this.zoomEnabled &&\r\n 'none' === this._zoomButton.style.display &&\r\n (La(this._zoomButton, this._resetButton),\r\n xa(this, this._zoomButton, 'pan'),\r\n xa(this, this._resetButton, 'reset')));\r\n }\r\n }\r\n this.isDrag = !1;\r\n if ('none' !== this.plotInfo.axisPlacement) {\r\n this.resetOverlayedCanvas();\r\n if (this.axisX && 0 < this.axisX.length)\r\n for (l = 0; l < this.axisX.length; l++)\r\n this.axisX[l].crosshair &&\r\n this.axisX[l].crosshair.enabled &&\r\n this.axisX[l].renderCrosshair(a, d);\r\n if (this.axisX2 && 0 < this.axisX2.length)\r\n for (l = 0; l < this.axisX2.length; l++)\r\n this.axisX2[l].crosshair &&\r\n this.axisX2[l].crosshair.enabled &&\r\n this.axisX2[l].renderCrosshair(a, d);\r\n if (this.axisY && 0 < this.axisY.length)\r\n for (l = 0; l < this.axisY.length; l++)\r\n this.axisY[l].crosshair &&\r\n this.axisY[l].crosshair.enabled &&\r\n this.axisY[l].renderCrosshair(a, d);\r\n if (this.axisY2 && 0 < this.axisY2.length)\r\n for (l = 0; l < this.axisY2.length; l++)\r\n this.axisY2[l].crosshair &&\r\n this.axisY2[l].crosshair.enabled &&\r\n this.axisY2[l].renderCrosshair(a, d);\r\n if (this.axisX && 0 < this.axisX.length)\r\n for (l = 0; l < this.axisX.length; l++)\r\n this.axisX[l].crosshair &&\r\n this.axisX[l].crosshair.enabled &&\r\n this.axisX[l].crosshair.renderLabel();\r\n if (this.axisX2 && 0 < this.axisX2.length)\r\n for (l = 0; l < this.axisX2.length; l++)\r\n this.axisX2[l].crosshair &&\r\n this.axisX2[l].crosshair.enabled &&\r\n this.axisX2[l].crosshair.renderLabel();\r\n if (this.axisY && 0 < this.axisY.length)\r\n for (l = 0; l < this.axisY.length; l++)\r\n this.axisY[l].crosshair &&\r\n this.axisY[l].crosshair.enabled &&\r\n this.axisY[l].crosshair.renderLabel();\r\n if (this.axisY2 && 0 < this.axisY2.length)\r\n for (l = 0; l < this.axisY2.length; l++)\r\n this.axisY2[l].crosshair &&\r\n this.axisY2[l].crosshair.enabled &&\r\n this.axisY2[l].crosshair.renderLabel();\r\n }\r\n };\r\n n.prototype._plotAreaMouseMove = function (a, d) {\r\n if (this.isDrag && 'none' !== this.plotInfo.axisPlacement) {\r\n var c = 0,\r\n b = 0,\r\n e = (c = null),\r\n e = 0 <= this.zoomType.indexOf('x'),\r\n f = 0 <= this.zoomType.indexOf('y'),\r\n l = this;\r\n 'xySwapped' === this.plotInfo.axisPlacement &&\r\n ((c = f), (f = e), (e = c));\r\n c = this.dragStartPoint.x - a;\r\n b = this.dragStartPoint.y - d;\r\n if (\r\n 2 < Math.abs(c) &&\r\n 8 > Math.abs(c) &&\r\n (this.panEnabled || this.zoomEnabled)\r\n ) {\r\n this.toolTip.hide();\r\n this.toolTip &&\r\n this.toolTip.enabled &&\r\n this.toolTip.dispatchEvent(\r\n 'hidden',\r\n { chart: this, toolTip: this.toolTip },\r\n this.toolTip\r\n );\r\n for (var s = 0; s < this.axisX.length; s++)\r\n this.axisX[s].crosshair &&\r\n this.axisX[s].crosshair.enabled &&\r\n (this.axisX[s].crosshair.hide(),\r\n this.axisX[s].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisX[s].options },\r\n this.axisX[s].crosshair\r\n ));\r\n for (s = 0; s < this.axisX2.length; s++)\r\n this.axisX2[s].crosshair &&\r\n this.axisX2[s].crosshair.enabled &&\r\n (this.axisX2[s].crosshair.hide(),\r\n this.axisX2[s].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisX2[s].options },\r\n this.axisX2[s].crosshair\r\n ));\r\n for (s = 0; s < this.axisY.length; s++)\r\n this.axisY[s].crosshair &&\r\n this.axisY[s].crosshair.enabled &&\r\n (this.axisY[s].crosshair.hide(),\r\n this.axisY[s].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisY[s].options },\r\n this.axisY[s].crosshair\r\n ));\r\n for (s = 0; s < this.axisY2.length; s++)\r\n this.axisY2[s].crosshair &&\r\n this.axisY2[s].crosshair.enabled &&\r\n (this.axisY2[s].crosshair.hide(),\r\n this.axisY2[s].crosshair.dispatchEvent(\r\n 'hidden',\r\n { chart: this, axis: this.axisY2[s].options },\r\n this.axisY2[s].crosshair\r\n ));\r\n } else\r\n this.panEnabled ||\r\n this.zoomEnabled ||\r\n this.toolTip.mouseMoveHandler(a, d);\r\n if (\r\n (!e || 2 < Math.abs(c) || !f || 2 < Math.abs(b)) &&\r\n (this.panEnabled || this.zoomEnabled)\r\n )\r\n if (this.panEnabled)\r\n (e = {\r\n x1: e ? this.plotArea.x1 + c : this.plotArea.x1,\r\n y1: f ? this.plotArea.y1 + b : this.plotArea.y1,\r\n x2: e ? this.plotArea.x2 + c : this.plotArea.x2,\r\n y2: f ? this.plotArea.y2 + b : this.plotArea.y2,\r\n }),\r\n clearTimeout(l._panTimerId),\r\n (l._panTimerId = setTimeout(\r\n (function (b, c, e, f) {\r\n return function () {\r\n l._zoomPanToSelectedRegion(b, c, e, f, !0) &&\r\n (l._dispatchRangeEvent('rangeChanging', 'pan'),\r\n l.stockChart &&\r\n l.stockChart.navigator &&\r\n l.stockChart.navigator.enabled &&\r\n ((l.stockChart._rangeEventParameter.type =\r\n 'rangeChanging'),\r\n l.stockChart.dispatchEvent(\r\n 'rangeChanging',\r\n l.stockChart._rangeEventParameter,\r\n l.stockChart\r\n )),\r\n l.render(),\r\n l._dispatchRangeEvent('rangeChanged', 'pan'),\r\n l.stockChart &&\r\n l.stockChart.navigator &&\r\n l.stockChart.navigator.enabled &&\r\n ((l.stockChart._rangeEventParameter.type =\r\n 'rangeChanged'),\r\n l.stockChart.dispatchEvent(\r\n 'rangeChanged',\r\n l.stockChart._rangeEventParameter,\r\n l.stockChart\r\n )),\r\n (l.dragStartPoint.x = a),\r\n (l.dragStartPoint.y = d));\r\n };\r\n })(e.x1, e.y1, e.x2, e.y2),\r\n 0\r\n ));\r\n else if (this.zoomEnabled) {\r\n this.resetOverlayedCanvas();\r\n c = this.overlaidCanvasCtx.globalAlpha;\r\n this.overlaidCanvasCtx.fillStyle = '#A89896';\r\n var b = e ? this.dragStartPoint.x : this.plotArea.x1,\r\n s = f ? this.dragStartPoint.y : this.plotArea.y1,\r\n D = e\r\n ? a - this.dragStartPoint.x\r\n : this.plotArea.x2 - this.plotArea.x1,\r\n k = f\r\n ? d - this.dragStartPoint.y\r\n : this.plotArea.y2 - this.plotArea.y1;\r\n this.validateRegion(\r\n b,\r\n s,\r\n e ? a : this.plotArea.x2 - this.plotArea.x1,\r\n f ? d : this.plotArea.y2 - this.plotArea.y1,\r\n 'xy' !== this.zoomType\r\n ).isValid &&\r\n (this.resetOverlayedCanvas(),\r\n (this.overlaidCanvasCtx.fillStyle = '#99B2B5'));\r\n this.overlaidCanvasCtx.globalAlpha = 0.7;\r\n this.overlaidCanvasCtx.fillRect(b, s, D, k);\r\n this.overlaidCanvasCtx.globalAlpha = c;\r\n }\r\n } else if (\r\n (this.toolTip.mouseMoveHandler(a, d),\r\n 'none' !== this.plotInfo.axisPlacement)\r\n ) {\r\n if (this.axisX && 0 < this.axisX.length)\r\n for (e = 0; e < this.axisX.length; e++)\r\n this.axisX[e].crosshair &&\r\n this.axisX[e].crosshair.enabled &&\r\n this.axisX[e].renderCrosshair(a, d);\r\n if (this.axisX2 && 0 < this.axisX2.length)\r\n for (e = 0; e < this.axisX2.length; e++)\r\n this.axisX2[e].crosshair &&\r\n this.axisX2[e].crosshair.enabled &&\r\n this.axisX2[e].renderCrosshair(a, d);\r\n if (this.axisY && 0 < this.axisY.length)\r\n for (e = 0; e < this.axisY.length; e++)\r\n this.axisY[e].crosshair &&\r\n this.axisY[e].crosshair.enabled &&\r\n this.axisY[e].renderCrosshair(a, d);\r\n if (this.axisY2 && 0 < this.axisY2.length)\r\n for (e = 0; e < this.axisY2.length; e++)\r\n this.axisY2[e].crosshair &&\r\n this.axisY2[e].crosshair.enabled &&\r\n this.axisY2[e].renderCrosshair(a, d);\r\n if (this.axisX && 0 < this.axisX.length)\r\n for (e = 0; e < this.axisX.length; e++)\r\n this.axisX[e].crosshair &&\r\n this.axisX[e].crosshair.enabled &&\r\n this.axisX[e].crosshair.renderLabel();\r\n if (this.axisX2 && 0 < this.axisX2.length)\r\n for (e = 0; e < this.axisX2.length; e++)\r\n this.axisX2[e].crosshair &&\r\n this.axisX2[e].crosshair.enabled &&\r\n this.axisX2[e].crosshair.renderLabel();\r\n if (this.axisY && 0 < this.axisY.length)\r\n for (e = 0; e < this.axisY.length; e++)\r\n this.axisY[e].crosshair &&\r\n this.axisY[e].crosshair.enabled &&\r\n this.axisY[e].crosshair.renderLabel();\r\n if (this.axisY2 && 0 < this.axisY2.length)\r\n for (e = 0; e < this.axisY2.length; e++)\r\n this.axisY2[e].crosshair &&\r\n this.axisY2[e].crosshair.enabled &&\r\n this.axisY2[e].crosshair.renderLabel();\r\n }\r\n };\r\n n.prototype._zoomPanToSelectedRegion = function (a, d, c, b, e) {\r\n a = this.validateRegion(a, d, c, b, e);\r\n d = a.axesWithValidRange;\r\n c = a.axesRanges;\r\n if (a.isValid)\r\n for (b = 0; b < d.length; b++)\r\n (e = c[b]),\r\n d[b].setViewPortRange(e.val1, e.val2),\r\n this.syncCharts &&\r\n 'y' != this.zoomType &&\r\n this.syncCharts(e.val1, e.val2),\r\n this.stockChart &&\r\n (this.stockChart._rangeEventParameter = {\r\n stockChart: this.stockChart,\r\n source: 'chart',\r\n index: this.stockChart.charts.indexOf(this),\r\n minimum: e.val1,\r\n maximum: e.val2,\r\n });\r\n return a.isValid;\r\n };\r\n n.prototype.validateRegion = function (a, d, c, b, e) {\r\n e = e || !1;\r\n for (\r\n var f = 0 <= this.zoomType.indexOf('x'),\r\n l = 0 <= this.zoomType.indexOf('y'),\r\n s = !1,\r\n D = [],\r\n k = [],\r\n m = [],\r\n p = 0;\r\n p < this._axes.length;\r\n p++\r\n )\r\n (('axisX' === this._axes[p].type && f) ||\r\n ('axisY' === this._axes[p].type && l)) &&\r\n k.push(this._axes[p]);\r\n for (l = 0; l < k.length; l++) {\r\n var p = k[l],\r\n f = !1,\r\n q = p.convertPixelToValue({ x: a, y: d }),\r\n g = p.convertPixelToValue({ x: c, y: b });\r\n if (q > g)\r\n var t = g,\r\n g = q,\r\n q = t;\r\n if (p.scaleBreaks)\r\n for (t = 0; !f && t < p.scaleBreaks._appliedBreaks.length; t++)\r\n f =\r\n p.scaleBreaks._appliedBreaks[t].startValue <= q &&\r\n p.scaleBreaks._appliedBreaks[t].endValue >= g;\r\n if (isFinite(p.dataInfo.minDiff))\r\n if (\r\n ((t = p.getApparentDifference(q, g, null, !0)),\r\n !(\r\n f ||\r\n (!(\r\n this.panEnabled &&\r\n p.scaleBreaks &&\r\n p.scaleBreaks._appliedBreaks.length\r\n ) &&\r\n ((p.logarithmic && t < Math.pow(p.dataInfo.minDiff, 3)) ||\r\n (!p.logarithmic && t < 3 * Math.abs(p.dataInfo.minDiff)))) ||\r\n q < p.minimum ||\r\n g > p.maximum\r\n ))\r\n )\r\n D.push(p), m.push({ val1: q, val2: g }), (s = !0);\r\n else if (!e) {\r\n s = !1;\r\n break;\r\n }\r\n }\r\n return { isValid: s, axesWithValidRange: D, axesRanges: m };\r\n };\r\n n.prototype.preparePlotArea = function () {\r\n var a = this.plotArea;\r\n !w && (0 < a.x1 || 0 < a.y1) && a.ctx.translate(a.x1, a.y1);\r\n if (\r\n (this.axisX[0] || this.axisX2[0]) &&\r\n (this.axisY[0] || this.axisY2[0])\r\n ) {\r\n var d = this.axisX[0]\r\n ? this.axisX[0].lineCoordinates\r\n : this.axisX2[0].lineCoordinates;\r\n if (this.axisY && 0 < this.axisY.length && this.axisY[0]) {\r\n var c = this.axisY[0];\r\n a.x1 = d.x1 < d.x2 ? d.x1 : c.lineCoordinates.x1;\r\n a.y1 = d.y1 < c.lineCoordinates.y1 ? d.y1 : c.lineCoordinates.y1;\r\n a.x2 = d.x2 > c.lineCoordinates.x2 ? d.x2 : c.lineCoordinates.x2;\r\n a.y2 = d.y2 > d.y1 ? d.y2 : c.lineCoordinates.y2;\r\n a.width = a.x2 - a.x1;\r\n a.height = a.y2 - a.y1;\r\n }\r\n this.axisY2 &&\r\n 0 < this.axisY2.length &&\r\n this.axisY2[0] &&\r\n ((c = this.axisY2[0]),\r\n (a.x1 = d.x1 < d.x2 ? d.x1 : c.lineCoordinates.x1),\r\n (a.y1 = d.y1 < c.lineCoordinates.y1 ? d.y1 : c.lineCoordinates.y1),\r\n (a.x2 = d.x2 > c.lineCoordinates.x2 ? d.x2 : c.lineCoordinates.x2),\r\n (a.y2 = d.y2 > d.y1 ? d.y2 : c.lineCoordinates.y2),\r\n (a.width = a.x2 - a.x1),\r\n (a.height = a.y2 - a.y1));\r\n } else\r\n (d = this.layoutManager.getFreeSpace()),\r\n (a.x1 = d.x1),\r\n (a.x2 = d.x2),\r\n (a.y1 = d.y1),\r\n (a.y2 = d.y2),\r\n (a.width = d.width),\r\n (a.height = d.height);\r\n w ||\r\n ((a.canvas.width = a.width),\r\n (a.canvas.height = a.height),\r\n (a.canvas.style.left = a.x1 + 'px'),\r\n (a.canvas.style.top = a.y1 + 'px'),\r\n (0 < a.x1 || 0 < a.y1) && a.ctx.translate(-a.x1, -a.y1));\r\n a.layoutManager = new Ea(a.x1, a.y1, a.x2, a.y2, 2);\r\n };\r\n n.prototype.renderIndexLabels = function (a) {\r\n var d = a || this.plotArea.ctx,\r\n c = this.plotArea,\r\n b = 0,\r\n e = 0,\r\n f = 0,\r\n l = (f = e = 0),\r\n s = 0,\r\n D = (b = 0),\r\n k = 0;\r\n for (a = 0; a < this._indexLabels.length; a++) {\r\n var m = this._indexLabels[a],\r\n p = m.chartType.toLowerCase(),\r\n q,\r\n g,\r\n l = ma('indexLabelFontColor', m.dataPoint, m.dataSeries),\r\n t = ma('indexLabelFontSize', m.dataPoint, m.dataSeries),\r\n s = ma('indexLabelFontFamily', m.dataPoint, m.dataSeries),\r\n D = ma('indexLabelFontStyle', m.dataPoint, m.dataSeries),\r\n k = ma('indexLabelFontWeight', m.dataPoint, m.dataSeries),\r\n h = ma('indexLabelBackgroundColor', m.dataPoint, m.dataSeries);\r\n q = ma('indexLabelMaxWidth', m.dataPoint, m.dataSeries);\r\n g = ma('indexLabelWrap', m.dataPoint, m.dataSeries);\r\n var fa = ma('indexLabelLineDashType', m.dataPoint, m.dataSeries),\r\n u = ma('indexLabelLineColor', m.dataPoint, m.dataSeries),\r\n n = r(m.dataPoint.indexLabelLineThickness)\r\n ? r(m.dataSeries.options.indexLabelLineThickness)\r\n ? 0\r\n : m.dataSeries.options.indexLabelLineThickness\r\n : m.dataPoint.indexLabelLineThickness,\r\n b =\r\n 0 < n\r\n ? Math.min(\r\n 10,\r\n ('normal' === this.plotInfo.axisPlacement\r\n ? this.plotArea.height\r\n : this.plotArea.width) << 0\r\n )\r\n : 0,\r\n x = { percent: null, total: null },\r\n z = null;\r\n if (\r\n 0 <= m.dataSeries.type.indexOf('stacked') ||\r\n 'pie' === m.dataSeries.type ||\r\n 'doughnut' === m.dataSeries.type\r\n )\r\n x = this.getPercentAndTotal(m.dataSeries, m.dataPoint);\r\n if (m.dataSeries.indexLabelFormatter || m.dataPoint.indexLabelFormatter)\r\n z = {\r\n chart: this,\r\n dataSeries: m.dataSeries,\r\n dataPoint: m.dataPoint,\r\n index: m.indexKeyword,\r\n total: x.total,\r\n percent: x.percent,\r\n };\r\n var G = m.dataPoint.indexLabelFormatter\r\n ? m.dataPoint.indexLabelFormatter(z)\r\n : m.dataPoint.indexLabel\r\n ? this.replaceKeywordsWithValue(\r\n m.dataPoint.indexLabel,\r\n m.dataPoint,\r\n m.dataSeries,\r\n null,\r\n m.indexKeyword\r\n )\r\n : m.dataSeries.indexLabelFormatter\r\n ? m.dataSeries.indexLabelFormatter(z)\r\n : m.dataSeries.indexLabel\r\n ? this.replaceKeywordsWithValue(\r\n m.dataSeries.indexLabel,\r\n m.dataPoint,\r\n m.dataSeries,\r\n null,\r\n m.indexKeyword\r\n )\r\n : null;\r\n if (null !== G && '' !== G) {\r\n var x = ma('indexLabelPlacement', m.dataPoint, m.dataSeries),\r\n z = ma('indexLabelOrientation', m.dataPoint, m.dataSeries),\r\n C = ma('indexLabelTextAlign', m.dataPoint, m.dataSeries),\r\n v = m.direction,\r\n e = m.dataSeries.axisX,\r\n f = m.dataSeries.axisY,\r\n A = !1,\r\n h = new ka(d, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: q ? q : 0.5 * this.width,\r\n maxHeight: g ? 5 * t : 1.5 * t,\r\n angle: 'horizontal' === z ? 0 : -90,\r\n text: G,\r\n padding: 0,\r\n backgroundColor: h,\r\n textAlign: C,\r\n fontSize: t,\r\n fontFamily: s,\r\n fontWeight: k,\r\n fontColor: l,\r\n fontStyle: D,\r\n textBaseline: 'middle',\r\n });\r\n h.measureText();\r\n m.dataSeries.indexLabelMaxWidth = h.maxWidth;\r\n if ('stackedarea100' === p) {\r\n if (\r\n m.point.x < c.x1 ||\r\n m.point.x > c.x2 ||\r\n m.point.y < c.y1 - 1 ||\r\n m.point.y > c.y2 + 1\r\n )\r\n continue;\r\n } else if ('rangearea' === p || 'rangesplinearea' === p) {\r\n if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum ||\r\n Math.max.apply(null, m.dataPoint.y) < f.viewportMinimum ||\r\n Math.min.apply(null, m.dataPoint.y) > f.viewportMaximum\r\n )\r\n continue;\r\n } else if (\r\n 0 <= p.indexOf('line') ||\r\n 0 <= p.indexOf('area') ||\r\n 0 <= p.indexOf('bubble') ||\r\n 0 <= p.indexOf('scatter')\r\n ) {\r\n if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum ||\r\n m.dataPoint.y < f.viewportMinimum ||\r\n m.dataPoint.y > f.viewportMaximum\r\n )\r\n continue;\r\n } else if (\r\n 0 <= p.indexOf('column') ||\r\n 'waterfall' === p ||\r\n ('error' === p && !m.axisSwapped)\r\n ) {\r\n if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum ||\r\n m.bounds.y1 > c.y2 ||\r\n m.bounds.y2 < c.y1\r\n )\r\n continue;\r\n } else if (0 <= p.indexOf('bar') || 'error' === p) {\r\n if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum ||\r\n m.bounds.x1 > c.x2 ||\r\n m.bounds.x2 < c.x1\r\n )\r\n continue;\r\n } else if ('candlestick' === p || 'ohlc' === p) {\r\n if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum ||\r\n Math.max.apply(null, m.dataPoint.y) < f.viewportMinimum ||\r\n Math.min.apply(null, m.dataPoint.y) > f.viewportMaximum\r\n )\r\n continue;\r\n } else if (\r\n m.dataPoint.x < e.viewportMinimum ||\r\n m.dataPoint.x > e.viewportMaximum\r\n )\r\n continue;\r\n l = s = 2;\r\n 'horizontal' === z\r\n ? ((D = h.width), (k = h.height))\r\n : ((k = h.width), (D = h.height));\r\n if ('normal' === this.plotInfo.axisPlacement) {\r\n if (0 <= p.indexOf('line') || 0 <= p.indexOf('area'))\r\n (x = 'auto'), (s = 4);\r\n else if (0 <= p.indexOf('stacked')) 'auto' === x && (x = 'inside');\r\n else if ('bubble' === p || 'scatter' === p) x = 'inside';\r\n q = m.point.x - ('horizontal' === z ? D / 2 : D / 2 - t / 2);\r\n 'inside' !== x\r\n ? ((e = c.y1),\r\n (f = c.y2),\r\n 0 < v\r\n ? ((g =\r\n m.point.y + ('horizontal' === z ? t / 2 : 0) - k - s - b),\r\n g < e &&\r\n ((g =\r\n 'auto' === x\r\n ? Math.max(m.point.y, e) + t / 2 + s\r\n : e + t / 2 + s),\r\n (A = g + k > m.point.y)))\r\n : ((g = m.point.y + t / 2 + s + b),\r\n g > f - k &&\r\n ((g =\r\n 'auto' === x\r\n ? Math.min(m.point.y, f) + t / 2 - k - s\r\n : f + t / 2 - k),\r\n (A = g < m.point.y))))\r\n : ((e = Math.max(m.bounds.y1, c.y1)),\r\n (f = Math.min(m.bounds.y2, c.y2 - k + t / 2)),\r\n (b =\r\n 0 <= p.indexOf('range') || 'error' === p\r\n ? 0 < v\r\n ? Math.max(m.bounds.y1, c.y1) + t / 2 + s\r\n : Math.min(m.bounds.y2, c.y2) + t / 2 - k + s\r\n : (Math.max(m.bounds.y1, c.y1) +\r\n Math.min(m.bounds.y2, c.y2)) /\r\n 2 -\r\n k / 2 +\r\n t / 2 +\r\n ('horizontal' === z ? s : 0)),\r\n 0 < v\r\n ? ((g = Math.max(m.point.y, b)),\r\n g < e &&\r\n ('bubble' === p || 'scatter' === p) &&\r\n (g = Math.max(m.point.y - k - s, c.y1 + s)))\r\n : ((g = Math.min(m.point.y, b)),\r\n g > f - k - s &&\r\n ('bubble' === p || 'scatter' === p) &&\r\n (g = Math.min(m.point.y + s, c.y2 - k - s))),\r\n (g = Math.min(g, f)));\r\n } else\r\n 0 <= p.indexOf('line') ||\r\n 0 <= p.indexOf('area') ||\r\n 0 <= p.indexOf('scatter')\r\n ? ((x = 'auto'), (l = 4))\r\n : 0 <= p.indexOf('stacked')\r\n ? 'auto' === x && (x = 'inside')\r\n : 'bubble' === p && (x = 'inside'),\r\n (g = m.point.y + t / 2 - k / 2 + s),\r\n 'inside' !== x\r\n ? ((e = c.x1),\r\n (f = c.x2),\r\n 0 > v\r\n ? ((q =\r\n m.point.x -\r\n ('horizontal' === z ? D : D - t / 2) -\r\n l -\r\n b),\r\n q < e &&\r\n ((q =\r\n 'auto' === x ? Math.max(m.point.x, e) + l : e + l),\r\n (A = q + D > m.point.x)))\r\n : ((q =\r\n m.point.x + ('horizontal' === z ? 0 : t / 2) + l + b),\r\n q > f - D - l - b &&\r\n ((q =\r\n 'auto' === x\r\n ? Math.min(m.point.x, f) -\r\n ('horizontal' === z ? D : D / 2) -\r\n l\r\n : f - D - l),\r\n (A = q < m.point.x))))\r\n : ((e = Math.max(m.bounds.x1, c.x1)),\r\n Math.min(m.bounds.x2, c.x2),\r\n (b =\r\n 0 <= p.indexOf('range') || 'error' === p\r\n ? 0 > v\r\n ? Math.max(m.bounds.x1, c.x1) + t / 2 + l\r\n : Math.min(m.bounds.x2, c.x2) -\r\n D / 2 -\r\n l +\r\n ('horizontal' === z ? 0 : t / 2)\r\n : (Math.max(m.bounds.x1, c.x1) +\r\n Math.min(m.bounds.x2, c.x2)) /\r\n 2 +\r\n ('horizontal' === z ? 0 : t / 2)),\r\n (q =\r\n 0 > v\r\n ? Math.max(m.point.x, b) -\r\n ('horizontal' === z ? D / 2 : 0)\r\n : Math.min(m.point.x, b) - D / 2),\r\n (q = Math.max(q, e)));\r\n 'vertical' === z && (g += k - t / 2);\r\n h.x = q;\r\n h.y = g;\r\n h.render(!0);\r\n n &&\r\n 'inside' !== x &&\r\n ((0 > p.indexOf('bar') &&\r\n ('error' !== p || !m.axisSwapped) &&\r\n m.point.x > c.x1 &&\r\n m.point.x < c.x2) ||\r\n !A) &&\r\n ((0 > p.indexOf('column') &&\r\n ('error' !== p || m.axisSwapped) &&\r\n m.point.y > c.y1 &&\r\n m.point.y < c.y2) ||\r\n !A) &&\r\n ((d.lineWidth = n),\r\n (d.strokeStyle = u ? u : 'gray'),\r\n d.setLineDash && d.setLineDash(J(fa, n)),\r\n d.beginPath(),\r\n d.moveTo(m.point.x, m.point.y),\r\n 0 <= p.indexOf('bar') || ('error' === p && m.axisSwapped)\r\n ? d.lineTo(\r\n q +\r\n (0 < m.direction ? -l : D + l) +\r\n ('vertical' === z ? -t / 2 : 0),\r\n g + ('vertical' === z ? -k / 2 : k / 2 - t / 2) - s\r\n )\r\n : 0 <= p.indexOf('column') || ('error' === p && !m.axisSwapped)\r\n ? d.lineTo(\r\n q + D / 2 - ('horizontal' === z ? 0 : t / 2),\r\n g +\r\n ('vertical' === z\r\n ? (g - k < m.point.y ? 0 : -k) + s\r\n : (g - t / 2 < m.point.y ? k : 0) - t / 2)\r\n )\r\n : d.lineTo(\r\n q + D / 2 - ('horizontal' === z ? 0 : t / 2),\r\n g +\r\n ('vertical' === z\r\n ? g - k < m.point.y\r\n ? 0\r\n : -k\r\n : (g - t / 2 < m.point.y ? k : 0) - t / 2)\r\n ),\r\n d.stroke());\r\n }\r\n }\r\n d = {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n startTimePercent: 0.7,\r\n };\r\n for (a = 0; a < this._indexLabels.length; a++)\r\n (m = this._indexLabels[a]),\r\n (h = ma('indexLabelBackgroundColor', m.dataPoint, m.dataSeries)),\r\n (m.dataSeries.indexLabelBackgroundColor = r(h)\r\n ? w\r\n ? 'transparent'\r\n : null\r\n : h);\r\n return d;\r\n };\r\n n.prototype.renderLine = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = this._eventManager.ghostCtx;\r\n c.save();\r\n var e = this.plotArea;\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n for (var f = [], l, s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var D = a.dataSeriesIndexes[s],\r\n k = this.data[D];\r\n c.lineWidth = k.lineThickness;\r\n var m = k.dataPoints,\r\n p = 'solid';\r\n if (c.setLineDash) {\r\n var q = J(k.nullDataLineDashType, k.lineThickness),\r\n p = k.lineDashType,\r\n g = J(p, k.lineThickness);\r\n c.setLineDash(g);\r\n }\r\n var t = k.id;\r\n this._eventManager.objectMap[t] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: D,\r\n };\r\n t = Q(t);\r\n b.strokeStyle = t;\r\n b.lineWidth = 0 < k.lineThickness ? Math.max(k.lineThickness, 4) : 0;\r\n var t = k._colorSet,\r\n h = (t = k.lineColor = k.options.lineColor\r\n ? k.options.lineColor\r\n : t[0]);\r\n c.strokeStyle = t;\r\n var r = !0,\r\n u = 0,\r\n n,\r\n x;\r\n c.beginPath();\r\n if (0 < m.length) {\r\n for (var z = !1, u = 0; u < m.length; u++)\r\n if (\r\n ((n = m[u].x.getTime ? m[u].x.getTime() : m[u].x),\r\n !(\r\n n < a.axisX.dataInfo.viewPortMin ||\r\n (n > a.axisX.dataInfo.viewPortMax &&\r\n (!k.connectNullData || !z))\r\n ))\r\n )\r\n if ('number' !== typeof m[u].y)\r\n 0 < u &&\r\n !(k.connectNullData || z || r) &&\r\n (c.stroke(), w && b.stroke()),\r\n (z = !0);\r\n else {\r\n n = a.axisX.convertValueToPixel(n);\r\n x = a.axisY.convertValueToPixel(m[u].y);\r\n var G = k.dataPointIds[u];\r\n this._eventManager.objectMap[G] = {\r\n id: G,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: D,\r\n dataPointIndex: u,\r\n x1: n,\r\n y1: x,\r\n };\r\n r || z\r\n ? (!r && k.connectNullData\r\n ? (c.setLineDash &&\r\n (k.options.nullDataLineDashType ||\r\n (p === k.lineDashType &&\r\n k.lineDashType !== k.nullDataLineDashType)) &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(l.x, l.y),\r\n (p = k.nullDataLineDashType),\r\n c.setLineDash(q)),\r\n c.lineTo(n, x),\r\n w && b.lineTo(n, x))\r\n : (c.beginPath(),\r\n c.moveTo(n, x),\r\n w && (b.beginPath(), b.moveTo(n, x))),\r\n (z = r = !1))\r\n : (c.lineTo(n, x),\r\n w && b.lineTo(n, x),\r\n 0 == u % 500 &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(n, x),\r\n w && (b.stroke(), b.beginPath(), b.moveTo(n, x))));\r\n l = { x: n, y: x };\r\n u < m.length - 1 &&\r\n (h !== (m[u].lineColor || t) ||\r\n p !== (m[u].lineDashType || k.lineDashType)) &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(n, x),\r\n (h = m[u].lineColor || t),\r\n (c.strokeStyle = h),\r\n c.setLineDash &&\r\n (m[u].lineDashType\r\n ? ((p = m[u].lineDashType),\r\n c.setLineDash(J(p, k.lineThickness)))\r\n : ((p = k.lineDashType), c.setLineDash(g))));\r\n if (0 < m[u].markerSize || 0 < k.markerSize) {\r\n var C = k.getMarkerProperties(u, n, x, c);\r\n f.push(C);\r\n G = Q(G);\r\n w &&\r\n f.push({\r\n x: n,\r\n y: x,\r\n ctx: b,\r\n type: C.type,\r\n size: C.size,\r\n color: G,\r\n borderColor: G,\r\n borderThickness: C.borderThickness,\r\n });\r\n }\r\n (m[u].indexLabel ||\r\n k.indexLabel ||\r\n m[u].indexLabelFormatter ||\r\n k.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'line',\r\n dataPoint: m[u],\r\n dataSeries: k,\r\n point: { x: n, y: x },\r\n direction: 0 > m[u].y === a.axisY.reversed ? 1 : -1,\r\n color: t,\r\n });\r\n }\r\n c.stroke();\r\n w && b.stroke();\r\n }\r\n }\r\n aa.drawMarkers(f);\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n b.beginPath());\r\n c.restore();\r\n c.beginPath();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderStepLine = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = this._eventManager.ghostCtx;\r\n c.save();\r\n var e = this.plotArea;\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n for (var f = [], l, s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var D = a.dataSeriesIndexes[s],\r\n k = this.data[D];\r\n c.lineWidth = k.lineThickness;\r\n var m = k.dataPoints,\r\n p = 'solid';\r\n if (c.setLineDash) {\r\n var q = J(k.nullDataLineDashType, k.lineThickness),\r\n p = k.lineDashType,\r\n g = J(p, k.lineThickness);\r\n c.setLineDash(g);\r\n }\r\n var t = k.id;\r\n this._eventManager.objectMap[t] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: D,\r\n };\r\n t = Q(t);\r\n b.strokeStyle = t;\r\n b.lineWidth = 0 < k.lineThickness ? Math.max(k.lineThickness, 4) : 0;\r\n var t = k._colorSet,\r\n h = (t = k.lineColor = k.options.lineColor\r\n ? k.options.lineColor\r\n : t[0]);\r\n c.strokeStyle = t;\r\n var r = !0,\r\n u = 0,\r\n n,\r\n x;\r\n c.beginPath();\r\n if (0 < m.length) {\r\n for (var z = !1, u = 0; u < m.length; u++)\r\n if (\r\n ((n = m[u].getTime ? m[u].x.getTime() : m[u].x),\r\n !(\r\n n < a.axisX.dataInfo.viewPortMin ||\r\n (n > a.axisX.dataInfo.viewPortMax &&\r\n (!k.connectNullData || !z))\r\n ))\r\n )\r\n if ('number' !== typeof m[u].y)\r\n 0 < u &&\r\n !(k.connectNullData || z || r) &&\r\n (c.stroke(), w && b.stroke()),\r\n (z = !0);\r\n else {\r\n var G = x;\r\n n = a.axisX.convertValueToPixel(n);\r\n x = a.axisY.convertValueToPixel(m[u].y);\r\n var C = k.dataPointIds[u];\r\n this._eventManager.objectMap[C] = {\r\n id: C,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: D,\r\n dataPointIndex: u,\r\n x1: n,\r\n y1: x,\r\n };\r\n r || z\r\n ? (!r && k.connectNullData\r\n ? (c.setLineDash &&\r\n (k.options.nullDataLineDashType ||\r\n (p === k.lineDashType &&\r\n k.lineDashType !== k.nullDataLineDashType)) &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(l.x, l.y),\r\n (p = k.nullDataLineDashType),\r\n c.setLineDash(q)),\r\n c.lineTo(n, G),\r\n c.lineTo(n, x),\r\n w && (b.lineTo(n, G), b.lineTo(n, x)))\r\n : (c.beginPath(),\r\n c.moveTo(n, x),\r\n w && (b.beginPath(), b.moveTo(n, x))),\r\n (z = r = !1))\r\n : (c.lineTo(n, G),\r\n w && b.lineTo(n, G),\r\n c.lineTo(n, x),\r\n w && b.lineTo(n, x),\r\n 0 == u % 500 &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(n, x),\r\n w && (b.stroke(), b.beginPath(), b.moveTo(n, x))));\r\n l = { x: n, y: x };\r\n u < m.length - 1 &&\r\n (h !== (m[u].lineColor || t) ||\r\n p !== (m[u].lineDashType || k.lineDashType)) &&\r\n (c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(n, x),\r\n (h = m[u].lineColor || t),\r\n (c.strokeStyle = h),\r\n c.setLineDash &&\r\n (m[u].lineDashType\r\n ? ((p = m[u].lineDashType),\r\n c.setLineDash(J(p, k.lineThickness)))\r\n : ((p = k.lineDashType), c.setLineDash(g))));\r\n if (0 < m[u].markerSize || 0 < k.markerSize)\r\n (G = k.getMarkerProperties(u, n, x, c)),\r\n f.push(G),\r\n (C = Q(C)),\r\n w &&\r\n f.push({\r\n x: n,\r\n y: x,\r\n ctx: b,\r\n type: G.type,\r\n size: G.size,\r\n color: C,\r\n borderColor: C,\r\n borderThickness: G.borderThickness,\r\n });\r\n (m[u].indexLabel ||\r\n k.indexLabel ||\r\n m[u].indexLabelFormatter ||\r\n k.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stepLine',\r\n dataPoint: m[u],\r\n dataSeries: k,\r\n point: { x: n, y: x },\r\n direction: 0 > m[u].y === a.axisY.reversed ? 1 : -1,\r\n color: t,\r\n });\r\n }\r\n c.stroke();\r\n w && b.stroke();\r\n }\r\n }\r\n aa.drawMarkers(f);\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n b.beginPath());\r\n c.restore();\r\n c.beginPath();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderSpline = function (a) {\r\n function d(a) {\r\n a = v(a, 2);\r\n if (0 < a.length) {\r\n b.beginPath();\r\n w && e.beginPath();\r\n b.moveTo(a[0].x, a[0].y);\r\n a[0].newStrokeStyle && (b.strokeStyle = a[0].newStrokeStyle);\r\n a[0].newLineDashArray && b.setLineDash(a[0].newLineDashArray);\r\n w && e.moveTo(a[0].x, a[0].y);\r\n for (var c = 0; c < a.length - 3; c += 3)\r\n if (\r\n (b.bezierCurveTo(\r\n a[c + 1].x,\r\n a[c + 1].y,\r\n a[c + 2].x,\r\n a[c + 2].y,\r\n a[c + 3].x,\r\n a[c + 3].y\r\n ),\r\n w &&\r\n e.bezierCurveTo(\r\n a[c + 1].x,\r\n a[c + 1].y,\r\n a[c + 2].x,\r\n a[c + 2].y,\r\n a[c + 3].x,\r\n a[c + 3].y\r\n ),\r\n (0 < c && 0 === c % 3e3) ||\r\n a[c + 3].newStrokeStyle ||\r\n a[c + 3].newLineDashArray)\r\n )\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(a[c + 3].x, a[c + 3].y),\r\n a[c + 3].newStrokeStyle &&\r\n (b.strokeStyle = a[c + 3].newStrokeStyle),\r\n a[c + 3].newLineDashArray &&\r\n b.setLineDash(a[c + 3].newLineDashArray),\r\n w &&\r\n (e.stroke(), e.beginPath(), e.moveTo(a[c + 3].x, a[c + 3].y));\r\n b.stroke();\r\n w && e.stroke();\r\n }\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = this._eventManager.ghostCtx;\r\n b.save();\r\n var f = this.plotArea;\r\n b.beginPath();\r\n b.rect(f.x1, f.y1, f.width, f.height);\r\n b.clip();\r\n for (var l = [], s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var D = a.dataSeriesIndexes[s],\r\n k = this.data[D];\r\n b.lineWidth = k.lineThickness;\r\n var m = k.dataPoints,\r\n p = 'solid';\r\n if (b.setLineDash) {\r\n var q = J(k.nullDataLineDashType, k.lineThickness),\r\n p = k.lineDashType,\r\n g = J(p, k.lineThickness);\r\n b.setLineDash(g);\r\n }\r\n var t = k.id;\r\n this._eventManager.objectMap[t] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: D,\r\n };\r\n t = Q(t);\r\n e.strokeStyle = t;\r\n e.lineWidth = 0 < k.lineThickness ? Math.max(k.lineThickness, 4) : 0;\r\n var t = k._colorSet,\r\n h = (t = k.lineColor = k.options.lineColor\r\n ? k.options.lineColor\r\n : t[0]);\r\n b.strokeStyle = t;\r\n var r = 0,\r\n u,\r\n n,\r\n x = [];\r\n b.beginPath();\r\n if (0 < m.length)\r\n for (n = !1, r = 0; r < m.length; r++)\r\n if (\r\n ((u = m[r].getTime ? m[r].x.getTime() : m[r].x),\r\n !(\r\n u < a.axisX.dataInfo.viewPortMin ||\r\n (u > a.axisX.dataInfo.viewPortMax &&\r\n (!k.connectNullData || !n))\r\n ))\r\n )\r\n if ('number' !== typeof m[r].y)\r\n 0 < r &&\r\n !n &&\r\n (k.connectNullData\r\n ? b.setLineDash &&\r\n 0 < x.length &&\r\n (k.options.nullDataLineDashType ||\r\n !m[r - 1].lineDashType) &&\r\n ((x[x.length - 1].newLineDashArray = q),\r\n (p = k.nullDataLineDashType))\r\n : (d(x), (x = []))),\r\n (n = !0);\r\n else {\r\n u = a.axisX.convertValueToPixel(u);\r\n n = a.axisY.convertValueToPixel(m[r].y);\r\n var z = k.dataPointIds[r];\r\n this._eventManager.objectMap[z] = {\r\n id: z,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: D,\r\n dataPointIndex: r,\r\n x1: u,\r\n y1: n,\r\n };\r\n x[x.length] = { x: u, y: n };\r\n r < m.length - 1 &&\r\n (h !== (m[r].lineColor || t) ||\r\n p !== (m[r].lineDashType || k.lineDashType)) &&\r\n ((h = m[r].lineColor || t),\r\n (x[x.length - 1].newStrokeStyle = h),\r\n b.setLineDash &&\r\n (m[r].lineDashType\r\n ? ((p = m[r].lineDashType),\r\n (x[x.length - 1].newLineDashArray = J(\r\n p,\r\n k.lineThickness\r\n )))\r\n : ((p = k.lineDashType),\r\n (x[x.length - 1].newLineDashArray = g))));\r\n if (0 < m[r].markerSize || 0 < k.markerSize) {\r\n var G = k.getMarkerProperties(r, u, n, b);\r\n l.push(G);\r\n z = Q(z);\r\n w &&\r\n l.push({\r\n x: u,\r\n y: n,\r\n ctx: e,\r\n type: G.type,\r\n size: G.size,\r\n color: z,\r\n borderColor: z,\r\n borderThickness: G.borderThickness,\r\n });\r\n }\r\n (m[r].indexLabel ||\r\n k.indexLabel ||\r\n m[r].indexLabelFormatter ||\r\n k.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'spline',\r\n dataPoint: m[r],\r\n dataSeries: k,\r\n point: { x: u, y: n },\r\n direction: 0 > m[r].y === a.axisY.reversed ? 1 : -1,\r\n color: t,\r\n });\r\n n = !1;\r\n }\r\n d(x);\r\n }\r\n aa.drawMarkers(l);\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(f.x1, f.y1, f.width, f.height),\r\n e.beginPath());\r\n b.restore();\r\n b.beginPath();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderColumn = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = 0,\r\n l,\r\n s,\r\n D,\r\n k = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n f = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n m = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : Math.min(\r\n 0.15 * this.width,\r\n 0.9 * (this.plotArea.width / a.plotType.totalDataSeries)\r\n ) << 0,\r\n p = a.axisX.dataInfo.minDiff;\r\n isFinite(p) || (p = 0.3 * Math.abs(a.axisX.range));\r\n p = this.dataPointWidth = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(p) / Math.log(a.axisX.range)\r\n : Math.abs(p) / Math.abs(a.axisX.range))) /\r\n a.plotType.totalDataSeries)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n f > m &&\r\n (f = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n m\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n m < f &&\r\n (m = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n f\r\n ));\r\n p < f && (p = f);\r\n p > m && (p = m);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (m = 0; m < a.dataSeriesIndexes.length; m++) {\r\n var q = a.dataSeriesIndexes[m],\r\n g = this.data[q],\r\n t = g.dataPoints;\r\n if (0 < t.length)\r\n for (\r\n var h = 5 < p && g.bevelEnabled ? !0 : !1, f = 0;\r\n f < t.length;\r\n f++\r\n )\r\n if (\r\n (t[f].getTime ? (D = t[f].x.getTime()) : (D = t[f].x),\r\n !(\r\n D < a.axisX.dataInfo.viewPortMin ||\r\n D > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof t[f].y)\r\n ) {\r\n l = a.axisX.convertValueToPixel(D);\r\n s = a.axisY.convertValueToPixel(t[f].y);\r\n l = a.axisX.reversed\r\n ? (l +\r\n (a.plotType.totalDataSeries * p) / 2 -\r\n (a.previousDataSeriesCount + m) * p) <<\r\n 0\r\n : (l -\r\n (a.plotType.totalDataSeries * p) / 2 +\r\n (a.previousDataSeriesCount + m) * p) <<\r\n 0;\r\n var r = a.axisX.reversed ? (l - p) << 0 : (l + p) << 0,\r\n u;\r\n 0 <= t[f].y ? (u = k) : ((u = s), (s = k));\r\n s > u && ((b = s), (s = u), (u = b));\r\n b = t[f].color\r\n ? t[f].color\r\n : g._colorSet[f % g._colorSet.length];\r\n da(\r\n c,\r\n a.axisX.reversed ? r : l,\r\n s,\r\n a.axisX.reversed ? l : r,\r\n u,\r\n b,\r\n 0,\r\n null,\r\n h && (a.axisY.reversed ? 0 > t[f].y : 0 <= t[f].y),\r\n (a.axisY.reversed ? 0 <= t[f].y : 0 > t[f].y) && h,\r\n !1,\r\n !1,\r\n g.fillOpacity\r\n );\r\n b = g.dataPointIds[f];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: q,\r\n dataPointIndex: f,\r\n x1: l,\r\n y1: s,\r\n x2: r,\r\n y2: u,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n a.axisX.reversed ? r : l,\r\n s,\r\n a.axisX.reversed ? l : r,\r\n u,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (t[f].indexLabel ||\r\n g.indexLabel ||\r\n t[f].indexLabelFormatter ||\r\n g.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'column',\r\n dataPoint: t[f],\r\n dataSeries: g,\r\n point: {\r\n x: l + (r - l) / 2,\r\n y: 0 > t[f].y === a.axisY.reversed ? s : u,\r\n },\r\n direction: 0 > t[f].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: l,\r\n y1: Math.min(s, u),\r\n x2: r,\r\n y2: Math.max(s, u),\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.yScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n k < a.axisY.bounds.y1\r\n ? a.axisY.bounds.y1\r\n : k > a.axisY.bounds.y2\r\n ? a.axisY.bounds.y2\r\n : k,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedColumn = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = [],\r\n l = [],\r\n s = [],\r\n D = [],\r\n k = 0,\r\n m,\r\n p,\r\n q = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n k = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n g = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.15 * this.width) << 0,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) /\r\n a.plotType.plotUnits.length)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n k > g &&\r\n (k = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n g\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n g < k &&\r\n (g = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n k\r\n ));\r\n t < k && (t = k);\r\n t > g && (t = g);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (g = 0; g < a.dataSeriesIndexes.length; g++) {\r\n var h = a.dataSeriesIndexes[g],\r\n r = this.data[h],\r\n u = r.dataPoints;\r\n if (0 < u.length) {\r\n var n = 5 < t && r.bevelEnabled ? !0 : !1;\r\n c.strokeStyle = '#4572A7 ';\r\n for (k = 0; k < u.length; k++)\r\n if (\r\n ((b = u[k].x.getTime ? u[k].x.getTime() : u[k].x),\r\n !(\r\n b < a.axisX.dataInfo.viewPortMin ||\r\n b > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof u[k].y)\r\n ) {\r\n m = a.axisX.convertValueToPixel(b);\r\n m =\r\n (m - (a.plotType.plotUnits.length * t) / 2 + a.index * t) <<\r\n 0;\r\n var x = (m + t) << 0,\r\n z;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 < u[k].y)\r\n )\r\n (s[b] = u[k].y + (s[b] ? s[b] : 0)),\r\n 0 < s[b] &&\r\n ((p = a.axisY.convertValueToPixel(s[b])),\r\n (z = 'undefined' !== typeof f[b] ? f[b] : q),\r\n (f[b] = p));\r\n else if (\r\n a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 >= u[k].y\r\n )\r\n (D[b] = u[k].y + (D[b] ? D[b] : 0)),\r\n (z = a.axisY.convertValueToPixel(D[b])),\r\n (p = 'undefined' !== typeof l[b] ? l[b] : q),\r\n (l[b] = z);\r\n else if (\r\n ((p = a.axisY.convertValueToPixel(u[k].y)), 0 <= u[k].y)\r\n ) {\r\n var G = 'undefined' !== typeof f[b] ? f[b] : 0;\r\n p -= G;\r\n z = q - G;\r\n f[b] = G + (z - p);\r\n } else\r\n (G = l[b] ? l[b] : 0),\r\n (z = p + G),\r\n (p = q + G),\r\n (l[b] = G + (z - p));\r\n b = u[k].color\r\n ? u[k].color\r\n : r._colorSet[k % r._colorSet.length];\r\n da(\r\n c,\r\n m,\r\n a.axisY.reversed ? z : p,\r\n x,\r\n a.axisY.reversed ? p : z,\r\n b,\r\n 0,\r\n null,\r\n n && (a.axisY.reversed ? 0 > u[k].y : 0 <= u[k].y),\r\n (a.axisY.reversed ? 0 <= u[k].y : 0 > u[k].y) && n,\r\n !1,\r\n !1,\r\n r.fillOpacity\r\n );\r\n b = r.dataPointIds[k];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: k,\r\n x1: m,\r\n y1: p,\r\n x2: x,\r\n y2: z,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n m,\r\n p,\r\n x,\r\n z,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (u[k].indexLabel ||\r\n r.indexLabel ||\r\n u[k].indexLabelFormatter ||\r\n r.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedColumn',\r\n dataPoint: u[k],\r\n dataSeries: r,\r\n point: { x: m + (x - m) / 2, y: 0 <= u[k].y ? p : z },\r\n direction: 0 > u[k].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: m,\r\n y1: Math.min(p, z),\r\n x2: x,\r\n y2: Math.max(p, z),\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.yScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n q < a.axisY.bounds.y1\r\n ? a.axisY.bounds.y1\r\n : q > a.axisY.bounds.y2\r\n ? a.axisY.bounds.y2\r\n : q,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedColumn100 = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = [],\r\n l = [],\r\n s = [],\r\n D = [],\r\n k = 0,\r\n m,\r\n p,\r\n q = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n k = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n g = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.15 * this.width) << 0,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) /\r\n a.plotType.plotUnits.length)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n k > g &&\r\n (k = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n g\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n g < k &&\r\n (g = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n k\r\n ));\r\n t < k && (t = k);\r\n t > g && (t = g);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (g = 0; g < a.dataSeriesIndexes.length; g++) {\r\n var h = a.dataSeriesIndexes[g],\r\n r = this.data[h],\r\n u = r.dataPoints;\r\n if (0 < u.length)\r\n for (\r\n var n = 5 < t && r.bevelEnabled ? !0 : !1, k = 0;\r\n k < u.length;\r\n k++\r\n )\r\n if (\r\n ((b = u[k].x.getTime ? u[k].x.getTime() : u[k].x),\r\n !(\r\n b < a.axisX.dataInfo.viewPortMin ||\r\n b > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof u[k].y)\r\n ) {\r\n m = a.axisX.convertValueToPixel(b);\r\n p =\r\n 0 !== a.dataPointYSums[b]\r\n ? 100 * (u[k].y / a.dataPointYSums[b])\r\n : 0;\r\n m =\r\n (m - (a.plotType.plotUnits.length * t) / 2 + a.index * t) <<\r\n 0;\r\n var x = (m + t) << 0,\r\n z;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 < u[k].y)\r\n ) {\r\n s[b] = p + ('undefined' !== typeof s[b] ? s[b] : 0);\r\n if (0 >= s[b]) continue;\r\n p = a.axisY.convertValueToPixel(s[b]);\r\n z = f[b] ? f[b] : q;\r\n f[b] = p;\r\n } else if (\r\n a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 >= u[k].y\r\n )\r\n (D[b] = p + ('undefined' !== typeof D[b] ? D[b] : 0)),\r\n (z = a.axisY.convertValueToPixel(D[b])),\r\n (p = l[b] ? l[b] : q),\r\n (l[b] = z);\r\n else if (((p = a.axisY.convertValueToPixel(p)), 0 <= u[k].y)) {\r\n var G = 'undefined' !== typeof f[b] ? f[b] : 0;\r\n p -= G;\r\n z = q - G;\r\n a.dataSeriesIndexes.length - 1 === g &&\r\n 1 >= Math.abs(e.y1 - p) &&\r\n (p = e.y1);\r\n f[b] = G + (z - p);\r\n } else\r\n (G = 'undefined' !== typeof l[b] ? l[b] : 0),\r\n (z = p + G),\r\n (p = q + G),\r\n a.dataSeriesIndexes.length - 1 === g &&\r\n 1 >= Math.abs(e.y2 - z) &&\r\n (z = e.y2),\r\n (l[b] = G + (z - p));\r\n b = u[k].color\r\n ? u[k].color\r\n : r._colorSet[k % r._colorSet.length];\r\n da(\r\n c,\r\n m,\r\n a.axisY.reversed ? z : p,\r\n x,\r\n a.axisY.reversed ? p : z,\r\n b,\r\n 0,\r\n null,\r\n n && (a.axisY.reversed ? 0 > u[k].y : 0 <= u[k].y),\r\n (a.axisY.reversed ? 0 <= u[k].y : 0 > u[k].y) && n,\r\n !1,\r\n !1,\r\n r.fillOpacity\r\n );\r\n b = r.dataPointIds[k];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: k,\r\n x1: m,\r\n y1: p,\r\n x2: x,\r\n y2: z,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n m,\r\n p,\r\n x,\r\n z,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (u[k].indexLabel ||\r\n r.indexLabel ||\r\n u[k].indexLabelFormatter ||\r\n r.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedColumn100',\r\n dataPoint: u[k],\r\n dataSeries: r,\r\n point: { x: m + (x - m) / 2, y: 0 <= u[k].y ? p : z },\r\n direction: 0 > u[k].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: m,\r\n y1: Math.min(p, z),\r\n x2: x,\r\n y2: Math.max(p, z),\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.yScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n q < a.axisY.bounds.y1\r\n ? a.axisY.bounds.y1\r\n : q > a.axisY.bounds.y2\r\n ? a.axisY.bounds.y2\r\n : q,\r\n };\r\n }\r\n };\r\n n.prototype.renderBar = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = 0,\r\n l,\r\n s,\r\n D,\r\n k = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n f = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n m = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : Math.min(\r\n 0.15 * this.height,\r\n 0.9 * (this.plotArea.height / a.plotType.totalDataSeries)\r\n ) << 0,\r\n p = a.axisX.dataInfo.minDiff;\r\n isFinite(p) || (p = 0.3 * Math.abs(a.axisX.range));\r\n p = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.height *\r\n (a.axisX.logarithmic\r\n ? Math.log(p) / Math.log(a.axisX.range)\r\n : Math.abs(p) / Math.abs(a.axisX.range))) /\r\n a.plotType.totalDataSeries)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n f > m &&\r\n (f = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n m\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n m < f &&\r\n (m = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n f\r\n ));\r\n p < f && (p = f);\r\n p > m && (p = m);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (m = 0; m < a.dataSeriesIndexes.length; m++) {\r\n var q = a.dataSeriesIndexes[m],\r\n g = this.data[q],\r\n t = g.dataPoints;\r\n if (0 < t.length) {\r\n var h = 5 < p && g.bevelEnabled ? !0 : !1;\r\n c.strokeStyle = '#4572A7 ';\r\n for (f = 0; f < t.length; f++)\r\n if (\r\n (t[f].getTime ? (D = t[f].x.getTime()) : (D = t[f].x),\r\n !(\r\n D < a.axisX.dataInfo.viewPortMin ||\r\n D > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof t[f].y)\r\n ) {\r\n s = a.axisX.convertValueToPixel(D);\r\n l = a.axisY.convertValueToPixel(t[f].y);\r\n s = a.axisX.reversed\r\n ? (s +\r\n (a.plotType.totalDataSeries * p) / 2 -\r\n (a.previousDataSeriesCount + m) * p) <<\r\n 0\r\n : (s -\r\n (a.plotType.totalDataSeries * p) / 2 +\r\n (a.previousDataSeriesCount + m) * p) <<\r\n 0;\r\n var r = a.axisX.reversed ? (s - p) << 0 : (s + p) << 0,\r\n u;\r\n 0 <= t[f].y ? (u = k) : ((u = l), (l = k));\r\n b = t[f].color\r\n ? t[f].color\r\n : g._colorSet[f % g._colorSet.length];\r\n da(\r\n c,\r\n a.axisY.reversed ? l : u,\r\n a.axisX.reversed ? r : s,\r\n a.axisY.reversed ? u : l,\r\n a.axisX.reversed ? s : r,\r\n b,\r\n 0,\r\n null,\r\n h,\r\n !1,\r\n !1,\r\n !1,\r\n g.fillOpacity\r\n );\r\n b = g.dataPointIds[f];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: q,\r\n dataPointIndex: f,\r\n x1: u,\r\n y1: s,\r\n x2: l,\r\n y2: r,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n u,\r\n a.axisX.reversed ? r : s,\r\n l,\r\n a.axisX.reversed ? s : r,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (t[f].indexLabel ||\r\n g.indexLabel ||\r\n t[f].indexLabelFormatter ||\r\n g.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'bar',\r\n dataPoint: t[f],\r\n dataSeries: g,\r\n point: { x: 0 <= t[f].y ? l : u, y: s + (r - s) / 2 },\r\n direction: 0 > t[f].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: Math.min(u, l),\r\n y1: s,\r\n x2: Math.max(u, l),\r\n y2: r,\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n k < a.axisY.bounds.x1\r\n ? a.axisY.bounds.x1\r\n : k > a.axisY.bounds.x2\r\n ? a.axisY.bounds.x2\r\n : k,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedBar = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = [],\r\n l = [],\r\n s = [],\r\n D = [],\r\n k = 0,\r\n m,\r\n p,\r\n q = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n k = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n g = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.15 * this.height) << 0,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.height *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) /\r\n a.plotType.plotUnits.length)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n k > g &&\r\n (k = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n g\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n g < k &&\r\n (g = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n k\r\n ));\r\n t < k && (t = k);\r\n t > g && (t = g);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (g = 0; g < a.dataSeriesIndexes.length; g++) {\r\n var h = a.dataSeriesIndexes[g],\r\n r = this.data[h],\r\n u = r.dataPoints;\r\n if (0 < u.length) {\r\n var n = 5 < t && r.bevelEnabled ? !0 : !1;\r\n c.strokeStyle = '#4572A7 ';\r\n for (k = 0; k < u.length; k++)\r\n if (\r\n ((b = u[k].x.getTime ? u[k].x.getTime() : u[k].x),\r\n !(\r\n b < a.axisX.dataInfo.viewPortMin ||\r\n b > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof u[k].y)\r\n ) {\r\n p = a.axisX.convertValueToPixel(b);\r\n p =\r\n (p - (a.plotType.plotUnits.length * t) / 2 + a.index * t) <<\r\n 0;\r\n var x = (p + t) << 0,\r\n z;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 < u[k].y)\r\n )\r\n (s[b] = u[k].y + (s[b] ? s[b] : 0)),\r\n 0 < s[b] &&\r\n ((z = f[b] ? f[b] : q),\r\n (f[b] = m = a.axisY.convertValueToPixel(s[b])));\r\n else if (\r\n a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 >= u[k].y\r\n )\r\n (D[b] = u[k].y + (D[b] ? D[b] : 0)),\r\n (m = l[b] ? l[b] : q),\r\n (l[b] = z = a.axisY.convertValueToPixel(D[b]));\r\n else if (\r\n ((m = a.axisY.convertValueToPixel(u[k].y)), 0 <= u[k].y)\r\n ) {\r\n var G = f[b] ? f[b] : 0;\r\n z = q + G;\r\n m += G;\r\n f[b] = G + (m - z);\r\n } else\r\n (G = l[b] ? l[b] : 0),\r\n (z = m - G),\r\n (m = q - G),\r\n (l[b] = G + (m - z));\r\n b = u[k].color\r\n ? u[k].color\r\n : r._colorSet[k % r._colorSet.length];\r\n da(\r\n c,\r\n a.axisY.reversed ? m : z,\r\n p,\r\n a.axisY.reversed ? z : m,\r\n x,\r\n b,\r\n 0,\r\n null,\r\n n,\r\n !1,\r\n !1,\r\n !1,\r\n r.fillOpacity\r\n );\r\n b = r.dataPointIds[k];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: k,\r\n x1: z,\r\n y1: p,\r\n x2: m,\r\n y2: x,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n z,\r\n p,\r\n m,\r\n x,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (u[k].indexLabel ||\r\n r.indexLabel ||\r\n u[k].indexLabelFormatter ||\r\n r.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedBar',\r\n dataPoint: u[k],\r\n dataSeries: r,\r\n point: { x: 0 <= u[k].y ? m : z, y: p + (x - p) / 2 },\r\n direction: 0 > u[k].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: Math.min(z, m),\r\n y1: p,\r\n x2: Math.max(z, m),\r\n y2: x,\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n q < a.axisY.bounds.x1\r\n ? a.axisY.bounds.x1\r\n : q > a.axisY.bounds.x2\r\n ? a.axisY.bounds.x2\r\n : q,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedBar100 = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = [],\r\n l = [],\r\n s = [],\r\n D = [],\r\n k = 0,\r\n m,\r\n p,\r\n q = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n k = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n g = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.15 * this.height) << 0,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.height *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) /\r\n a.plotType.plotUnits.length)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n k > g &&\r\n (k = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n g\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n g < k &&\r\n (g = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n k\r\n ));\r\n t < k && (t = k);\r\n t > g && (t = g);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (g = 0; g < a.dataSeriesIndexes.length; g++) {\r\n var h = a.dataSeriesIndexes[g],\r\n r = this.data[h],\r\n u = r.dataPoints;\r\n if (0 < u.length) {\r\n var n = 5 < t && r.bevelEnabled ? !0 : !1;\r\n c.strokeStyle = '#4572A7 ';\r\n for (k = 0; k < u.length; k++)\r\n if (\r\n ((b = u[k].x.getTime ? u[k].x.getTime() : u[k].x),\r\n !(\r\n b < a.axisX.dataInfo.viewPortMin ||\r\n b > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof u[k].y)\r\n ) {\r\n p = a.axisX.convertValueToPixel(b);\r\n var x;\r\n x =\r\n 0 !== a.dataPointYSums[b]\r\n ? 100 * (u[k].y / a.dataPointYSums[b])\r\n : 0;\r\n p =\r\n (p - (a.plotType.plotUnits.length * t) / 2 + a.index * t) <<\r\n 0;\r\n var z = (p + t) << 0;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 < u[k].y)\r\n ) {\r\n s[b] = x + (s[b] ? s[b] : 0);\r\n if (0 >= s[b]) continue;\r\n x = f[b] ? f[b] : q;\r\n f[b] = m = a.axisY.convertValueToPixel(s[b]);\r\n } else if (\r\n a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length &&\r\n 0 >= u[k].y\r\n )\r\n (D[b] = x + (D[b] ? D[b] : 0)),\r\n (m = l[b] ? l[b] : q),\r\n (l[b] = x = a.axisY.convertValueToPixel(D[b]));\r\n else if (((m = a.axisY.convertValueToPixel(x)), 0 <= u[k].y)) {\r\n var G = f[b] ? f[b] : 0;\r\n x = q + G;\r\n m += G;\r\n a.dataSeriesIndexes.length - 1 === g &&\r\n 1 >= Math.abs(e.x2 - m) &&\r\n (m = e.x2);\r\n f[b] = G + (m - x);\r\n } else\r\n (G = l[b] ? l[b] : 0),\r\n (x = m - G),\r\n (m = q - G),\r\n a.dataSeriesIndexes.length - 1 === g &&\r\n 1 >= Math.abs(e.x1 - x) &&\r\n (x = e.x1),\r\n (l[b] = G + (m - x));\r\n b = u[k].color\r\n ? u[k].color\r\n : r._colorSet[k % r._colorSet.length];\r\n da(\r\n c,\r\n a.axisY.reversed ? m : x,\r\n p,\r\n a.axisY.reversed ? x : m,\r\n z,\r\n b,\r\n 0,\r\n null,\r\n n,\r\n !1,\r\n !1,\r\n !1,\r\n r.fillOpacity\r\n );\r\n b = r.dataPointIds[k];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: k,\r\n x1: x,\r\n y1: p,\r\n x2: m,\r\n y2: z,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n x,\r\n p,\r\n m,\r\n z,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n (u[k].indexLabel ||\r\n r.indexLabel ||\r\n u[k].indexLabelFormatter ||\r\n r.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedBar100',\r\n dataPoint: u[k],\r\n dataSeries: r,\r\n point: { x: 0 <= u[k].y ? m : x, y: p + (z - p) / 2 },\r\n direction: 0 > u[k].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: Math.min(x, m),\r\n y1: p,\r\n x2: Math.max(x, m),\r\n y2: z,\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xScaleAnimation,\r\n easingFunction: N.easing.easeOutQuart,\r\n animationBase:\r\n q < a.axisY.bounds.x1\r\n ? a.axisY.bounds.x1\r\n : q > a.axisY.bounds.x2\r\n ? a.axisY.bounds.x2\r\n : q,\r\n };\r\n }\r\n };\r\n n.prototype.renderArea = function (a) {\r\n var d, c;\r\n function b() {\r\n G &&\r\n (0 < g.lineThickness && f.stroke(),\r\n a.axisY.logarithmic ||\r\n (0 >= a.axisY.viewportMinimum && 0 <= a.axisY.viewportMaximum)\r\n ? (z = x)\r\n : 0 > a.axisY.viewportMaximum\r\n ? (z = s.y1)\r\n : 0 < a.axisY.viewportMinimum && (z = x),\r\n f.lineTo(r, z),\r\n f.lineTo(G.x, z),\r\n f.closePath(),\r\n (f.globalAlpha = g.fillOpacity),\r\n f.fill(),\r\n (f.globalAlpha = 1),\r\n w && (l.lineTo(r, z), l.lineTo(G.x, z), l.closePath(), l.fill()),\r\n f.beginPath(),\r\n f.moveTo(r, u),\r\n l.beginPath(),\r\n l.moveTo(r, u),\r\n (G = { x: r, y: u }));\r\n }\r\n var e = a.targetCanvasCtx || this.plotArea.ctx,\r\n f = w ? this._preRenderCtx : e;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var l = this._eventManager.ghostCtx,\r\n s = a.axisY.lineCoordinates,\r\n D = [],\r\n k = this.plotArea,\r\n m;\r\n f.save();\r\n w && l.save();\r\n f.beginPath();\r\n f.rect(k.x1, k.y1, k.width, k.height);\r\n f.clip();\r\n w && (l.beginPath(), l.rect(k.x1, k.y1, k.width, k.height), l.clip());\r\n for (var p = 0; p < a.dataSeriesIndexes.length; p++) {\r\n var q = a.dataSeriesIndexes[p],\r\n g = this.data[q],\r\n t = g.dataPoints,\r\n D = g.id;\r\n this._eventManager.objectMap[D] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: q,\r\n };\r\n D = Q(D);\r\n l.fillStyle = D;\r\n D = [];\r\n d = !0;\r\n var h = 0,\r\n r,\r\n u,\r\n n,\r\n x = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n z,\r\n G = null;\r\n if (0 < t.length) {\r\n var C = g._colorSet[h % g._colorSet.length],\r\n v = (g.lineColor = g.options.lineColor || C),\r\n A = v;\r\n f.fillStyle = C;\r\n f.strokeStyle = v;\r\n f.lineWidth = g.lineThickness;\r\n c = 'solid';\r\n if (f.setLineDash) {\r\n var M = J(g.nullDataLineDashType, g.lineThickness);\r\n c = g.lineDashType;\r\n var S = J(c, g.lineThickness);\r\n f.setLineDash(S);\r\n }\r\n for (var ca = !0; h < t.length; h++)\r\n if (\r\n ((n = t[h].x.getTime ? t[h].x.getTime() : t[h].x),\r\n !(\r\n n < a.axisX.dataInfo.viewPortMin ||\r\n (n > a.axisX.dataInfo.viewPortMax &&\r\n (!g.connectNullData || !ca))\r\n ))\r\n )\r\n if ('number' !== typeof t[h].y)\r\n g.connectNullData || ca || d || b(), (ca = !0);\r\n else {\r\n r = a.axisX.convertValueToPixel(n);\r\n u = a.axisY.convertValueToPixel(t[h].y);\r\n d || ca\r\n ? (!d && g.connectNullData\r\n ? (f.setLineDash &&\r\n (g.options.nullDataLineDashType ||\r\n (c === g.lineDashType &&\r\n g.lineDashType !== g.nullDataLineDashType)) &&\r\n ((d = r),\r\n (c = u),\r\n (r = m.x),\r\n (u = m.y),\r\n b(),\r\n f.moveTo(m.x, m.y),\r\n (r = d),\r\n (u = c),\r\n (G = m),\r\n (c = g.nullDataLineDashType),\r\n f.setLineDash(M)),\r\n f.lineTo(r, u),\r\n w && l.lineTo(r, u))\r\n : (f.beginPath(),\r\n f.moveTo(r, u),\r\n w && (l.beginPath(), l.moveTo(r, u)),\r\n (G = { x: r, y: u })),\r\n (ca = d = !1))\r\n : (f.lineTo(r, u),\r\n w && l.lineTo(r, u),\r\n 0 == h % 250 && b());\r\n m = { x: r, y: u };\r\n h < t.length - 1 &&\r\n (A !== (t[h].lineColor || v) ||\r\n c !== (t[h].lineDashType || g.lineDashType)) &&\r\n (b(),\r\n (A = t[h].lineColor || v),\r\n (f.strokeStyle = A),\r\n f.setLineDash &&\r\n (t[h].lineDashType\r\n ? ((c = t[h].lineDashType),\r\n f.setLineDash(J(c, g.lineThickness)))\r\n : ((c = g.lineDashType), f.setLineDash(S))));\r\n var Z = g.dataPointIds[h];\r\n this._eventManager.objectMap[Z] = {\r\n id: Z,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: q,\r\n dataPointIndex: h,\r\n x1: r,\r\n y1: u,\r\n };\r\n 0 !== t[h].markerSize &&\r\n (0 < t[h].markerSize || 0 < g.markerSize) &&\r\n ((n = g.getMarkerProperties(h, r, u, f)),\r\n D.push(n),\r\n (Z = Q(Z)),\r\n w &&\r\n D.push({\r\n x: r,\r\n y: u,\r\n ctx: l,\r\n type: n.type,\r\n size: n.size,\r\n color: Z,\r\n borderColor: Z,\r\n borderThickness: n.borderThickness,\r\n }));\r\n (t[h].indexLabel ||\r\n g.indexLabel ||\r\n t[h].indexLabelFormatter ||\r\n g.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'area',\r\n dataPoint: t[h],\r\n dataSeries: g,\r\n point: { x: r, y: u },\r\n direction: 0 > t[h].y === a.axisY.reversed ? 1 : -1,\r\n color: C,\r\n });\r\n }\r\n b();\r\n aa.drawMarkers(D);\r\n }\r\n }\r\n w &&\r\n (e.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (f.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n f.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n f.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n f.clearRect(k.x1, k.y1, k.width, k.height),\r\n this._eventManager.ghostCtx.restore());\r\n f.restore();\r\n return {\r\n source: e,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderSplineArea = function (a) {\r\n function d() {\r\n var c = v(y, 2);\r\n if (0 < c.length) {\r\n if (0 < m.lineThickness) {\r\n b.beginPath();\r\n b.moveTo(c[0].x, c[0].y);\r\n c[0].newStrokeStyle && (b.strokeStyle = c[0].newStrokeStyle);\r\n c[0].newLineDashArray && b.setLineDash(c[0].newLineDashArray);\r\n for (var d = 0; d < c.length - 3; d += 3)\r\n if (\r\n (b.bezierCurveTo(\r\n c[d + 1].x,\r\n c[d + 1].y,\r\n c[d + 2].x,\r\n c[d + 2].y,\r\n c[d + 3].x,\r\n c[d + 3].y\r\n ),\r\n w &&\r\n e.bezierCurveTo(\r\n c[d + 1].x,\r\n c[d + 1].y,\r\n c[d + 2].x,\r\n c[d + 2].y,\r\n c[d + 3].x,\r\n c[d + 3].y\r\n ),\r\n c[d + 3].newStrokeStyle || c[d + 3].newLineDashArray)\r\n )\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(c[d + 3].x, c[d + 3].y),\r\n c[d + 3].newStrokeStyle &&\r\n (b.strokeStyle = c[d + 3].newStrokeStyle),\r\n c[d + 3].newLineDashArray &&\r\n b.setLineDash(c[d + 3].newLineDashArray);\r\n b.stroke();\r\n }\r\n b.beginPath();\r\n b.moveTo(c[0].x, c[0].y);\r\n w && (e.beginPath(), e.moveTo(c[0].x, c[0].y));\r\n for (d = 0; d < c.length - 3; d += 3)\r\n b.bezierCurveTo(\r\n c[d + 1].x,\r\n c[d + 1].y,\r\n c[d + 2].x,\r\n c[d + 2].y,\r\n c[d + 3].x,\r\n c[d + 3].y\r\n ),\r\n w &&\r\n e.bezierCurveTo(\r\n c[d + 1].x,\r\n c[d + 1].y,\r\n c[d + 2].x,\r\n c[d + 2].y,\r\n c[d + 3].x,\r\n c[d + 3].y\r\n );\r\n a.axisY.logarithmic ||\r\n (0 >= a.axisY.viewportMinimum && 0 <= a.axisY.viewportMaximum)\r\n ? (n = r)\r\n : 0 > a.axisY.viewportMaximum\r\n ? (n = f.y1)\r\n : 0 < a.axisY.viewportMinimum && (n = r);\r\n u = { x: c[0].x, y: c[0].y };\r\n b.lineTo(c[c.length - 1].x, n);\r\n b.lineTo(u.x, n);\r\n b.closePath();\r\n b.globalAlpha = m.fillOpacity;\r\n b.fill();\r\n b.globalAlpha = 1;\r\n w &&\r\n (e.lineTo(c[c.length - 1].x, n),\r\n e.lineTo(u.x, n),\r\n e.closePath(),\r\n e.fill());\r\n }\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = this._eventManager.ghostCtx,\r\n f = a.axisY.lineCoordinates,\r\n l = [],\r\n s = this.plotArea;\r\n b.save();\r\n w && e.save();\r\n b.beginPath();\r\n b.rect(s.x1, s.y1, s.width, s.height);\r\n b.clip();\r\n w && (e.beginPath(), e.rect(s.x1, s.y1, s.width, s.height), e.clip());\r\n for (var h = 0; h < a.dataSeriesIndexes.length; h++) {\r\n var k = a.dataSeriesIndexes[h],\r\n m = this.data[k],\r\n p = m.dataPoints,\r\n l = m.id;\r\n this._eventManager.objectMap[l] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: k,\r\n };\r\n l = Q(l);\r\n e.fillStyle = l;\r\n var l = [],\r\n q = 0,\r\n g,\r\n t,\r\n r = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n n,\r\n u = null,\r\n y = [];\r\n if (0 < p.length) {\r\n var x = m._colorSet[q % m._colorSet.length],\r\n z = (m.lineColor = m.options.lineColor || x),\r\n G = z;\r\n b.fillStyle = x;\r\n b.strokeStyle = z;\r\n b.lineWidth = m.lineThickness;\r\n var C = 'solid';\r\n if (b.setLineDash) {\r\n var A = J(m.nullDataLineDashType, m.lineThickness),\r\n C = m.lineDashType,\r\n B = J(C, m.lineThickness);\r\n b.setLineDash(B);\r\n }\r\n for (t = !1; q < p.length; q++)\r\n if (\r\n ((g = p[q].x.getTime ? p[q].x.getTime() : p[q].x),\r\n !(\r\n g < a.axisX.dataInfo.viewPortMin ||\r\n (g > a.axisX.dataInfo.viewPortMax &&\r\n (!m.connectNullData || !t))\r\n ))\r\n )\r\n if ('number' !== typeof p[q].y)\r\n 0 < q &&\r\n !t &&\r\n (m.connectNullData\r\n ? b.setLineDash &&\r\n 0 < y.length &&\r\n (m.options.nullDataLineDashType ||\r\n !p[q - 1].lineDashType) &&\r\n ((y[y.length - 1].newLineDashArray = A),\r\n (C = m.nullDataLineDashType))\r\n : (d(), (y = []))),\r\n (t = !0);\r\n else {\r\n g = a.axisX.convertValueToPixel(g);\r\n t = a.axisY.convertValueToPixel(p[q].y);\r\n var M = m.dataPointIds[q];\r\n this._eventManager.objectMap[M] = {\r\n id: M,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: k,\r\n dataPointIndex: q,\r\n x1: g,\r\n y1: t,\r\n };\r\n y[y.length] = { x: g, y: t };\r\n q < p.length - 1 &&\r\n (G !== (p[q].lineColor || z) ||\r\n C !== (p[q].lineDashType || m.lineDashType)) &&\r\n ((G = p[q].lineColor || z),\r\n (y[y.length - 1].newStrokeStyle = G),\r\n b.setLineDash &&\r\n (p[q].lineDashType\r\n ? ((C = p[q].lineDashType),\r\n (y[y.length - 1].newLineDashArray = J(\r\n C,\r\n m.lineThickness\r\n )))\r\n : ((C = m.lineDashType),\r\n (y[y.length - 1].newLineDashArray = B))));\r\n if (\r\n 0 !== p[q].markerSize &&\r\n (0 < p[q].markerSize || 0 < m.markerSize)\r\n ) {\r\n var S = m.getMarkerProperties(q, g, t, b);\r\n l.push(S);\r\n M = Q(M);\r\n w &&\r\n l.push({\r\n x: g,\r\n y: t,\r\n ctx: e,\r\n type: S.type,\r\n size: S.size,\r\n color: M,\r\n borderColor: M,\r\n borderThickness: S.borderThickness,\r\n });\r\n }\r\n (p[q].indexLabel ||\r\n m.indexLabel ||\r\n p[q].indexLabelFormatter ||\r\n m.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'splineArea',\r\n dataPoint: p[q],\r\n dataSeries: m,\r\n point: { x: g, y: t },\r\n direction: 0 > p[q].y === a.axisY.reversed ? 1 : -1,\r\n color: x,\r\n });\r\n t = !1;\r\n }\r\n d();\r\n aa.drawMarkers(l);\r\n }\r\n }\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(s.x1, s.y1, s.width, s.height),\r\n this._eventManager.ghostCtx.restore());\r\n b.restore();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderStepArea = function (a) {\r\n var d, c;\r\n function b() {\r\n G &&\r\n (0 < g.lineThickness && f.stroke(),\r\n a.axisY.logarithmic ||\r\n (0 >= a.axisY.viewportMinimum && 0 <= a.axisY.viewportMaximum)\r\n ? (z = x)\r\n : 0 > a.axisY.viewportMaximum\r\n ? (z = s.y1)\r\n : 0 < a.axisY.viewportMinimum && (z = x),\r\n f.lineTo(n, z),\r\n f.lineTo(G.x, z),\r\n f.closePath(),\r\n (f.globalAlpha = g.fillOpacity),\r\n f.fill(),\r\n (f.globalAlpha = 1),\r\n w && (l.lineTo(n, z), l.lineTo(G.x, z), l.closePath(), l.fill()),\r\n f.beginPath(),\r\n f.moveTo(n, u),\r\n l.beginPath(),\r\n l.moveTo(n, u),\r\n (G = { x: n, y: u }));\r\n }\r\n var e = a.targetCanvasCtx || this.plotArea.ctx,\r\n f = w ? this._preRenderCtx : e;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var l = this._eventManager.ghostCtx,\r\n s = a.axisY.lineCoordinates,\r\n h = [],\r\n k = this.plotArea,\r\n m;\r\n f.save();\r\n w && l.save();\r\n f.beginPath();\r\n f.rect(k.x1, k.y1, k.width, k.height);\r\n f.clip();\r\n w && (l.beginPath(), l.rect(k.x1, k.y1, k.width, k.height), l.clip());\r\n for (var p = 0; p < a.dataSeriesIndexes.length; p++) {\r\n var q = a.dataSeriesIndexes[p],\r\n g = this.data[q],\r\n t = g.dataPoints,\r\n h = g.id;\r\n this._eventManager.objectMap[h] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: q,\r\n };\r\n h = Q(h);\r\n l.fillStyle = h;\r\n h = [];\r\n d = !0;\r\n var r = 0,\r\n n,\r\n u,\r\n y,\r\n x = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n z,\r\n G = null;\r\n c = !1;\r\n if (0 < t.length) {\r\n var C = g._colorSet[r % g._colorSet.length],\r\n v = (g.lineColor = g.options.lineColor || C),\r\n A = v;\r\n f.fillStyle = C;\r\n f.strokeStyle = v;\r\n f.lineWidth = g.lineThickness;\r\n var M = 'solid';\r\n if (f.setLineDash) {\r\n var S = J(g.nullDataLineDashType, g.lineThickness),\r\n M = g.lineDashType,\r\n ca = J(M, g.lineThickness);\r\n f.setLineDash(ca);\r\n }\r\n for (; r < t.length; r++)\r\n if (\r\n ((y = t[r].x.getTime ? t[r].x.getTime() : t[r].x),\r\n !(\r\n y < a.axisX.dataInfo.viewPortMin ||\r\n (y > a.axisX.dataInfo.viewPortMax &&\r\n (!g.connectNullData || !c))\r\n ))\r\n ) {\r\n var Z = u;\r\n 'number' !== typeof t[r].y\r\n ? (g.connectNullData || c || d || b(), (c = !0))\r\n : ((n = a.axisX.convertValueToPixel(y)),\r\n (u = a.axisY.convertValueToPixel(t[r].y)),\r\n d || c\r\n ? (!d && g.connectNullData\r\n ? (f.setLineDash &&\r\n (g.options.nullDataLineDashType ||\r\n (M === g.lineDashType &&\r\n g.lineDashType !== g.nullDataLineDashType)) &&\r\n ((d = n),\r\n (c = u),\r\n (n = m.x),\r\n (u = m.y),\r\n b(),\r\n f.moveTo(m.x, m.y),\r\n (n = d),\r\n (u = c),\r\n (G = m),\r\n (M = g.nullDataLineDashType),\r\n f.setLineDash(S)),\r\n f.lineTo(n, Z),\r\n f.lineTo(n, u),\r\n w && (l.lineTo(n, Z), l.lineTo(n, u)))\r\n : (f.beginPath(),\r\n f.moveTo(n, u),\r\n w && (l.beginPath(), l.moveTo(n, u)),\r\n (G = { x: n, y: u })),\r\n (c = d = !1))\r\n : (f.lineTo(n, Z),\r\n w && l.lineTo(n, Z),\r\n f.lineTo(n, u),\r\n w && l.lineTo(n, u),\r\n 0 == r % 250 && b()),\r\n (m = { x: n, y: u }),\r\n r < t.length - 1 &&\r\n (A !== (t[r].lineColor || v) ||\r\n M !== (t[r].lineDashType || g.lineDashType)) &&\r\n (b(),\r\n (A = t[r].lineColor || v),\r\n (f.strokeStyle = A),\r\n f.setLineDash &&\r\n (t[r].lineDashType\r\n ? ((M = t[r].lineDashType),\r\n f.setLineDash(J(M, g.lineThickness)))\r\n : ((M = g.lineDashType), f.setLineDash(ca)))),\r\n (y = g.dataPointIds[r]),\r\n (this._eventManager.objectMap[y] = {\r\n id: y,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: q,\r\n dataPointIndex: r,\r\n x1: n,\r\n y1: u,\r\n }),\r\n 0 !== t[r].markerSize &&\r\n (0 < t[r].markerSize || 0 < g.markerSize) &&\r\n ((Z = g.getMarkerProperties(r, n, u, f)),\r\n h.push(Z),\r\n (y = Q(y)),\r\n w &&\r\n h.push({\r\n x: n,\r\n y: u,\r\n ctx: l,\r\n type: Z.type,\r\n size: Z.size,\r\n color: y,\r\n borderColor: y,\r\n borderThickness: Z.borderThickness,\r\n })),\r\n (t[r].indexLabel ||\r\n g.indexLabel ||\r\n t[r].indexLabelFormatter ||\r\n g.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stepArea',\r\n dataPoint: t[r],\r\n dataSeries: g,\r\n point: { x: n, y: u },\r\n direction: 0 > t[r].y === a.axisY.reversed ? 1 : -1,\r\n color: C,\r\n }));\r\n }\r\n b();\r\n aa.drawMarkers(h);\r\n }\r\n }\r\n w &&\r\n (e.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (f.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n f.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n f.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n f.clearRect(k.x1, k.y1, k.width, k.height),\r\n this._eventManager.ghostCtx.restore());\r\n f.restore();\r\n return {\r\n source: e,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedArea = function (a) {\r\n function d() {\r\n if (!(1 > k.length)) {\r\n for (0 < C.lineThickness && b.stroke(); 0 < k.length; ) {\r\n var a = k.pop();\r\n b.lineTo(a.x, a.y);\r\n w && n.lineTo(a.x, a.y);\r\n }\r\n b.closePath();\r\n b.globalAlpha = C.fillOpacity;\r\n b.fill();\r\n b.globalAlpha = 1;\r\n b.beginPath();\r\n w && (n.closePath(), n.fill(), n.beginPath());\r\n k = [];\r\n }\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = null,\r\n f = null,\r\n l = [],\r\n s = this.plotArea,\r\n h = [],\r\n k = [],\r\n m = [],\r\n p = [],\r\n q = 0,\r\n g,\r\n t,\r\n r = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n n = this._eventManager.ghostCtx,\r\n u,\r\n y,\r\n x;\r\n w && n.beginPath();\r\n b.save();\r\n w && n.save();\r\n b.beginPath();\r\n b.rect(s.x1, s.y1, s.width, s.height);\r\n b.clip();\r\n w && (n.beginPath(), n.rect(s.x1, s.y1, s.width, s.height), n.clip());\r\n for (var e = [], z = 0; z < a.dataSeriesIndexes.length; z++) {\r\n var G = a.dataSeriesIndexes[z],\r\n C = this.data[G],\r\n v = C.dataPoints;\r\n C.dataPointIndexes = [];\r\n for (q = 0; q < v.length; q++)\r\n (G = v[q].x.getTime ? v[q].x.getTime() : v[q].x),\r\n (C.dataPointIndexes[G] = q),\r\n e[G] || (m.push(G), (e[G] = !0));\r\n m.sort(Qa);\r\n }\r\n for (z = 0; z < a.dataSeriesIndexes.length; z++) {\r\n G = a.dataSeriesIndexes[z];\r\n C = this.data[G];\r\n v = C.dataPoints;\r\n y = !0;\r\n k = [];\r\n q = C.id;\r\n this._eventManager.objectMap[q] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: G,\r\n };\r\n q = Q(q);\r\n n.fillStyle = q;\r\n if (0 < m.length) {\r\n var e = C._colorSet[0],\r\n A = (C.lineColor = C.options.lineColor || e),\r\n M = A;\r\n b.fillStyle = e;\r\n b.strokeStyle = A;\r\n b.lineWidth = C.lineThickness;\r\n x = 'solid';\r\n if (b.setLineDash) {\r\n var S = J(C.nullDataLineDashType, C.lineThickness);\r\n x = C.lineDashType;\r\n var ca = J(x, C.lineThickness);\r\n b.setLineDash(ca);\r\n }\r\n for (var Z = !0, q = 0; q < m.length; q++) {\r\n var f = m[q],\r\n ia = null,\r\n ia =\r\n 0 <= C.dataPointIndexes[f]\r\n ? v[C.dataPointIndexes[f]]\r\n : { x: f, y: null };\r\n if (\r\n !(\r\n f < a.axisX.dataInfo.viewPortMin ||\r\n (f > a.axisX.dataInfo.viewPortMax &&\r\n (!C.connectNullData || !Z))\r\n )\r\n )\r\n if ('number' !== typeof ia.y)\r\n C.connectNullData || Z || y || d(), (Z = !0);\r\n else {\r\n g = a.axisX.convertValueToPixel(f);\r\n var oa = h[f] ? h[f] : 0;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length)\r\n ) {\r\n p[f] = ia.y + (p[f] ? p[f] : 0);\r\n if (0 >= p[f] && a.axisY.logarithmic) continue;\r\n t = a.axisY.convertValueToPixel(p[f]);\r\n } else (t = a.axisY.convertValueToPixel(ia.y)), (t -= oa);\r\n k.push({ x: g, y: r - oa });\r\n h[f] = r - t;\r\n y || Z\r\n ? (!y && C.connectNullData\r\n ? (b.setLineDash &&\r\n (C.options.nullDataLineDashType ||\r\n (x === C.lineDashType &&\r\n C.lineDashType !== C.nullDataLineDashType)) &&\r\n ((y = k.pop()),\r\n (x = k[k.length - 1]),\r\n d(),\r\n b.moveTo(u.x, u.y),\r\n k.push(x),\r\n k.push(y),\r\n (x = C.nullDataLineDashType),\r\n b.setLineDash(S)),\r\n b.lineTo(g, t),\r\n w && n.lineTo(g, t))\r\n : (b.beginPath(),\r\n b.moveTo(g, t),\r\n w && (n.beginPath(), n.moveTo(g, t))),\r\n (Z = y = !1))\r\n : (b.lineTo(g, t),\r\n w && n.lineTo(g, t),\r\n 0 == q % 250 &&\r\n (d(),\r\n b.moveTo(g, t),\r\n w && n.moveTo(g, t),\r\n k.push({ x: g, y: r - oa })));\r\n u = { x: g, y: t };\r\n q < v.length - 1 &&\r\n (M !== (v[q].lineColor || A) ||\r\n x !== (v[q].lineDashType || C.lineDashType)) &&\r\n (d(),\r\n b.beginPath(),\r\n b.moveTo(g, t),\r\n k.push({ x: g, y: r - oa }),\r\n (M = v[q].lineColor || A),\r\n (b.strokeStyle = M),\r\n b.setLineDash &&\r\n (v[q].lineDashType\r\n ? ((x = v[q].lineDashType),\r\n b.setLineDash(J(x, C.lineThickness)))\r\n : ((x = C.lineDashType), b.setLineDash(ca))));\r\n if (0 <= C.dataPointIndexes[f]) {\r\n var B = C.dataPointIds[C.dataPointIndexes[f]];\r\n this._eventManager.objectMap[B] = {\r\n id: B,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: G,\r\n dataPointIndex: C.dataPointIndexes[f],\r\n x1: g,\r\n y1: t,\r\n };\r\n }\r\n 0 <= C.dataPointIndexes[f] &&\r\n 0 !== ia.markerSize &&\r\n (0 < ia.markerSize || 0 < C.markerSize) &&\r\n ((oa = C.getMarkerProperties(\r\n C.dataPointIndexes[f],\r\n g,\r\n t,\r\n b\r\n )),\r\n l.push(oa),\r\n (f = Q(B)),\r\n w &&\r\n l.push({\r\n x: g,\r\n y: t,\r\n ctx: n,\r\n type: oa.type,\r\n size: oa.size,\r\n color: f,\r\n borderColor: f,\r\n borderThickness: oa.borderThickness,\r\n }));\r\n (ia.indexLabel ||\r\n C.indexLabel ||\r\n ia.indexLabelFormatter ||\r\n C.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedArea',\r\n dataPoint: ia,\r\n dataSeries: C,\r\n point: { x: g, y: t },\r\n direction: 0 > v[q].y === a.axisY.reversed ? 1 : -1,\r\n color: e,\r\n });\r\n }\r\n }\r\n d();\r\n b.moveTo(g, t);\r\n w && n.moveTo(g, t);\r\n }\r\n delete C.dataPointIndexes;\r\n }\r\n aa.drawMarkers(l);\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(s.x1, s.y1, s.width, s.height),\r\n n.restore());\r\n b.restore();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderStackedArea100 = function (a) {\r\n function d() {\r\n for (0 < C.lineThickness && b.stroke(); 0 < k.length; ) {\r\n var a = k.pop();\r\n b.lineTo(a.x, a.y);\r\n w && x.lineTo(a.x, a.y);\r\n }\r\n b.closePath();\r\n b.globalAlpha = C.fillOpacity;\r\n b.fill();\r\n b.globalAlpha = 1;\r\n b.beginPath();\r\n w && (x.closePath(), x.fill(), x.beginPath());\r\n k = [];\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = null,\r\n f = null,\r\n l = this.plotArea,\r\n s = [],\r\n h = [],\r\n k = [],\r\n m = [],\r\n p = [],\r\n q = 0,\r\n g,\r\n t,\r\n r,\r\n n,\r\n u,\r\n y = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n x = this._eventManager.ghostCtx;\r\n b.save();\r\n w && x.save();\r\n b.beginPath();\r\n b.rect(l.x1, l.y1, l.width, l.height);\r\n b.clip();\r\n w && (x.beginPath(), x.rect(l.x1, l.y1, l.width, l.height), x.clip());\r\n for (var e = [], z = 0; z < a.dataSeriesIndexes.length; z++) {\r\n var G = a.dataSeriesIndexes[z],\r\n C = this.data[G],\r\n v = C.dataPoints;\r\n C.dataPointIndexes = [];\r\n for (q = 0; q < v.length; q++)\r\n (G = v[q].x.getTime ? v[q].x.getTime() : v[q].x),\r\n (C.dataPointIndexes[G] = q),\r\n e[G] || (m.push(G), (e[G] = !0));\r\n m.sort(Qa);\r\n }\r\n for (z = 0; z < a.dataSeriesIndexes.length; z++) {\r\n G = a.dataSeriesIndexes[z];\r\n C = this.data[G];\r\n v = C.dataPoints;\r\n n = !0;\r\n e = C.id;\r\n this._eventManager.objectMap[e] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: G,\r\n };\r\n e = Q(e);\r\n x.fillStyle = e;\r\n k = [];\r\n if (0 < m.length) {\r\n var e = C._colorSet[q % C._colorSet.length],\r\n A = (C.lineColor = C.options.lineColor || e),\r\n M = A;\r\n b.fillStyle = e;\r\n b.strokeStyle = A;\r\n b.lineWidth = C.lineThickness;\r\n u = 'solid';\r\n if (b.setLineDash) {\r\n var S = J(C.nullDataLineDashType, C.lineThickness);\r\n u = C.lineDashType;\r\n var B = J(u, C.lineThickness);\r\n b.setLineDash(B);\r\n }\r\n for (var Z = !0, q = 0; q < m.length; q++) {\r\n var f = m[q],\r\n ia = null,\r\n ia =\r\n 0 <= C.dataPointIndexes[f]\r\n ? v[C.dataPointIndexes[f]]\r\n : { x: f, y: null };\r\n if (\r\n !(\r\n f < a.axisX.dataInfo.viewPortMin ||\r\n (f > a.axisX.dataInfo.viewPortMax &&\r\n (!C.connectNullData || !Z))\r\n )\r\n )\r\n if ('number' !== typeof ia.y)\r\n C.connectNullData || Z || n || d(), (Z = !0);\r\n else {\r\n var oa;\r\n oa =\r\n 0 !== a.dataPointYSums[f]\r\n ? 100 * (ia.y / a.dataPointYSums[f])\r\n : 0;\r\n g = a.axisX.convertValueToPixel(f);\r\n var na = h[f] ? h[f] : 0;\r\n if (\r\n a.axisY.logarithmic ||\r\n (a.axisY.scaleBreaks &&\r\n 0 < a.axisY.scaleBreaks._appliedBreaks.length)\r\n ) {\r\n p[f] = oa + (p[f] ? p[f] : 0);\r\n if (0 >= p[f] && a.axisY.logarithmic) continue;\r\n t = a.axisY.convertValueToPixel(p[f]);\r\n } else (t = a.axisY.convertValueToPixel(oa)), (t -= na);\r\n k.push({ x: g, y: y - na });\r\n h[f] = y - t;\r\n n || Z\r\n ? (!n && C.connectNullData\r\n ? (b.setLineDash &&\r\n (C.options.nullDataLineDashType ||\r\n (u === C.lineDashType &&\r\n C.lineDashType !== C.nullDataLineDashType)) &&\r\n ((n = k.pop()),\r\n (u = k[k.length - 1]),\r\n d(),\r\n b.moveTo(r.x, r.y),\r\n k.push(u),\r\n k.push(n),\r\n (u = C.nullDataLineDashType),\r\n b.setLineDash(S)),\r\n b.lineTo(g, t),\r\n w && x.lineTo(g, t))\r\n : (b.beginPath(),\r\n b.moveTo(g, t),\r\n w && (x.beginPath(), x.moveTo(g, t))),\r\n (Z = n = !1))\r\n : (b.lineTo(g, t),\r\n w && x.lineTo(g, t),\r\n 0 == q % 250 &&\r\n (d(),\r\n b.moveTo(g, t),\r\n w && x.moveTo(g, t),\r\n k.push({ x: g, y: y - na })));\r\n r = { x: g, y: t };\r\n q < v.length - 1 &&\r\n (M !== (v[q].lineColor || A) ||\r\n u !== (v[q].lineDashType || C.lineDashType)) &&\r\n (d(),\r\n b.beginPath(),\r\n b.moveTo(g, t),\r\n k.push({ x: g, y: y - na }),\r\n (M = v[q].lineColor || A),\r\n (b.strokeStyle = M),\r\n b.setLineDash &&\r\n (v[q].lineDashType\r\n ? ((u = v[q].lineDashType),\r\n b.setLineDash(J(u, C.lineThickness)))\r\n : ((u = C.lineDashType), b.setLineDash(B))));\r\n if (0 <= C.dataPointIndexes[f]) {\r\n var F = C.dataPointIds[C.dataPointIndexes[f]];\r\n this._eventManager.objectMap[F] = {\r\n id: F,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: G,\r\n dataPointIndex: C.dataPointIndexes[f],\r\n x1: g,\r\n y1: t,\r\n };\r\n }\r\n 0 <= C.dataPointIndexes[f] &&\r\n 0 !== ia.markerSize &&\r\n (0 < ia.markerSize || 0 < C.markerSize) &&\r\n ((na = C.getMarkerProperties(q, g, t, b)),\r\n s.push(na),\r\n (f = Q(F)),\r\n w &&\r\n s.push({\r\n x: g,\r\n y: t,\r\n ctx: x,\r\n type: na.type,\r\n size: na.size,\r\n color: f,\r\n borderColor: f,\r\n borderThickness: na.borderThickness,\r\n }));\r\n (ia.indexLabel ||\r\n C.indexLabel ||\r\n ia.indexLabelFormatter ||\r\n C.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'stackedArea100',\r\n dataPoint: ia,\r\n dataSeries: C,\r\n point: { x: g, y: t },\r\n direction: 0 > v[q].y === a.axisY.reversed ? 1 : -1,\r\n color: e,\r\n });\r\n }\r\n }\r\n d();\r\n b.moveTo(g, t);\r\n w && x.moveTo(g, t);\r\n }\r\n delete C.dataPointIndexes;\r\n }\r\n aa.drawMarkers(s);\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(l.x1, l.y1, l.width, l.height),\r\n x.restore());\r\n b.restore();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderBubble = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = this.plotArea,\r\n e = 0,\r\n f,\r\n l;\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(b.x1, b.y1, b.width, b.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(b.x1, b.y1, b.width, b.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (\r\n var s = -Infinity, h = Infinity, k = 0;\r\n k < a.dataSeriesIndexes.length;\r\n k++\r\n )\r\n for (\r\n var m = a.dataSeriesIndexes[k],\r\n p = this.data[m],\r\n q = p.dataPoints,\r\n g = 0,\r\n e = 0;\r\n e < q.length;\r\n e++\r\n )\r\n (f = q[e].getTime ? (f = q[e].x.getTime()) : (f = q[e].x)),\r\n f < a.axisX.dataInfo.viewPortMin ||\r\n f > a.axisX.dataInfo.viewPortMax ||\r\n 'undefined' === typeof q[e].z ||\r\n ((g = q[e].z), g > s && (s = g), g < h && (h = g));\r\n for (\r\n var t = 25 * Math.PI,\r\n r = Math.max(\r\n Math.pow((0.25 * Math.min(b.height, b.width)) / 2, 2) * Math.PI,\r\n t\r\n ),\r\n k = 0;\r\n k < a.dataSeriesIndexes.length;\r\n k++\r\n )\r\n if (\r\n ((m = a.dataSeriesIndexes[k]),\r\n (p = this.data[m]),\r\n (q = p.dataPoints),\r\n 0 < q.length)\r\n )\r\n for (c.strokeStyle = '#4572A7 ', e = 0; e < q.length; e++)\r\n if (\r\n ((f = q[e].getTime ? (f = q[e].x.getTime()) : (f = q[e].x)),\r\n !(\r\n f < a.axisX.dataInfo.viewPortMin ||\r\n f > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof q[e].y)\r\n ) {\r\n f = a.axisX.convertValueToPixel(f);\r\n l = a.axisY.convertValueToPixel(q[e].y);\r\n var g = q[e].z,\r\n n =\r\n 2 *\r\n Math.max(\r\n Math.sqrt(\r\n (s === h ? r / 2 : t + ((r - t) / (s - h)) * (g - h)) /\r\n Math.PI\r\n ) << 0,\r\n 1\r\n ),\r\n g = p.getMarkerProperties(e, c);\r\n g.size = n;\r\n c.globalAlpha = p.fillOpacity;\r\n aa.drawMarker(\r\n f,\r\n l,\r\n c,\r\n g.type,\r\n g.size,\r\n g.color,\r\n g.borderColor,\r\n g.borderThickness\r\n );\r\n c.globalAlpha = 1;\r\n var u = p.dataPointIds[e];\r\n this._eventManager.objectMap[u] = {\r\n id: u,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: m,\r\n dataPointIndex: e,\r\n x1: f,\r\n y1: l,\r\n size: n,\r\n };\r\n n = Q(u);\r\n w &&\r\n aa.drawMarker(\r\n f,\r\n l,\r\n this._eventManager.ghostCtx,\r\n g.type,\r\n g.size,\r\n n,\r\n n,\r\n g.borderThickness\r\n );\r\n (q[e].indexLabel ||\r\n p.indexLabel ||\r\n q[e].indexLabelFormatter ||\r\n p.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'bubble',\r\n dataPoint: q[e],\r\n dataSeries: p,\r\n point: { x: f, y: l },\r\n direction: 1,\r\n bounds: {\r\n x1: f - g.size / 2,\r\n y1: l - g.size / 2,\r\n x2: f + g.size / 2,\r\n y2: l + g.size / 2,\r\n },\r\n color: null,\r\n });\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(b.x1, b.y1, b.width, b.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderScatter = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = this.plotArea,\r\n e = 0,\r\n f,\r\n l;\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(b.x1, b.y1, b.width, b.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(b.x1, b.y1, b.width, b.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (var s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var h = a.dataSeriesIndexes[s],\r\n k = this.data[h],\r\n m = k.dataPoints;\r\n if (0 < m.length) {\r\n c.strokeStyle = '#4572A7 ';\r\n Math.pow((0.3 * Math.min(b.height, b.width)) / 2, 2);\r\n for (var p = 0, q = 0, e = 0; e < m.length; e++)\r\n if (\r\n ((f = m[e].getTime ? (f = m[e].x.getTime()) : (f = m[e].x)),\r\n !(\r\n f < a.axisX.dataInfo.viewPortMin ||\r\n f > a.axisX.dataInfo.viewPortMax\r\n ) && 'number' === typeof m[e].y)\r\n ) {\r\n f = a.axisX.convertValueToPixel(f);\r\n l = a.axisY.convertValueToPixel(m[e].y);\r\n var g = k.getMarkerProperties(e, f, l, c);\r\n c.globalAlpha = k.fillOpacity;\r\n aa.drawMarker(\r\n g.x,\r\n g.y,\r\n g.ctx,\r\n g.type,\r\n g.size,\r\n g.color,\r\n g.borderColor,\r\n g.borderThickness\r\n );\r\n c.globalAlpha = 1;\r\n (Math.sqrt((p - f) * (p - f) + (q - l) * (q - l)) <\r\n Math.min(g.size, 5) &&\r\n m.length >\r\n Math.min(this.plotArea.width, this.plotArea.height)) ||\r\n ((p = k.dataPointIds[e]),\r\n (this._eventManager.objectMap[p] = {\r\n id: p,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: e,\r\n x1: f,\r\n y1: l,\r\n }),\r\n (p = Q(p)),\r\n w &&\r\n aa.drawMarker(\r\n g.x,\r\n g.y,\r\n this._eventManager.ghostCtx,\r\n g.type,\r\n g.size,\r\n p,\r\n p,\r\n g.borderThickness\r\n ),\r\n (m[e].indexLabel ||\r\n k.indexLabel ||\r\n m[e].indexLabelFormatter ||\r\n k.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'scatter',\r\n dataPoint: m[e],\r\n dataSeries: k,\r\n point: { x: f, y: l },\r\n direction: 1,\r\n bounds: {\r\n x1: f - g.size / 2,\r\n y1: l - g.size / 2,\r\n x2: f + g.size / 2,\r\n y2: l + g.size / 2,\r\n },\r\n color: null,\r\n }),\r\n (p = f),\r\n (q = l));\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(b.x1, b.y1, b.width, b.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderCandlestick = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d,\r\n b = this._eventManager.ghostCtx;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = null,\r\n f = null,\r\n l = this.plotArea,\r\n s = 0,\r\n h,\r\n k,\r\n m,\r\n p,\r\n q,\r\n g,\r\n e = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n f = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 0.015 * this.width,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.7 *\r\n l.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n e > f &&\r\n (e = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n f\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n f < e &&\r\n (f = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n e\r\n ));\r\n t < e && (t = e);\r\n t > f && (t = f);\r\n c.save();\r\n w && b.save();\r\n c.beginPath();\r\n c.rect(l.x1, l.y1, l.width, l.height);\r\n c.clip();\r\n w && (b.beginPath(), b.rect(l.x1, l.y1, l.width, l.height), b.clip());\r\n for (var n = 0; n < a.dataSeriesIndexes.length; n++) {\r\n var fa = a.dataSeriesIndexes[n],\r\n u = this.data[fa],\r\n y = u.dataPoints;\r\n if (0 < y.length)\r\n for (\r\n var x = 5 < t && u.bevelEnabled ? !0 : !1, s = 0;\r\n s < y.length;\r\n s++\r\n )\r\n if (\r\n (y[s].getTime ? (g = y[s].x.getTime()) : (g = y[s].x),\r\n !(\r\n g < a.axisX.dataInfo.viewPortMin ||\r\n g > a.axisX.dataInfo.viewPortMax\r\n ) &&\r\n !r(y[s].y) &&\r\n y[s].y.length &&\r\n 'number' === typeof y[s].y[0] &&\r\n 'number' === typeof y[s].y[1] &&\r\n 'number' === typeof y[s].y[2] &&\r\n 'number' === typeof y[s].y[3])\r\n ) {\r\n h = a.axisX.convertValueToPixel(g);\r\n k = a.axisY.convertValueToPixel(y[s].y[0]);\r\n m = a.axisY.convertValueToPixel(y[s].y[1]);\r\n p = a.axisY.convertValueToPixel(y[s].y[2]);\r\n q = a.axisY.convertValueToPixel(y[s].y[3]);\r\n var z = (h - t / 2) << 0,\r\n G = (z + t) << 0,\r\n f = u.options.fallingColor ? u.fallingColor : u._colorSet[0],\r\n e = y[s].color ? y[s].color : u._colorSet[0],\r\n C = Math.round(Math.max(1, 0.15 * t)),\r\n v = 0 === C % 2 ? 0 : 0.5,\r\n A = u.dataPointIds[s];\r\n this._eventManager.objectMap[A] = {\r\n id: A,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: fa,\r\n dataPointIndex: s,\r\n x1: z,\r\n y1: k,\r\n x2: G,\r\n y2: m,\r\n x3: h,\r\n y3: p,\r\n x4: h,\r\n y4: q,\r\n borderThickness: C,\r\n color: e,\r\n };\r\n c.strokeStyle = e;\r\n c.beginPath();\r\n c.lineWidth = C;\r\n b.lineWidth = Math.max(C, 4);\r\n 'candlestick' === u.type\r\n ? (c.moveTo(h - v, m),\r\n c.lineTo(h - v, Math.min(k, q)),\r\n c.stroke(),\r\n c.moveTo(h - v, Math.max(k, q)),\r\n c.lineTo(h - v, p),\r\n c.stroke(),\r\n da(\r\n c,\r\n z,\r\n Math.min(k, q),\r\n G,\r\n Math.max(k, q),\r\n y[s].y[0] <= y[s].y[3] ? u.risingColor : f,\r\n C,\r\n e,\r\n x,\r\n x,\r\n !1,\r\n !1,\r\n u.fillOpacity\r\n ),\r\n w &&\r\n ((e = Q(A)),\r\n (b.strokeStyle = e),\r\n b.moveTo(h - v, m),\r\n b.lineTo(h - v, Math.min(k, q)),\r\n b.stroke(),\r\n b.moveTo(h - v, Math.max(k, q)),\r\n b.lineTo(h - v, p),\r\n b.stroke(),\r\n da(\r\n b,\r\n z,\r\n Math.min(k, q),\r\n G,\r\n Math.max(k, q),\r\n e,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n )))\r\n : 'ohlc' === u.type &&\r\n (c.moveTo(h - v, m),\r\n c.lineTo(h - v, p),\r\n c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(h, k),\r\n c.lineTo(z, k),\r\n c.stroke(),\r\n c.beginPath(),\r\n c.moveTo(h, q),\r\n c.lineTo(G, q),\r\n c.stroke(),\r\n w &&\r\n ((e = Q(A)),\r\n (b.strokeStyle = e),\r\n b.moveTo(h - v, m),\r\n b.lineTo(h - v, p),\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(h, k),\r\n b.lineTo(z, k),\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(h, q),\r\n b.lineTo(G, q),\r\n b.stroke()));\r\n (y[s].indexLabel ||\r\n u.indexLabel ||\r\n y[s].indexLabelFormatter ||\r\n u.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: u.type,\r\n dataPoint: y[s],\r\n dataSeries: u,\r\n point: { x: z + (G - z) / 2, y: a.axisY.reversed ? p : m },\r\n direction: 1,\r\n bounds: {\r\n x1: z,\r\n y1: Math.min(m, p),\r\n x2: G,\r\n y2: Math.max(m, p),\r\n },\r\n color: e,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(l.x1, l.y1, l.width, l.height),\r\n b.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderBoxAndWhisker = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d,\r\n b = this._eventManager.ghostCtx;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = null,\r\n f = this.plotArea,\r\n l = 0,\r\n s,\r\n h,\r\n k,\r\n m,\r\n p,\r\n q,\r\n g,\r\n e = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1,\r\n l = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 0.015 * this.width,\r\n t = a.axisX.dataInfo.minDiff;\r\n isFinite(t) || (t = 0.3 * Math.abs(a.axisX.range));\r\n t = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.7 *\r\n f.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(t) / Math.log(a.axisX.range)\r\n : Math.abs(t) / Math.abs(a.axisX.range))) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n e > l &&\r\n (e = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n l\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n l < e &&\r\n (l = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n e\r\n ));\r\n t < e && (t = e);\r\n t > l && (t = l);\r\n c.save();\r\n w && b.save();\r\n c.beginPath();\r\n c.rect(f.x1, f.y1, f.width, f.height);\r\n c.clip();\r\n w && (b.beginPath(), b.rect(f.x1, f.y1, f.width, f.height), b.clip());\r\n for (\r\n var n = !1, n = !!a.axisY.reversed, fa = 0;\r\n fa < a.dataSeriesIndexes.length;\r\n fa++\r\n ) {\r\n var u = a.dataSeriesIndexes[fa],\r\n y = this.data[u],\r\n x = y.dataPoints;\r\n if (0 < x.length)\r\n for (\r\n var z = 5 < t && y.bevelEnabled ? !0 : !1, l = 0;\r\n l < x.length;\r\n l++\r\n )\r\n if (\r\n (x[l].getTime ? (g = x[l].x.getTime()) : (g = x[l].x),\r\n !(\r\n g < a.axisX.dataInfo.viewPortMin ||\r\n g > a.axisX.dataInfo.viewPortMax\r\n ) &&\r\n !r(x[l].y) &&\r\n x[l].y.length &&\r\n 'number' === typeof x[l].y[0] &&\r\n 'number' === typeof x[l].y[1] &&\r\n 'number' === typeof x[l].y[2] &&\r\n 'number' === typeof x[l].y[3] &&\r\n 'number' === typeof x[l].y[4] &&\r\n 5 === x[l].y.length)\r\n ) {\r\n s = a.axisX.convertValueToPixel(g);\r\n h = a.axisY.convertValueToPixel(x[l].y[0]);\r\n k = a.axisY.convertValueToPixel(x[l].y[1]);\r\n m = a.axisY.convertValueToPixel(x[l].y[2]);\r\n p = a.axisY.convertValueToPixel(x[l].y[3]);\r\n q = a.axisY.convertValueToPixel(x[l].y[4]);\r\n var v = (s - t / 2) << 0,\r\n C = (s + t / 2) << 0,\r\n e = x[l].color ? x[l].color : y._colorSet[0],\r\n A = Math.round(Math.max(1, 0.15 * t)),\r\n B = 0 === A % 2 ? 0 : 0.5,\r\n M = x[l].whiskerColor\r\n ? x[l].whiskerColor\r\n : x[l].color\r\n ? y.whiskerColor\r\n ? y.whiskerColor\r\n : x[l].color\r\n : y.whiskerColor\r\n ? y.whiskerColor\r\n : e,\r\n S =\r\n 'number' === typeof x[l].whiskerThickness\r\n ? x[l].whiskerThickness\r\n : 'number' === typeof y.options.whiskerThickness\r\n ? y.whiskerThickness\r\n : A,\r\n ca = x[l].whiskerDashType\r\n ? x[l].whiskerDashType\r\n : y.whiskerDashType,\r\n Z = r(x[l].whiskerLength)\r\n ? r(y.options.whiskerLength)\r\n ? t\r\n : y.whiskerLength\r\n : x[l].whiskerLength,\r\n Z =\r\n 'number' === typeof Z\r\n ? 0 >= Z\r\n ? 0\r\n : Z >= t\r\n ? t\r\n : Z\r\n : 'string' === typeof Z\r\n ? (parseInt(Z) * t) / 100 > t\r\n ? t\r\n : (parseInt(Z) * t) / 100\r\n : t,\r\n ia = 1 === Math.round(S) % 2 ? 0.5 : 0,\r\n oa = x[l].stemColor\r\n ? x[l].stemColor\r\n : x[l].color\r\n ? y.stemColor\r\n ? y.stemColor\r\n : x[l].color\r\n : y.stemColor\r\n ? y.stemColor\r\n : e,\r\n na =\r\n 'number' === typeof x[l].stemThickness\r\n ? x[l].stemThickness\r\n : 'number' === typeof y.options.stemThickness\r\n ? y.stemThickness\r\n : A,\r\n F = 1 === Math.round(na) % 2 ? 0.5 : 0,\r\n E = x[l].stemDashType ? x[l].stemDashType : y.stemDashType,\r\n K = x[l].lineColor\r\n ? x[l].lineColor\r\n : x[l].color\r\n ? y.lineColor\r\n ? y.lineColor\r\n : x[l].color\r\n : y.lineColor\r\n ? y.lineColor\r\n : e,\r\n I =\r\n 'number' === typeof x[l].lineThickness\r\n ? x[l].lineThickness\r\n : 'number' === typeof y.options.lineThickness\r\n ? y.lineThickness\r\n : A,\r\n P = x[l].lineDashType ? x[l].lineDashType : y.lineDashType,\r\n L = 1 === Math.round(I) % 2 ? 0.5 : 0,\r\n O = y.upperBoxColor,\r\n T = y.lowerBoxColor,\r\n ua = r(y.options.fillOpacity) ? 1 : y.fillOpacity,\r\n R = y.dataPointIds[l];\r\n this._eventManager.objectMap[R] = {\r\n id: R,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: u,\r\n dataPointIndex: l,\r\n x1: v,\r\n y1: h,\r\n x2: C,\r\n y2: k,\r\n x3: s,\r\n y3: m,\r\n x4: s,\r\n y4: p,\r\n y5: q,\r\n borderThickness: A,\r\n color: e,\r\n stemThickness: na,\r\n stemColor: oa,\r\n whiskerThickness: S,\r\n whiskerLength: Z,\r\n whiskerColor: M,\r\n lineThickness: I,\r\n lineColor: K,\r\n };\r\n c.save();\r\n 0 < na &&\r\n (c.beginPath(),\r\n (c.strokeStyle = oa),\r\n (c.lineWidth = na),\r\n c.setLineDash && c.setLineDash(J(E, na)),\r\n c.moveTo(s - F, k),\r\n c.lineTo(s - F, h),\r\n c.stroke(),\r\n c.moveTo(s - F, p),\r\n c.lineTo(s - F, m),\r\n c.stroke());\r\n c.restore();\r\n b.lineWidth = Math.max(A, 4);\r\n c.beginPath();\r\n da(\r\n c,\r\n v,\r\n Math.min(q, k),\r\n C,\r\n Math.max(k, q),\r\n T,\r\n 0,\r\n e,\r\n n ? z : !1,\r\n n ? !1 : z,\r\n !1,\r\n !1,\r\n ua\r\n );\r\n c.beginPath();\r\n da(\r\n c,\r\n v,\r\n Math.min(m, q),\r\n C,\r\n Math.max(q, m),\r\n O,\r\n 0,\r\n e,\r\n n ? !1 : z,\r\n n ? z : !1,\r\n !1,\r\n !1,\r\n ua\r\n );\r\n c.beginPath();\r\n c.lineWidth = A;\r\n c.strokeStyle = e;\r\n c.rect(\r\n v - B,\r\n Math.min(k, m) - B,\r\n C - v + 2 * B,\r\n Math.max(k, m) - Math.min(k, m) + 2 * B\r\n );\r\n c.stroke();\r\n c.save();\r\n 0 < I &&\r\n (c.beginPath(),\r\n (c.globalAlpha = 1),\r\n c.setLineDash && c.setLineDash(J(P, I)),\r\n (c.strokeStyle = K),\r\n (c.lineWidth = I),\r\n c.moveTo(v, q - L),\r\n c.lineTo(C, q - L),\r\n c.stroke());\r\n c.restore();\r\n c.save();\r\n 0 < S &&\r\n (c.beginPath(),\r\n c.setLineDash && c.setLineDash(J(ca, S)),\r\n (c.strokeStyle = M),\r\n (c.lineWidth = S),\r\n c.moveTo((s - Z / 2) << 0, p - ia),\r\n c.lineTo((s + Z / 2) << 0, p - ia),\r\n c.stroke(),\r\n c.moveTo((s - Z / 2) << 0, h + ia),\r\n c.lineTo((s + Z / 2) << 0, h + ia),\r\n c.stroke());\r\n c.restore();\r\n w &&\r\n ((e = Q(R)),\r\n (b.strokeStyle = e),\r\n (b.lineWidth = na),\r\n 0 < na &&\r\n (b.moveTo(s - B - F, k),\r\n b.lineTo(s - B - F, Math.max(h, p)),\r\n b.stroke(),\r\n b.moveTo(s - B - F, Math.min(h, p)),\r\n b.lineTo(s - B - F, m),\r\n b.stroke()),\r\n da(\r\n b,\r\n v,\r\n Math.max(k, m),\r\n C,\r\n Math.min(k, m),\r\n e,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n ),\r\n 0 < S &&\r\n (b.beginPath(),\r\n (b.lineWidth = S),\r\n b.moveTo(s + Z / 2, p - ia),\r\n b.lineTo(s - Z / 2, p - ia),\r\n b.stroke(),\r\n b.moveTo(s + Z / 2, h + ia),\r\n b.lineTo(s - Z / 2, h + ia),\r\n b.stroke()));\r\n (x[l].indexLabel ||\r\n y.indexLabel ||\r\n x[l].indexLabelFormatter ||\r\n y.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: y.type,\r\n dataPoint: x[l],\r\n dataSeries: y,\r\n point: { x: v + (C - v) / 2, y: a.axisY.reversed ? h : p },\r\n direction: 1,\r\n bounds: {\r\n x1: v,\r\n y1: Math.min(h, p),\r\n x2: C,\r\n y2: Math.max(h, p),\r\n },\r\n color: e,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(f.x1, f.y1, f.width, f.height),\r\n b.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderRangeColumn = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = 0,\r\n l,\r\n s,\r\n h,\r\n f = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1;\r\n l = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 0.03 * this.width;\r\n var k = a.axisX.dataInfo.minDiff;\r\n isFinite(k) || (k = 0.3 * Math.abs(a.axisX.range));\r\n k = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(k) / Math.log(a.axisX.range)\r\n : Math.abs(k) / Math.abs(a.axisX.range))) /\r\n a.plotType.totalDataSeries)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n f > l &&\r\n (f = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n l\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n l < f &&\r\n (l = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n f\r\n ));\r\n k < f && (k = f);\r\n k > l && (k = l);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (var m = 0; m < a.dataSeriesIndexes.length; m++) {\r\n var p = a.dataSeriesIndexes[m],\r\n q = this.data[p],\r\n g = q.dataPoints;\r\n if (0 < g.length)\r\n for (\r\n var t = 5 < k && q.bevelEnabled ? !0 : !1, f = 0;\r\n f < g.length;\r\n f++\r\n )\r\n if (\r\n (g[f].getTime ? (h = g[f].x.getTime()) : (h = g[f].x),\r\n !(\r\n h < a.axisX.dataInfo.viewPortMin ||\r\n h > a.axisX.dataInfo.viewPortMax\r\n ) &&\r\n !r(g[f].y) &&\r\n g[f].y.length &&\r\n 'number' === typeof g[f].y[0] &&\r\n 'number' === typeof g[f].y[1])\r\n ) {\r\n b = a.axisX.convertValueToPixel(h);\r\n l = a.axisY.convertValueToPixel(g[f].y[0]);\r\n s = a.axisY.convertValueToPixel(g[f].y[1]);\r\n var n = a.axisX.reversed\r\n ? (b +\r\n (a.plotType.totalDataSeries * k) / 2 -\r\n (a.previousDataSeriesCount + m) * k) <<\r\n 0\r\n : (b -\r\n (a.plotType.totalDataSeries * k) / 2 +\r\n (a.previousDataSeriesCount + m) * k) <<\r\n 0,\r\n fa = a.axisX.reversed ? (n - k) << 0 : (n + k) << 0,\r\n b = g[f].color\r\n ? g[f].color\r\n : q._colorSet[f % q._colorSet.length];\r\n if (l > s) {\r\n var u = l;\r\n l = s;\r\n s = u;\r\n }\r\n u = q.dataPointIds[f];\r\n this._eventManager.objectMap[u] = {\r\n id: u,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: p,\r\n dataPointIndex: f,\r\n x1: n,\r\n y1: l,\r\n x2: fa,\r\n y2: s,\r\n };\r\n da(\r\n c,\r\n a.axisX.reversed ? fa : n,\r\n l,\r\n a.axisX.reversed ? n : fa,\r\n s,\r\n b,\r\n 0,\r\n b,\r\n t,\r\n t,\r\n !1,\r\n !1,\r\n q.fillOpacity\r\n );\r\n b = Q(u);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n a.axisX.reversed ? fa : n,\r\n l,\r\n a.axisX.reversed ? n : fa,\r\n s,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n if (\r\n g[f].indexLabel ||\r\n q.indexLabel ||\r\n g[f].indexLabelFormatter ||\r\n q.indexLabelFormatter\r\n )\r\n this._indexLabels.push({\r\n chartType: 'rangeColumn',\r\n dataPoint: g[f],\r\n dataSeries: q,\r\n indexKeyword: 0,\r\n point: {\r\n x: n + (fa - n) / 2,\r\n y: g[f].y[1] >= g[f].y[0] ? s : l,\r\n },\r\n direction: g[f].y[1] >= g[f].y[0] ? -1 : 1,\r\n bounds: {\r\n x1: n,\r\n y1: Math.min(l, s),\r\n x2: fa,\r\n y2: Math.max(l, s),\r\n },\r\n color: b,\r\n }),\r\n this._indexLabels.push({\r\n chartType: 'rangeColumn',\r\n dataPoint: g[f],\r\n dataSeries: q,\r\n indexKeyword: 1,\r\n point: {\r\n x: n + (fa - n) / 2,\r\n y: g[f].y[1] >= g[f].y[0] ? l : s,\r\n },\r\n direction: g[f].y[1] >= g[f].y[0] ? 1 : -1,\r\n bounds: {\r\n x1: n,\r\n y1: Math.min(l, s),\r\n x2: fa,\r\n y2: Math.max(l, s),\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderError = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d,\r\n b = a.axisY._position\r\n ? 'left' === a.axisY._position || 'right' === a.axisY._position\r\n ? !1\r\n : !0\r\n : !1;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = null,\r\n f = !1,\r\n l = this.plotArea,\r\n s = 0,\r\n h,\r\n k,\r\n m,\r\n p,\r\n q,\r\n g,\r\n t,\r\n n = a.axisX.dataInfo.minDiff;\r\n isFinite(n) || (n = 0.3 * Math.abs(a.axisX.range));\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(l.x1, l.y1, l.width, l.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(l.x1, l.y1, l.width, l.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (var fa = 0, u = 0; u < this.data.length; u++)\r\n !this.data[u].type.match(/(bar|column)/gi) ||\r\n !this.data[u].visible ||\r\n (this.data[u].type.match(/(stacked)/gi) && fa) ||\r\n fa++;\r\n for (var y = 0; y < a.dataSeriesIndexes.length; y++) {\r\n var x = a.dataSeriesIndexes[y],\r\n z = this.data[x],\r\n v = z.dataPoints,\r\n C = r(z._linkedSeries)\r\n ? !1\r\n : z._linkedSeries.type.match(/(bar|column)/gi) &&\r\n z._linkedSeries.visible\r\n ? !0\r\n : !1,\r\n A = 0;\r\n if (C)\r\n for (e = z._linkedSeries.id, u = 0; u < e; u++)\r\n !this.data[u].type.match(/(bar|column)/gi) ||\r\n !this.data[u].visible ||\r\n (this.data[u].type.match(/(stacked)/gi) && A) ||\r\n (this.data[u].type.match(/(range)/gi) && (f = !0), A++);\r\n e = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1;\r\n s = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : b\r\n ? Math.min(\r\n 0.15 * this.height,\r\n 0.9 * (this.plotArea.height / (C ? fa : 1))\r\n ) << 0\r\n : 0.3 * this.width;\r\n f &&\r\n (s = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : b\r\n ? Math.min(\r\n 0.15 * this.height,\r\n 0.9 * (this.plotArea.height / (C ? fa : 1))\r\n ) << 0\r\n : 0.03 * this.width);\r\n u = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n (((b ? l.height : l.width) *\r\n (a.axisX.logarithmic\r\n ? Math.log(n) / Math.log(a.axisX.range)\r\n : Math.abs(n) / Math.abs(a.axisX.range))) /\r\n (C ? fa : 1))) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n e > s &&\r\n (e = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n s\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n s < e &&\r\n (s = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n e\r\n ));\r\n u < e && (u = e);\r\n u > s && (u = s);\r\n if (0 < v.length)\r\n for (var E = z._colorSet, s = 0; s < v.length; s++) {\r\n var e = (z.lineColor = z.options.color ? z.options.color : E[0]),\r\n M = {\r\n color: v[s].whiskerColor\r\n ? v[s].whiskerColor\r\n : v[s].color\r\n ? z.whiskerColor\r\n ? z.whiskerColor\r\n : v[s].color\r\n : z.whiskerColor\r\n ? z.whiskerColor\r\n : e,\r\n thickness: r(v[s].whiskerThickness)\r\n ? z.whiskerThickness\r\n : v[s].whiskerThickness,\r\n dashType: v[s].whiskerDashType\r\n ? v[s].whiskerDashType\r\n : z.whiskerDashType,\r\n length: r(v[s].whiskerLength)\r\n ? r(z.options.whiskerLength)\r\n ? u\r\n : z.options.whiskerLength\r\n : v[s].whiskerLength,\r\n trimLength: r(v[s].whiskerLength)\r\n ? r(z.options.whiskerLength)\r\n ? 50\r\n : 0\r\n : 0,\r\n };\r\n M.length =\r\n 'number' === typeof M.length\r\n ? 0 >= M.length\r\n ? 0\r\n : M.length >= u\r\n ? u\r\n : M.length\r\n : 'string' === typeof M.length\r\n ? (parseInt(M.length) * u) / 100 > u\r\n ? u\r\n : (parseInt(M.length) * u) / 100 > u\r\n : u;\r\n M.thickness =\r\n 'number' === typeof M.thickness\r\n ? 0 > M.thickness\r\n ? 0\r\n : Math.round(M.thickness)\r\n : 2;\r\n var S = {\r\n color: v[s].stemColor\r\n ? v[s].stemColor\r\n : v[s].color\r\n ? z.stemColor\r\n ? z.stemColor\r\n : v[s].color\r\n : z.stemColor\r\n ? z.stemColor\r\n : e,\r\n thickness: v[s].stemThickness\r\n ? v[s].stemThickness\r\n : z.stemThickness,\r\n dashType: v[s].stemDashType\r\n ? v[s].stemDashType\r\n : z.stemDashType,\r\n };\r\n S.thickness =\r\n 'number' === typeof S.thickness\r\n ? 0 > S.thickness\r\n ? 0\r\n : Math.round(S.thickness)\r\n : 2;\r\n v[s].getTime ? (t = v[s].x.getTime()) : (t = v[s].x);\r\n if (\r\n !(\r\n t < a.axisX.dataInfo.viewPortMin ||\r\n t > a.axisX.dataInfo.viewPortMax\r\n ) &&\r\n !r(v[s].y) &&\r\n v[s].y.length &&\r\n 'number' === typeof v[s].y[0] &&\r\n 'number' === typeof v[s].y[1]\r\n ) {\r\n var ca = a.axisX.convertValueToPixel(t);\r\n b ? (k = ca) : (h = ca);\r\n ca = a.axisY.convertValueToPixel(v[s].y[0]);\r\n b ? (m = ca) : (q = ca);\r\n ca = a.axisY.convertValueToPixel(v[s].y[1]);\r\n b ? (p = ca) : (g = ca);\r\n b\r\n ? ((q = a.axisX.reversed\r\n ? (k + ((C ? fa : 1) * u) / 2 - (C ? A - 1 : 0) * u) << 0\r\n : (k - ((C ? fa : 1) * u) / 2 + (C ? A - 1 : 0) * u) <<\r\n 0),\r\n (g = a.axisX.reversed ? (q - u) << 0 : (q + u) << 0))\r\n : ((m = a.axisX.reversed\r\n ? (h + ((C ? fa : 1) * u) / 2 - (C ? A - 1 : 0) * u) << 0\r\n : (h - ((C ? fa : 1) * u) / 2 + (C ? A - 1 : 0) * u) <<\r\n 0),\r\n (p = a.axisX.reversed ? (m - u) << 0 : (m + u) << 0));\r\n !b && q > g && ((ca = q), (q = g), (g = ca));\r\n b && m > p && ((ca = m), (m = p), (p = ca));\r\n ca = z.dataPointIds[s];\r\n this._eventManager.objectMap[ca] = {\r\n id: ca,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: x,\r\n dataPointIndex: s,\r\n x1: Math.min(m, p),\r\n y1: Math.min(q, g),\r\n x2: Math.max(p, m),\r\n y2: Math.max(g, q),\r\n isXYSwapped: b,\r\n stemProperties: S,\r\n whiskerProperties: M,\r\n };\r\n B(\r\n c,\r\n Math.min(m, p),\r\n Math.min(q, g),\r\n Math.max(p, m),\r\n Math.max(g, q),\r\n e,\r\n M,\r\n S,\r\n b\r\n );\r\n w && B(this._eventManager.ghostCtx, m, q, p, g, e, M, S, b);\r\n if (\r\n v[s].indexLabel ||\r\n z.indexLabel ||\r\n v[s].indexLabelFormatter ||\r\n z.indexLabelFormatter\r\n )\r\n this._indexLabels.push({\r\n chartType: 'error',\r\n dataPoint: v[s],\r\n dataSeries: z,\r\n indexKeyword: 0,\r\n point: {\r\n x: b ? (v[s].y[1] >= v[s].y[0] ? m : p) : m + (p - m) / 2,\r\n y: b ? q + (g - q) / 2 : v[s].y[1] >= v[s].y[0] ? g : q,\r\n },\r\n direction: v[s].y[1] >= v[s].y[0] ? -1 : 1,\r\n bounds: {\r\n x1: b ? Math.min(m, p) : m,\r\n y1: b ? q : Math.min(q, g),\r\n x2: b ? Math.max(m, p) : p,\r\n y2: b ? g : Math.max(q, g),\r\n },\r\n color: e,\r\n axisSwapped: b,\r\n }),\r\n this._indexLabels.push({\r\n chartType: 'error',\r\n dataPoint: v[s],\r\n dataSeries: z,\r\n indexKeyword: 1,\r\n point: {\r\n x: b\r\n ? v[s].y[1] >= v[s].y[0]\r\n ? p\r\n : m\r\n : m + (p - m) / 2,\r\n y: b ? q + (g - q) / 2 : v[s].y[1] >= v[s].y[0] ? q : g,\r\n },\r\n direction: v[s].y[1] >= v[s].y[0] ? 1 : -1,\r\n bounds: {\r\n x1: b ? Math.min(m, p) : m,\r\n y1: b ? q : Math.min(q, g),\r\n x2: b ? Math.max(m, p) : p,\r\n y2: b ? g : Math.max(q, g),\r\n },\r\n color: e,\r\n axisSwapped: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(l.x1, l.y1, l.width, l.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderRangeBar = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = null,\r\n e = this.plotArea,\r\n f = 0,\r\n l,\r\n s,\r\n h,\r\n k,\r\n f = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1;\r\n l = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : Math.min(\r\n 0.15 * this.height,\r\n 0.9 * (this.plotArea.height / a.plotType.totalDataSeries)\r\n ) << 0;\r\n var m = a.axisX.dataInfo.minDiff;\r\n isFinite(m) || (m = 0.3 * Math.abs(a.axisX.range));\r\n m = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.9 *\r\n ((e.height *\r\n (a.axisX.logarithmic\r\n ? Math.log(m) / Math.log(a.axisX.range)\r\n : Math.abs(m) / Math.abs(a.axisX.range))) /\r\n a.plotType.totalDataSeries)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n f > l &&\r\n (f = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n l\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n l < f &&\r\n (l = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n f\r\n ));\r\n m < f && (m = f);\r\n m > l && (m = l);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(e.x1, e.y1, e.width, e.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (var p = 0; p < a.dataSeriesIndexes.length; p++) {\r\n var q = a.dataSeriesIndexes[p],\r\n g = this.data[q],\r\n t = g.dataPoints;\r\n if (0 < t.length) {\r\n var n = 5 < m && g.bevelEnabled ? !0 : !1;\r\n c.strokeStyle = '#4572A7 ';\r\n for (f = 0; f < t.length; f++)\r\n if (\r\n (t[f].getTime ? (k = t[f].x.getTime()) : (k = t[f].x),\r\n !(\r\n k < a.axisX.dataInfo.viewPortMin ||\r\n k > a.axisX.dataInfo.viewPortMax\r\n ) &&\r\n !r(t[f].y) &&\r\n t[f].y.length &&\r\n 'number' === typeof t[f].y[0] &&\r\n 'number' === typeof t[f].y[1])\r\n ) {\r\n l = a.axisY.convertValueToPixel(t[f].y[0]);\r\n s = a.axisY.convertValueToPixel(t[f].y[1]);\r\n h = a.axisX.convertValueToPixel(k);\r\n h = a.axisX.reversed\r\n ? (h +\r\n (a.plotType.totalDataSeries * m) / 2 -\r\n (a.previousDataSeriesCount + p) * m) <<\r\n 0\r\n : (h -\r\n (a.plotType.totalDataSeries * m) / 2 +\r\n (a.previousDataSeriesCount + p) * m) <<\r\n 0;\r\n var v = a.axisX.reversed ? (h - m) << 0 : (h + m) << 0;\r\n l > s && ((b = l), (l = s), (s = b));\r\n b = t[f].color\r\n ? t[f].color\r\n : g._colorSet[f % g._colorSet.length];\r\n da(\r\n c,\r\n l,\r\n a.axisX.reversed ? v : h,\r\n s,\r\n a.axisX.reversed ? h : v,\r\n b,\r\n 0,\r\n null,\r\n n,\r\n !1,\r\n !1,\r\n !1,\r\n g.fillOpacity\r\n );\r\n b = g.dataPointIds[f];\r\n this._eventManager.objectMap[b] = {\r\n id: b,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: q,\r\n dataPointIndex: f,\r\n x1: l,\r\n y1: h,\r\n x2: s,\r\n y2: v,\r\n };\r\n b = Q(b);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n l,\r\n a.axisX.reversed ? v : h,\r\n s,\r\n a.axisX.reversed ? h : v,\r\n b,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n if (\r\n t[f].indexLabel ||\r\n g.indexLabel ||\r\n t[f].indexLabelFormatter ||\r\n g.indexLabelFormatter\r\n )\r\n this._indexLabels.push({\r\n chartType: 'rangeBar',\r\n dataPoint: t[f],\r\n dataSeries: g,\r\n indexKeyword: 0,\r\n point: {\r\n x: t[f].y[1] >= t[f].y[0] ? l : s,\r\n y: h + (v - h) / 2,\r\n },\r\n direction: t[f].y[1] >= t[f].y[0] ? -1 : 1,\r\n bounds: {\r\n x1: Math.min(l, s),\r\n y1: h,\r\n x2: Math.max(l, s),\r\n y2: v,\r\n },\r\n color: b,\r\n }),\r\n this._indexLabels.push({\r\n chartType: 'rangeBar',\r\n dataPoint: t[f],\r\n dataSeries: g,\r\n indexKeyword: 1,\r\n point: {\r\n x: t[f].y[1] >= t[f].y[0] ? s : l,\r\n y: h + (v - h) / 2,\r\n },\r\n direction: t[f].y[1] >= t[f].y[0] ? 1 : -1,\r\n bounds: {\r\n x1: Math.min(l, s),\r\n y1: h,\r\n x2: Math.max(l, s),\r\n y2: v,\r\n },\r\n color: b,\r\n });\r\n }\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(e.x1, e.y1, e.width, e.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderRangeArea = function (a) {\r\n function d() {\r\n if (y) {\r\n for (var a = null, c = h.length - 1; 0 <= c; c--)\r\n (a = h[c]), b.lineTo(a.x, a.y2), e.lineTo(a.x, a.y2);\r\n b.closePath();\r\n b.globalAlpha = m.fillOpacity;\r\n b.fill();\r\n b.globalAlpha = 1;\r\n e.fill();\r\n if (0 < m.lineThickness) {\r\n b.beginPath();\r\n b.moveTo(a.x, a.y2);\r\n for (c = 0; c < h.length; c++) (a = h[c]), b.lineTo(a.x, a.y2);\r\n b.moveTo(h[0].x, h[0].y1);\r\n for (c = 0; c < h.length; c++) (a = h[c]), b.lineTo(a.x, a.y1);\r\n b.stroke();\r\n }\r\n b.beginPath();\r\n b.moveTo(t, r);\r\n e.beginPath();\r\n e.moveTo(t, r);\r\n y = { x: t, y: r };\r\n h = [];\r\n h.push({ x: t, y1: r, y2: n });\r\n }\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = this._eventManager.ghostCtx,\r\n f = [],\r\n l = this.plotArea;\r\n b.save();\r\n w && e.save();\r\n b.beginPath();\r\n b.rect(l.x1, l.y1, l.width, l.height);\r\n b.clip();\r\n w && (e.beginPath(), e.rect(l.x1, l.y1, l.width, l.height), e.clip());\r\n for (var s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var h = [],\r\n k = a.dataSeriesIndexes[s],\r\n m = this.data[k],\r\n p = m.dataPoints,\r\n f = m.id;\r\n this._eventManager.objectMap[f] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: k,\r\n };\r\n f = Q(f);\r\n e.fillStyle = f;\r\n var f = [],\r\n q = !0,\r\n g = 0,\r\n t,\r\n r,\r\n n,\r\n u,\r\n y = null;\r\n if (0 < p.length) {\r\n var x = m._colorSet[g % m._colorSet.length],\r\n v = (m.lineColor = m.options.lineColor || x),\r\n A = v;\r\n b.fillStyle = x;\r\n b.strokeStyle = v;\r\n b.lineWidth = m.lineThickness;\r\n var C = 'solid';\r\n if (b.setLineDash) {\r\n var B = J(m.nullDataLineDashType, m.lineThickness),\r\n C = m.lineDashType,\r\n E = J(C, m.lineThickness);\r\n b.setLineDash(E);\r\n }\r\n for (var M = !0; g < p.length; g++)\r\n if (\r\n ((u = p[g].x.getTime ? p[g].x.getTime() : p[g].x),\r\n !(\r\n u < a.axisX.dataInfo.viewPortMin ||\r\n (u > a.axisX.dataInfo.viewPortMax &&\r\n (!m.connectNullData || !M))\r\n ))\r\n )\r\n if (\r\n null !== p[g].y &&\r\n p[g].y.length &&\r\n 'number' === typeof p[g].y[0] &&\r\n 'number' === typeof p[g].y[1]\r\n ) {\r\n t = a.axisX.convertValueToPixel(u);\r\n r = a.axisY.convertValueToPixel(p[g].y[0]);\r\n n = a.axisY.convertValueToPixel(p[g].y[1]);\r\n q || M\r\n ? (m.connectNullData && !q\r\n ? (b.setLineDash &&\r\n (m.options.nullDataLineDashType ||\r\n (C === m.lineDashType &&\r\n m.lineDashType !== m.nullDataLineDashType)) &&\r\n ((h[h.length - 1].newLineDashArray = E),\r\n (C = m.nullDataLineDashType),\r\n b.setLineDash(B)),\r\n b.lineTo(t, r),\r\n w && e.lineTo(t, r),\r\n h.push({ x: t, y1: r, y2: n }))\r\n : (b.beginPath(),\r\n b.moveTo(t, r),\r\n (y = { x: t, y: r }),\r\n (h = []),\r\n h.push({ x: t, y1: r, y2: n }),\r\n w && (e.beginPath(), e.moveTo(t, r))),\r\n (M = q = !1))\r\n : (b.lineTo(t, r),\r\n h.push({ x: t, y1: r, y2: n }),\r\n w && e.lineTo(t, r),\r\n 0 == g % 250 && d());\r\n u = m.dataPointIds[g];\r\n this._eventManager.objectMap[u] = {\r\n id: u,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: k,\r\n dataPointIndex: g,\r\n x1: t,\r\n y1: r,\r\n y2: n,\r\n };\r\n g < p.length - 1 &&\r\n (A !== (p[g].lineColor || v) ||\r\n C !== (p[g].lineDashType || m.lineDashType)) &&\r\n (d(),\r\n (A = p[g].lineColor || v),\r\n (h[h.length - 1].newStrokeStyle = A),\r\n (b.strokeStyle = A),\r\n b.setLineDash &&\r\n (p[g].lineDashType\r\n ? ((C = p[g].lineDashType),\r\n (h[h.length - 1].newLineDashArray = J(\r\n C,\r\n m.lineThickness\r\n )),\r\n b.setLineDash(h[h.length - 1].newLineDashArray))\r\n : ((C = m.lineDashType),\r\n (h[h.length - 1].newLineDashArray = E),\r\n b.setLineDash(E))));\r\n if (\r\n 0 !== p[g].markerSize &&\r\n (0 < p[g].markerSize || 0 < m.markerSize)\r\n ) {\r\n var S = m.getMarkerProperties(g, t, n, b);\r\n f.push(S);\r\n var ca = Q(u);\r\n w &&\r\n f.push({\r\n x: t,\r\n y: n,\r\n ctx: e,\r\n type: S.type,\r\n size: S.size,\r\n color: ca,\r\n borderColor: ca,\r\n borderThickness: S.borderThickness,\r\n });\r\n S = m.getMarkerProperties(g, t, r, b);\r\n f.push(S);\r\n ca = Q(u);\r\n w &&\r\n f.push({\r\n x: t,\r\n y: r,\r\n ctx: e,\r\n type: S.type,\r\n size: S.size,\r\n color: ca,\r\n borderColor: ca,\r\n borderThickness: S.borderThickness,\r\n });\r\n }\r\n if (\r\n p[g].indexLabel ||\r\n m.indexLabel ||\r\n p[g].indexLabelFormatter ||\r\n m.indexLabelFormatter\r\n )\r\n this._indexLabels.push({\r\n chartType: 'rangeArea',\r\n dataPoint: p[g],\r\n dataSeries: m,\r\n indexKeyword: 0,\r\n point: { x: t, y: r },\r\n direction:\r\n p[g].y[0] > p[g].y[1] === a.axisY.reversed ? -1 : 1,\r\n color: x,\r\n }),\r\n this._indexLabels.push({\r\n chartType: 'rangeArea',\r\n dataPoint: p[g],\r\n dataSeries: m,\r\n indexKeyword: 1,\r\n point: { x: t, y: n },\r\n direction:\r\n p[g].y[0] > p[g].y[1] === a.axisY.reversed ? 1 : -1,\r\n color: x,\r\n });\r\n } else M || q || d(), (M = !0);\r\n d();\r\n aa.drawMarkers(f);\r\n }\r\n }\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(l.x1, l.y1, l.width, l.height),\r\n this._eventManager.ghostCtx.restore());\r\n b.restore();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderRangeSplineArea = function (a) {\r\n function d(a, c) {\r\n var d = v(r, 2);\r\n if (0 < d.length) {\r\n if (0 < k.lineThickness) {\r\n b.strokeStyle = c;\r\n b.setLineDash && b.setLineDash(a);\r\n b.beginPath();\r\n b.moveTo(d[0].x, d[0].y);\r\n for (var f = 0; f < d.length - 3; f += 3) {\r\n if (d[f].newStrokeStyle || d[f].newLineDashArray)\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(d[f].x, d[f].y),\r\n d[f].newStrokeStyle && (b.strokeStyle = d[f].newStrokeStyle),\r\n d[f].newLineDashArray && b.setLineDash(d[f].newLineDashArray);\r\n b.bezierCurveTo(\r\n d[f + 1].x,\r\n d[f + 1].y,\r\n d[f + 2].x,\r\n d[f + 2].y,\r\n d[f + 3].x,\r\n d[f + 3].y\r\n );\r\n }\r\n }\r\n b.beginPath();\r\n b.moveTo(d[0].x, d[0].y);\r\n w && (e.beginPath(), e.moveTo(d[0].x, d[0].y));\r\n for (f = 0; f < d.length - 3; f += 3)\r\n b.bezierCurveTo(\r\n d[f + 1].x,\r\n d[f + 1].y,\r\n d[f + 2].x,\r\n d[f + 2].y,\r\n d[f + 3].x,\r\n d[f + 3].y\r\n ),\r\n w &&\r\n e.bezierCurveTo(\r\n d[f + 1].x,\r\n d[f + 1].y,\r\n d[f + 2].x,\r\n d[f + 2].y,\r\n d[f + 3].x,\r\n d[f + 3].y\r\n );\r\n d = v(n, 2);\r\n b.lineTo(n[n.length - 1].x, n[n.length - 1].y);\r\n for (f = d.length - 1; 2 < f; f -= 3)\r\n b.bezierCurveTo(\r\n d[f - 1].x,\r\n d[f - 1].y,\r\n d[f - 2].x,\r\n d[f - 2].y,\r\n d[f - 3].x,\r\n d[f - 3].y\r\n ),\r\n w &&\r\n e.bezierCurveTo(\r\n d[f - 1].x,\r\n d[f - 1].y,\r\n d[f - 2].x,\r\n d[f - 2].y,\r\n d[f - 3].x,\r\n d[f - 3].y\r\n );\r\n b.closePath();\r\n b.globalAlpha = k.fillOpacity;\r\n b.fill();\r\n w && (e.closePath(), e.fill());\r\n b.globalAlpha = 1;\r\n if (0 < k.lineThickness) {\r\n b.strokeStyle = c;\r\n b.setLineDash && b.setLineDash(a);\r\n b.beginPath();\r\n b.moveTo(d[0].x, d[0].y);\r\n for (var g = (f = 0); f < d.length - 3; f += 3, g++) {\r\n if (r[g].newStrokeStyle || r[g].newLineDashArray)\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(d[f].x, d[f].y),\r\n r[g].newStrokeStyle && (b.strokeStyle = r[g].newStrokeStyle),\r\n r[g].newLineDashArray && b.setLineDash(r[g].newLineDashArray);\r\n b.bezierCurveTo(\r\n d[f + 1].x,\r\n d[f + 1].y,\r\n d[f + 2].x,\r\n d[f + 2].y,\r\n d[f + 3].x,\r\n d[f + 3].y\r\n );\r\n }\r\n d = v(r, 2);\r\n b.moveTo(d[0].x, d[0].y);\r\n for (g = f = 0; f < d.length - 3; f += 3, g++) {\r\n if (r[g].newStrokeStyle || r[g].newLineDashArray)\r\n b.stroke(),\r\n b.beginPath(),\r\n b.moveTo(d[f].x, d[f].y),\r\n r[g].newStrokeStyle && (b.strokeStyle = r[g].newStrokeStyle),\r\n r[g].newLineDashArray && b.setLineDash(r[g].newLineDashArray);\r\n b.bezierCurveTo(\r\n d[f + 1].x,\r\n d[f + 1].y,\r\n d[f + 2].x,\r\n d[f + 2].y,\r\n d[f + 3].x,\r\n d[f + 3].y\r\n );\r\n }\r\n b.stroke();\r\n }\r\n b.beginPath();\r\n }\r\n }\r\n var c = a.targetCanvasCtx || this.plotArea.ctx,\r\n b = w ? this._preRenderCtx : c;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var e = this._eventManager.ghostCtx,\r\n f = [],\r\n l = this.plotArea;\r\n b.save();\r\n w && e.save();\r\n b.beginPath();\r\n b.rect(l.x1, l.y1, l.width, l.height);\r\n b.clip();\r\n w && (e.beginPath(), e.rect(l.x1, l.y1, l.width, l.height), e.clip());\r\n for (var s = 0; s < a.dataSeriesIndexes.length; s++) {\r\n var h = a.dataSeriesIndexes[s],\r\n k = this.data[h],\r\n m = k.dataPoints,\r\n f = k.id;\r\n this._eventManager.objectMap[f] = {\r\n objectType: 'dataSeries',\r\n dataSeriesIndex: h,\r\n };\r\n f = Q(f);\r\n e.fillStyle = f;\r\n var f = [],\r\n p = 0,\r\n q,\r\n g,\r\n t,\r\n r = [],\r\n n = [];\r\n if (0 < m.length) {\r\n var u = k._colorSet[p % k._colorSet.length],\r\n y = (k.lineColor = k.options.lineColor || u),\r\n x = y;\r\n b.fillStyle = u;\r\n b.lineWidth = k.lineThickness;\r\n var z = 'solid',\r\n A;\r\n if (b.setLineDash) {\r\n var C = J(k.nullDataLineDashType, k.lineThickness),\r\n z = k.lineDashType;\r\n A = J(z, k.lineThickness);\r\n }\r\n for (g = !1; p < m.length; p++)\r\n if (\r\n ((q = m[p].x.getTime ? m[p].x.getTime() : m[p].x),\r\n !(\r\n q < a.axisX.dataInfo.viewPortMin ||\r\n (q > a.axisX.dataInfo.viewPortMax &&\r\n (!k.connectNullData || !g))\r\n ))\r\n )\r\n if (\r\n null !== m[p].y &&\r\n m[p].y.length &&\r\n 'number' === typeof m[p].y[0] &&\r\n 'number' === typeof m[p].y[1]\r\n ) {\r\n q = a.axisX.convertValueToPixel(q);\r\n g = a.axisY.convertValueToPixel(m[p].y[0]);\r\n t = a.axisY.convertValueToPixel(m[p].y[1]);\r\n var B = k.dataPointIds[p];\r\n this._eventManager.objectMap[B] = {\r\n id: B,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: h,\r\n dataPointIndex: p,\r\n x1: q,\r\n y1: g,\r\n y2: t,\r\n };\r\n r[r.length] = { x: q, y: g };\r\n n[n.length] = { x: q, y: t };\r\n p < m.length - 1 &&\r\n (x !== (m[p].lineColor || y) ||\r\n z !== (m[p].lineDashType || k.lineDashType)) &&\r\n ((x = m[p].lineColor || y),\r\n (r[r.length - 1].newStrokeStyle = x),\r\n b.setLineDash &&\r\n (m[p].lineDashType\r\n ? ((z = m[p].lineDashType),\r\n (r[r.length - 1].newLineDashArray = J(\r\n z,\r\n k.lineThickness\r\n )))\r\n : ((z = k.lineDashType),\r\n (r[r.length - 1].newLineDashArray = A))));\r\n if (\r\n 0 !== m[p].markerSize &&\r\n (0 < m[p].markerSize || 0 < k.markerSize)\r\n ) {\r\n var I = k.getMarkerProperties(p, q, g, b);\r\n f.push(I);\r\n var M = Q(B);\r\n w &&\r\n f.push({\r\n x: q,\r\n y: g,\r\n ctx: e,\r\n type: I.type,\r\n size: I.size,\r\n color: M,\r\n borderColor: M,\r\n borderThickness: I.borderThickness,\r\n });\r\n I = k.getMarkerProperties(p, q, t, b);\r\n f.push(I);\r\n M = Q(B);\r\n w &&\r\n f.push({\r\n x: q,\r\n y: t,\r\n ctx: e,\r\n type: I.type,\r\n size: I.size,\r\n color: M,\r\n borderColor: M,\r\n borderThickness: I.borderThickness,\r\n });\r\n }\r\n if (\r\n m[p].indexLabel ||\r\n k.indexLabel ||\r\n m[p].indexLabelFormatter ||\r\n k.indexLabelFormatter\r\n )\r\n this._indexLabels.push({\r\n chartType: 'rangeSplineArea',\r\n dataPoint: m[p],\r\n dataSeries: k,\r\n indexKeyword: 0,\r\n point: { x: q, y: g },\r\n direction: m[p].y[0] <= m[p].y[1] ? -1 : 1,\r\n color: u,\r\n }),\r\n this._indexLabels.push({\r\n chartType: 'rangeSplineArea',\r\n dataPoint: m[p],\r\n dataSeries: k,\r\n indexKeyword: 1,\r\n point: { x: q, y: t },\r\n direction: m[p].y[0] <= m[p].y[1] ? 1 : -1,\r\n color: u,\r\n });\r\n g = !1;\r\n } else\r\n 0 < p &&\r\n !g &&\r\n (k.connectNullData\r\n ? b.setLineDash &&\r\n 0 < r.length &&\r\n (k.options.nullDataLineDashType ||\r\n !m[p - 1].lineDashType) &&\r\n ((r[r.length - 1].newLineDashArray = C),\r\n (z = k.nullDataLineDashType))\r\n : (d(A, y), (r = []), (n = []))),\r\n (g = !0);\r\n d(A, y);\r\n aa.drawMarkers(f);\r\n }\r\n }\r\n w &&\r\n (c.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (b.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n b.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n b.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n b.clearRect(l.x1, l.y1, l.width, l.height),\r\n this._eventManager.ghostCtx.restore());\r\n b.restore();\r\n return {\r\n source: c,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.xClipAnimation,\r\n easingFunction: N.easing.linear,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n n.prototype.renderWaterfall = function (a) {\r\n var d = a.targetCanvasCtx || this.plotArea.ctx,\r\n c = w ? this._preRenderCtx : d;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var b = this._eventManager.ghostCtx,\r\n e = null,\r\n f = this.plotArea,\r\n l = 0,\r\n s,\r\n h,\r\n k,\r\n m,\r\n p = a.axisY.convertValueToPixel(\r\n a.axisY.logarithmic ? a.axisY.viewportMinimum : 0\r\n ),\r\n l = this.options.dataPointMinWidth\r\n ? this.dataPointMinWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : 1;\r\n h = this.options.dataPointMaxWidth\r\n ? this.dataPointMaxWidth\r\n : this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : Math.min(\r\n 0.15 * this.width,\r\n 0.9 * (this.plotArea.width / a.plotType.totalDataSeries)\r\n ) << 0;\r\n var q = a.axisX.dataInfo.minDiff;\r\n isFinite(q) || (q = 0.3 * Math.abs(a.axisX.range));\r\n q = this.options.dataPointWidth\r\n ? this.dataPointWidth\r\n : (0.6 *\r\n ((f.width *\r\n (a.axisX.logarithmic\r\n ? Math.log(q) / Math.log(a.axisX.range)\r\n : Math.abs(q) / Math.abs(a.axisX.range))) /\r\n a.plotType.totalDataSeries)) <<\r\n 0;\r\n this.dataPointMaxWidth &&\r\n l > h &&\r\n (l = Math.min(\r\n this.options.dataPointWidth ? this.dataPointWidth : Infinity,\r\n h\r\n ));\r\n !this.dataPointMaxWidth &&\r\n this.dataPointMinWidth &&\r\n h < l &&\r\n (h = Math.max(\r\n this.options.dataPointWidth ? this.dataPointWidth : -Infinity,\r\n l\r\n ));\r\n q < l && (q = l);\r\n q > h && (q = h);\r\n c.save();\r\n w && this._eventManager.ghostCtx.save();\r\n c.beginPath();\r\n c.rect(f.x1, f.y1, f.width, f.height);\r\n c.clip();\r\n w &&\r\n (this._eventManager.ghostCtx.beginPath(),\r\n this._eventManager.ghostCtx.rect(f.x1, f.y1, f.width, f.height),\r\n this._eventManager.ghostCtx.clip());\r\n for (var g = 0; g < a.dataSeriesIndexes.length; g++) {\r\n var t = a.dataSeriesIndexes[g],\r\n r = this.data[t],\r\n n = r.dataPoints,\r\n e = r._colorSet[0];\r\n r.risingColor = r.options.risingColor ? r.options.risingColor : e;\r\n r.fallingColor = r.options.fallingColor\r\n ? r.options.fallingColor\r\n : '#e40a0a';\r\n var u =\r\n 'number' === typeof r.options.lineThickness\r\n ? Math.round(r.lineThickness)\r\n : 1,\r\n y = 1 === Math.round(u) % 2 ? -0.5 : 0;\r\n if (0 < n.length)\r\n for (\r\n var x = 5 < q && r.bevelEnabled ? !0 : !1,\r\n v = !1,\r\n A = null,\r\n C = null,\r\n l = 0;\r\n l < n.length;\r\n l++\r\n )\r\n if (\r\n (n[l].getTime ? (m = n[l].x.getTime()) : (m = n[l].x),\r\n 'number' !== typeof n[l].y)\r\n ) {\r\n if (0 < l && !v && r.connectNullData)\r\n var B =\r\n r.options.nullDataLineDashType || !n[l - 1].lineDashType\r\n ? r.nullDataLineDashType\r\n : n[l - 1].lineDashType;\r\n v = !0;\r\n } else {\r\n s = a.axisX.convertValueToPixel(m);\r\n h =\r\n 0 === r.dataPointEOs[l].cumulativeSum\r\n ? p\r\n : a.axisY.convertValueToPixel(\r\n r.dataPointEOs[l].cumulativeSum\r\n );\r\n k =\r\n 0 === r.dataPointEOs[l].cumulativeSumYStartValue\r\n ? p\r\n : a.axisY.convertValueToPixel(\r\n r.dataPointEOs[l].cumulativeSumYStartValue\r\n );\r\n s = a.axisX.reversed\r\n ? (s +\r\n (a.plotType.totalDataSeries * q) / 2 -\r\n (a.previousDataSeriesCount + g) * q) <<\r\n 0\r\n : (s -\r\n (a.plotType.totalDataSeries * q) / 2 +\r\n (a.previousDataSeriesCount + g) * q) <<\r\n 0;\r\n var E = a.axisX.reversed ? (s - q) << 0 : (s + q) << 0;\r\n h > k && ((e = h), (h = k), (k = e));\r\n a.axisY.reversed && ((e = h), (h = k), (k = e));\r\n e = r.dataPointIds[l];\r\n this._eventManager.objectMap[e] = {\r\n id: e,\r\n objectType: 'dataPoint',\r\n dataSeriesIndex: t,\r\n dataPointIndex: l,\r\n x1: s,\r\n y1: h,\r\n x2: E,\r\n y2: k,\r\n };\r\n var M = n[l].color\r\n ? n[l].color\r\n : 0 < n[l].y\r\n ? r.risingColor\r\n : r.fallingColor;\r\n da(\r\n c,\r\n a.axisX.reversed ? E : s,\r\n a.axisY.reversed ? k : h,\r\n a.axisX.reversed ? s : E,\r\n a.axisY.reversed ? h : k,\r\n M,\r\n 0,\r\n M,\r\n x,\r\n x,\r\n !1,\r\n !1,\r\n r.fillOpacity\r\n );\r\n e = Q(e);\r\n w &&\r\n da(\r\n this._eventManager.ghostCtx,\r\n a.axisX.reversed ? E : s,\r\n h,\r\n a.axisX.reversed ? s : E,\r\n k,\r\n e,\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n );\r\n var S,\r\n M = s;\r\n S =\r\n ('undefined' !== typeof n[l].isIntermediateSum &&\r\n !0 === n[l].isIntermediateSum) ||\r\n ('undefined' !== typeof n[l].isCumulativeSum &&\r\n !0 === n[l].isCumulativeSum)\r\n ? 0 < n[l].y\r\n ? h\r\n : k\r\n : 0 < n[l].y\r\n ? k\r\n : h;\r\n 0 < l &&\r\n A &&\r\n (!v || r.connectNullData) &&\r\n (v && c.setLineDash && c.setLineDash(J(B, u)),\r\n c.beginPath(),\r\n c.moveTo(A, C - y),\r\n c.lineTo(M, S - y),\r\n 0 < u && c.stroke(),\r\n w &&\r\n (b.beginPath(),\r\n b.moveTo(A, C - y),\r\n b.lineTo(M, S - y),\r\n 0 < u && b.stroke()));\r\n v = !1;\r\n A = E;\r\n C = 0 < n[l].y ? h : k;\r\n M = n[l].lineDashType\r\n ? n[l].lineDashType\r\n : r.options.lineDashType\r\n ? r.options.lineDashType\r\n : 'shortDash';\r\n c.strokeStyle = n[l].lineColor\r\n ? n[l].lineColor\r\n : r.options.lineColor\r\n ? r.options.lineColor\r\n : '#9e9e9e';\r\n c.lineWidth = u;\r\n c.setLineDash && ((M = J(M, u)), c.setLineDash(M));\r\n (n[l].indexLabel ||\r\n r.indexLabel ||\r\n n[l].indexLabelFormatter ||\r\n r.indexLabelFormatter) &&\r\n this._indexLabels.push({\r\n chartType: 'waterfall',\r\n dataPoint: n[l],\r\n dataSeries: r,\r\n point: { x: s + (E - s) / 2, y: 0 <= n[l].y ? h : k },\r\n direction: 0 > n[l].y === a.axisY.reversed ? 1 : -1,\r\n bounds: {\r\n x1: s,\r\n y1: Math.min(h, k),\r\n x2: E,\r\n y2: Math.max(h, k),\r\n },\r\n color: e,\r\n });\r\n }\r\n }\r\n w &&\r\n (d.drawImage(this._preRenderCanvas, 0, 0, this.width, this.height),\r\n (c.globalCompositeOperation = 'source-atop'),\r\n a.axisX.maskCanvas &&\r\n c.drawImage(a.axisX.maskCanvas, 0, 0, this.width, this.height),\r\n a.axisY.maskCanvas &&\r\n c.drawImage(a.axisY.maskCanvas, 0, 0, this.width, this.height),\r\n this._breaksCanvasCtx &&\r\n this._breaksCanvasCtx.drawImage(\r\n this._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.width,\r\n this.height\r\n ),\r\n c.clearRect(f.x1, f.y1, f.width, f.height),\r\n this._eventManager.ghostCtx.restore());\r\n c.restore();\r\n return {\r\n source: d,\r\n dest: this.plotArea.ctx,\r\n animationCallback: N.fadeInAnimation,\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n };\r\n var ra = function (a, d, c, b, e, f, l, h, r) {\r\n if (!(0 > c)) {\r\n 'undefined' === typeof h && (h = 1);\r\n if (!w) {\r\n var k = Number((l % (2 * Math.PI)).toFixed(8));\r\n Number((f % (2 * Math.PI)).toFixed(8)) === k && (l -= 1e-4);\r\n }\r\n a.save();\r\n a.globalAlpha = h;\r\n 'pie' === e\r\n ? (a.beginPath(),\r\n a.moveTo(d.x, d.y),\r\n a.arc(d.x, d.y, c, f, l, !1),\r\n (a.fillStyle = b),\r\n (a.strokeStyle = 'white'),\r\n (a.lineWidth = 2),\r\n a.closePath(),\r\n a.fill())\r\n : 'doughnut' === e &&\r\n (a.beginPath(),\r\n a.arc(d.x, d.y, c, f, l, !1),\r\n 0 <= r && a.arc(d.x, d.y, r * c, l, f, !0),\r\n a.closePath(),\r\n (a.fillStyle = b),\r\n (a.strokeStyle = 'white'),\r\n (a.lineWidth = 2),\r\n a.fill());\r\n a.globalAlpha = 1;\r\n a.restore();\r\n }\r\n };\r\n n.prototype.renderPie = function (a) {\r\n function d() {\r\n if (k && m) {\r\n for (var a = 0, b = 0, c = 0, d = 0, e = 0; e < m.length; e++) {\r\n var f = m[e],\r\n l = k.dataPointIds[e];\r\n g[e].id = l;\r\n g[e].objectType = 'dataPoint';\r\n g[e].dataPointIndex = e;\r\n g[e].dataSeriesIndex = 0;\r\n var h = g[e],\r\n p = { percent: null, total: null },\r\n s = null,\r\n p = n.getPercentAndTotal(k, f);\r\n if (k.indexLabelFormatter || f.indexLabelFormatter)\r\n s = {\r\n chart: n.options,\r\n dataSeries: k,\r\n dataPoint: f,\r\n total: p.total,\r\n percent: p.percent,\r\n };\r\n p = f.indexLabelFormatter\r\n ? f.indexLabelFormatter(s)\r\n : f.indexLabel\r\n ? n.replaceKeywordsWithValue(f.indexLabel, f, k, e)\r\n : k.indexLabelFormatter\r\n ? k.indexLabelFormatter(s)\r\n : k.indexLabel\r\n ? n.replaceKeywordsWithValue(k.indexLabel, f, k, e)\r\n : f.label\r\n ? f.label\r\n : '';\r\n n._eventManager.objectMap[l] = h;\r\n h.center = { x: x.x, y: x.y };\r\n h.y = f.y;\r\n h.radius = C;\r\n h.percentInnerRadius = E;\r\n h.indexLabelText = p;\r\n h.indexLabelPlacement = k.indexLabelPlacement;\r\n h.indexLabelLineColor = f.indexLabelLineColor\r\n ? f.indexLabelLineColor\r\n : k.options.indexLabelLineColor\r\n ? k.options.indexLabelLineColor\r\n : f.color\r\n ? f.color\r\n : k._colorSet[e % k._colorSet.length];\r\n h.indexLabelLineThickness = r(f.indexLabelLineThickness)\r\n ? k.indexLabelLineThickness\r\n : f.indexLabelLineThickness;\r\n h.indexLabelLineDashType = f.indexLabelLineDashType\r\n ? f.indexLabelLineDashType\r\n : k.indexLabelLineDashType;\r\n h.indexLabelFontColor = f.indexLabelFontColor\r\n ? f.indexLabelFontColor\r\n : k.indexLabelFontColor;\r\n h.indexLabelFontStyle = f.indexLabelFontStyle\r\n ? f.indexLabelFontStyle\r\n : k.indexLabelFontStyle;\r\n h.indexLabelFontWeight = f.indexLabelFontWeight\r\n ? f.indexLabelFontWeight\r\n : k.indexLabelFontWeight;\r\n h.indexLabelFontSize = r(f.indexLabelFontSize)\r\n ? k.indexLabelFontSize\r\n : f.indexLabelFontSize;\r\n h.indexLabelFontFamily = f.indexLabelFontFamily\r\n ? f.indexLabelFontFamily\r\n : k.indexLabelFontFamily;\r\n h.indexLabelBackgroundColor = f.indexLabelBackgroundColor\r\n ? f.indexLabelBackgroundColor\r\n : k.options.indexLabelBackgroundColor\r\n ? k.options.indexLabelBackgroundColor\r\n : k.indexLabelBackgroundColor;\r\n h.indexLabelMaxWidth = f.indexLabelMaxWidth\r\n ? f.indexLabelMaxWidth\r\n : k.indexLabelMaxWidth\r\n ? k.indexLabelMaxWidth\r\n : 0.33 * q.width;\r\n h.indexLabelWrap =\r\n 'undefined' !== typeof f.indexLabelWrap\r\n ? f.indexLabelWrap\r\n : k.indexLabelWrap;\r\n h.indexLabelTextAlign = f.indexLabelTextAlign\r\n ? f.indexLabelTextAlign\r\n : k.indexLabelTextAlign\r\n ? k.indexLabelTextAlign\r\n : 'left';\r\n h.startAngle =\r\n 0 === e\r\n ? k.startAngle\r\n ? (k.startAngle / 180) * Math.PI\r\n : 0\r\n : g[e - 1].endAngle;\r\n h.startAngle = (h.startAngle + 2 * Math.PI) % (2 * Math.PI);\r\n h.endAngle = h.startAngle + ((2 * Math.PI) / z) * Math.abs(f.y);\r\n f = (h.endAngle + h.startAngle) / 2;\r\n f = (f + 2 * Math.PI) % (2 * Math.PI);\r\n h.midAngle = f;\r\n if (h.midAngle > Math.PI / 2 - u && h.midAngle < Math.PI / 2 + u) {\r\n if (0 === a || g[c].midAngle > h.midAngle) c = e;\r\n a++;\r\n } else if (\r\n h.midAngle > (3 * Math.PI) / 2 - u &&\r\n h.midAngle < (3 * Math.PI) / 2 + u\r\n ) {\r\n if (0 === b || g[d].midAngle > h.midAngle) d = e;\r\n b++;\r\n }\r\n h.hemisphere =\r\n f > Math.PI / 2 && f <= (3 * Math.PI) / 2 ? 'left' : 'right';\r\n h.indexLabelTextBlock = new ka(n.plotArea.ctx, {\r\n fontSize: h.indexLabelFontSize,\r\n fontFamily: h.indexLabelFontFamily,\r\n fontColor: h.indexLabelFontColor,\r\n fontStyle: h.indexLabelFontStyle,\r\n fontWeight: h.indexLabelFontWeight,\r\n textAlign: h.indexLabelTextAlign,\r\n backgroundColor: h.indexLabelBackgroundColor,\r\n maxWidth: h.indexLabelMaxWidth,\r\n maxHeight: h.indexLabelWrap\r\n ? 5 * h.indexLabelFontSize\r\n : 1.5 * h.indexLabelFontSize,\r\n text: h.indexLabelText,\r\n padding: 0,\r\n textBaseline: 'top',\r\n });\r\n h.indexLabelTextBlock.measureText();\r\n }\r\n l = f = 0;\r\n p = !1;\r\n for (e = 0; e < m.length; e++)\r\n (h = g[(c + e) % m.length]),\r\n 1 < a &&\r\n h.midAngle > Math.PI / 2 - u &&\r\n h.midAngle < Math.PI / 2 + u &&\r\n (f <= a / 2 && !p\r\n ? ((h.hemisphere = 'right'), f++)\r\n : ((h.hemisphere = 'left'), (p = !0)));\r\n p = !1;\r\n for (e = 0; e < m.length; e++)\r\n (h = g[(d + e) % m.length]),\r\n 1 < b &&\r\n h.midAngle > (3 * Math.PI) / 2 - u &&\r\n h.midAngle < (3 * Math.PI) / 2 + u &&\r\n (l <= b / 2 && !p\r\n ? ((h.hemisphere = 'left'), l++)\r\n : ((h.hemisphere = 'right'), (p = !0)));\r\n }\r\n }\r\n function c(a) {\r\n var b = n.plotArea.ctx;\r\n b.clearRect(q.x1, q.y1, q.width, q.height);\r\n b.fillStyle = n.backgroundColor;\r\n b.fillRect(q.x1, q.y1, q.width, q.height);\r\n for (b = 0; b < m.length; b++) {\r\n var c = g[b].startAngle,\r\n d = g[b].endAngle;\r\n if (d > c) {\r\n var e = 0.07 * C * Math.cos(g[b].midAngle),\r\n f = 0.07 * C * Math.sin(g[b].midAngle),\r\n l = !1;\r\n if (m[b].exploded) {\r\n if (\r\n 1e-9 < Math.abs(g[b].center.x - (x.x + e)) ||\r\n 1e-9 < Math.abs(g[b].center.y - (x.y + f))\r\n )\r\n (g[b].center.x = x.x + e * a),\r\n (g[b].center.y = x.y + f * a),\r\n (l = !0);\r\n } else if (\r\n 0 < Math.abs(g[b].center.x - x.x) ||\r\n 0 < Math.abs(g[b].center.y - x.y)\r\n )\r\n (g[b].center.x = x.x + e * (1 - a)),\r\n (g[b].center.y = x.y + f * (1 - a)),\r\n (l = !0);\r\n l &&\r\n ((e = {}),\r\n (e.dataSeries = k),\r\n (e.dataPoint = k.dataPoints[b]),\r\n (e.index = b),\r\n n.toolTip.highlightObjects([e]));\r\n ra(\r\n n.plotArea.ctx,\r\n g[b].center,\r\n g[b].radius,\r\n m[b].color ? m[b].color : k._colorSet[b % k._colorSet.length],\r\n k.type,\r\n c,\r\n d,\r\n k.fillOpacity,\r\n g[b].percentInnerRadius\r\n );\r\n }\r\n }\r\n a = n.plotArea.ctx;\r\n a.save();\r\n a.fillStyle = 'black';\r\n a.strokeStyle = 'grey';\r\n a.textBaseline = 'middle';\r\n a.lineJoin = 'round';\r\n for (b = b = 0; b < m.length; b++)\r\n (c = g[b]),\r\n c.indexLabelText &&\r\n ((c.indexLabelTextBlock.y -= c.indexLabelTextBlock.height / 2),\r\n (d = 0),\r\n (d =\r\n 'left' === c.hemisphere\r\n ? 'inside' !== k.indexLabelPlacement\r\n ? -(c.indexLabelTextBlock.width + p)\r\n : -c.indexLabelTextBlock.width / 2\r\n : 'inside' !== k.indexLabelPlacement\r\n ? p\r\n : -c.indexLabelTextBlock.width / 2),\r\n (c.indexLabelTextBlock.x += d),\r\n c.indexLabelTextBlock.render(!0),\r\n (c.indexLabelTextBlock.x -= d),\r\n (c.indexLabelTextBlock.y += c.indexLabelTextBlock.height / 2),\r\n 'inside' !== c.indexLabelPlacement &&\r\n 0 < c.indexLabelLineThickness &&\r\n ((d = c.center.x + C * Math.cos(c.midAngle)),\r\n (e = c.center.y + C * Math.sin(c.midAngle)),\r\n (a.strokeStyle = c.indexLabelLineColor),\r\n (a.lineWidth = c.indexLabelLineThickness),\r\n a.setLineDash &&\r\n a.setLineDash(\r\n J(c.indexLabelLineDashType, c.indexLabelLineThickness)\r\n ),\r\n a.beginPath(),\r\n a.moveTo(d, e),\r\n a.lineTo(c.indexLabelTextBlock.x, c.indexLabelTextBlock.y),\r\n a.lineTo(\r\n c.indexLabelTextBlock.x + ('left' === c.hemisphere ? -p : p),\r\n c.indexLabelTextBlock.y\r\n ),\r\n a.stroke()),\r\n (a.lineJoin = 'miter'));\r\n a.save();\r\n }\r\n function b(a, b) {\r\n var c = 0,\r\n c = a.indexLabelTextBlock.y - a.indexLabelTextBlock.height / 2,\r\n d = a.indexLabelTextBlock.y + a.indexLabelTextBlock.height / 2,\r\n e = b.indexLabelTextBlock.y - b.indexLabelTextBlock.height / 2,\r\n f = b.indexLabelTextBlock.y + b.indexLabelTextBlock.height / 2;\r\n return (c =\r\n b.indexLabelTextBlock.y > a.indexLabelTextBlock.y ? e - d : c - f);\r\n }\r\n function e(a) {\r\n for (var c = null, d = 1; d < m.length; d++)\r\n if (\r\n ((c = (a + d + g.length) % g.length),\r\n g[c].hemisphere !== g[a].hemisphere)\r\n ) {\r\n c = null;\r\n break;\r\n } else if (\r\n g[c].indexLabelText &&\r\n c !== a &&\r\n (0 > b(g[c], g[a]) ||\r\n ('right' === g[a].hemisphere\r\n ? g[c].indexLabelTextBlock.y >= g[a].indexLabelTextBlock.y\r\n : g[c].indexLabelTextBlock.y <= g[a].indexLabelTextBlock.y))\r\n )\r\n break;\r\n else c = null;\r\n return c;\r\n }\r\n function f(a, c, d) {\r\n d = (d || 0) + 1;\r\n if (1e3 < d) return 0;\r\n c = c || 0;\r\n var l = 0,\r\n k = x.y - 1 * w,\r\n h = x.y + 1 * w;\r\n if (0 <= a && a < m.length) {\r\n var p = g[a];\r\n if (\r\n (0 > c && p.indexLabelTextBlock.y < k) ||\r\n (0 < c && p.indexLabelTextBlock.y > h)\r\n )\r\n return 0;\r\n var q = 0,\r\n s = 0,\r\n s = (q = q = 0);\r\n 0 > c\r\n ? p.indexLabelTextBlock.y - p.indexLabelTextBlock.height / 2 > k &&\r\n p.indexLabelTextBlock.y - p.indexLabelTextBlock.height / 2 + c <\r\n k &&\r\n (c = -(\r\n k -\r\n (p.indexLabelTextBlock.y - p.indexLabelTextBlock.height / 2 + c)\r\n ))\r\n : p.indexLabelTextBlock.y + p.indexLabelTextBlock.height / 2 < k &&\r\n p.indexLabelTextBlock.y + p.indexLabelTextBlock.height / 2 + c >\r\n h &&\r\n (c =\r\n p.indexLabelTextBlock.y +\r\n p.indexLabelTextBlock.height / 2 +\r\n c -\r\n h);\r\n c = p.indexLabelTextBlock.y + c;\r\n k = 0;\r\n k =\r\n 'right' === p.hemisphere\r\n ? x.x + Math.sqrt(Math.pow(w, 2) - Math.pow(c - x.y, 2))\r\n : x.x - Math.sqrt(Math.pow(w, 2) - Math.pow(c - x.y, 2));\r\n s = x.x + C * Math.cos(p.midAngle);\r\n q = x.y + C * Math.sin(p.midAngle);\r\n q = Math.sqrt(Math.pow(k - s, 2) + Math.pow(c - q, 2));\r\n s = Math.acos(C / w);\r\n q = Math.acos((w * w + C * C - q * q) / (2 * C * w));\r\n c = q < s ? c - p.indexLabelTextBlock.y : 0;\r\n k = null;\r\n for (h = 1; h < m.length; h++)\r\n if (\r\n ((k = (a - h + g.length) % g.length),\r\n g[k].hemisphere !== g[a].hemisphere)\r\n ) {\r\n k = null;\r\n break;\r\n } else if (\r\n g[k].indexLabelText &&\r\n g[k].hemisphere === g[a].hemisphere &&\r\n k !== a &&\r\n (0 > b(g[k], g[a]) ||\r\n ('right' === g[a].hemisphere\r\n ? g[k].indexLabelTextBlock.y <= g[a].indexLabelTextBlock.y\r\n : g[k].indexLabelTextBlock.y >= g[a].indexLabelTextBlock.y))\r\n )\r\n break;\r\n else k = null;\r\n s = k;\r\n q = e(a);\r\n h = k = 0;\r\n 0 > c\r\n ? ((h = 'right' === p.hemisphere ? s : q),\r\n (l = c),\r\n null !== h &&\r\n ((s = -c),\r\n (c =\r\n p.indexLabelTextBlock.y -\r\n p.indexLabelTextBlock.height / 2 -\r\n (g[h].indexLabelTextBlock.y +\r\n g[h].indexLabelTextBlock.height / 2)),\r\n c - s < t &&\r\n ((k = -s),\r\n (h = f(h, k, d + 1)),\r\n +h.toFixed(y) > +k.toFixed(y) &&\r\n (l = c > t ? -(c - t) : -(s - (h - k))))))\r\n : 0 < c &&\r\n ((h = 'right' === p.hemisphere ? q : s),\r\n (l = c),\r\n null !== h &&\r\n ((s = c),\r\n (c =\r\n g[h].indexLabelTextBlock.y -\r\n g[h].indexLabelTextBlock.height / 2 -\r\n (p.indexLabelTextBlock.y + p.indexLabelTextBlock.height / 2)),\r\n c - s < t &&\r\n ((k = s),\r\n (h = f(h, k, d + 1)),\r\n +h.toFixed(y) < +k.toFixed(y) &&\r\n (l = c > t ? c - t : s - (k - h)))));\r\n l &&\r\n ((d = p.indexLabelTextBlock.y + l),\r\n (c = 0),\r\n (c =\r\n 'right' === p.hemisphere\r\n ? x.x + Math.sqrt(Math.pow(w, 2) - Math.pow(d - x.y, 2))\r\n : x.x - Math.sqrt(Math.pow(w, 2) - Math.pow(d - x.y, 2))),\r\n p.midAngle > Math.PI / 2 - u && p.midAngle < Math.PI / 2 + u\r\n ? ((k = (a - 1 + g.length) % g.length),\r\n (k = g[k]),\r\n (a = g[(a + 1 + g.length) % g.length]),\r\n 'left' === p.hemisphere &&\r\n 'right' === k.hemisphere &&\r\n c > k.indexLabelTextBlock.x\r\n ? (c = k.indexLabelTextBlock.x - 15)\r\n : 'right' === p.hemisphere &&\r\n 'left' === a.hemisphere &&\r\n c < a.indexLabelTextBlock.x &&\r\n (c = a.indexLabelTextBlock.x + 15))\r\n : p.midAngle > (3 * Math.PI) / 2 - u &&\r\n p.midAngle < (3 * Math.PI) / 2 + u &&\r\n ((k = (a - 1 + g.length) % g.length),\r\n (k = g[k]),\r\n (a = g[(a + 1 + g.length) % g.length]),\r\n 'right' === p.hemisphere &&\r\n 'left' === k.hemisphere &&\r\n c < k.indexLabelTextBlock.x\r\n ? (c = k.indexLabelTextBlock.x + 15)\r\n : 'left' === p.hemisphere &&\r\n 'right' === a.hemisphere &&\r\n c > a.indexLabelTextBlock.x &&\r\n (c = a.indexLabelTextBlock.x - 15)),\r\n (p.indexLabelTextBlock.y = d),\r\n (p.indexLabelTextBlock.x = c),\r\n (p.indexLabelAngle = Math.atan2(\r\n p.indexLabelTextBlock.y - x.y,\r\n p.indexLabelTextBlock.x - x.x\r\n )));\r\n }\r\n return l;\r\n }\r\n function l() {\r\n var a = n.plotArea.ctx;\r\n a.fillStyle = 'grey';\r\n a.strokeStyle = 'grey';\r\n a.font = '16px Arial';\r\n a.textBaseline = 'middle';\r\n for (\r\n var c = (a = 0), d = 0, l = !0, c = 0;\r\n 10 > c && (1 > c || 0 < d);\r\n c++\r\n ) {\r\n if (\r\n k.radius ||\r\n (!k.radius &&\r\n 'undefined' !== typeof k.innerRadius &&\r\n null !== k.innerRadius &&\r\n C - d <= B)\r\n )\r\n l = !1;\r\n l && (C -= d);\r\n d = 0;\r\n if ('inside' !== k.indexLabelPlacement) {\r\n w = C * v;\r\n for (a = 0; a < m.length; a++) {\r\n var h = g[a];\r\n h.indexLabelTextBlock.x = x.x + w * Math.cos(h.midAngle);\r\n h.indexLabelTextBlock.y = x.y + w * Math.sin(h.midAngle);\r\n h.indexLabelAngle = h.midAngle;\r\n h.radius = C;\r\n h.percentInnerRadius = E;\r\n }\r\n for (var s, r, a = 0; a < m.length; a++) {\r\n var h = g[a],\r\n u = e(a);\r\n if (null !== u) {\r\n s = g[a];\r\n r = g[u];\r\n var z = 0,\r\n z = b(s, r) - t;\r\n if (0 > z) {\r\n for (var A = (r = 0), G = 0; G < m.length; G++)\r\n G !== a &&\r\n g[G].hemisphere === h.hemisphere &&\r\n (g[G].indexLabelTextBlock.y < h.indexLabelTextBlock.y\r\n ? r++\r\n : A++);\r\n r = (z / (r + A || 1)) * A;\r\n var A = -1 * (z - r),\r\n J = (G = 0);\r\n 'right' === h.hemisphere\r\n ? ((G = f(a, r)),\r\n (A = -1 * (z - G)),\r\n (J = f(u, A)),\r\n +J.toFixed(y) < +A.toFixed(y) &&\r\n +G.toFixed(y) <= +r.toFixed(y) &&\r\n f(a, -(A - J)))\r\n : ((G = f(u, r)),\r\n (A = -1 * (z - G)),\r\n (J = f(a, A)),\r\n +J.toFixed(y) < +A.toFixed(y) &&\r\n +G.toFixed(y) <= +r.toFixed(y) &&\r\n f(u, -(A - J)));\r\n }\r\n }\r\n }\r\n } else\r\n for (a = 0; a < m.length; a++)\r\n (h = g[a]),\r\n (w = 'pie' === k.type ? 0.7 * C : 0.8 * C),\r\n (u = x.x + w * Math.cos(h.midAngle)),\r\n (r = x.y + w * Math.sin(h.midAngle)),\r\n (h.indexLabelTextBlock.x = u),\r\n (h.indexLabelTextBlock.y = r);\r\n for (a = 0; a < m.length; a++)\r\n if (\r\n ((h = g[a]),\r\n (u = h.indexLabelTextBlock.measureText()),\r\n 0 !== u.height && 0 !== u.width)\r\n )\r\n (u = u = 0),\r\n 'right' === h.hemisphere\r\n ? ((u =\r\n q.x2 -\r\n (h.indexLabelTextBlock.x +\r\n h.indexLabelTextBlock.width +\r\n p)),\r\n (u *= -1))\r\n : (u =\r\n q.x1 -\r\n (h.indexLabelTextBlock.x -\r\n h.indexLabelTextBlock.width -\r\n p)),\r\n 0 < u &&\r\n (!l &&\r\n h.indexLabelText &&\r\n ((r =\r\n 'right' === h.hemisphere\r\n ? q.x2 - h.indexLabelTextBlock.x\r\n : h.indexLabelTextBlock.x - q.x1),\r\n 0.3 * h.indexLabelTextBlock.maxWidth > r\r\n ? (h.indexLabelText = '')\r\n : (h.indexLabelTextBlock.maxWidth = 0.85 * r),\r\n 0.3 * h.indexLabelTextBlock.maxWidth < r &&\r\n (h.indexLabelTextBlock.x -=\r\n 'right' === h.hemisphere ? 2 : -2)),\r\n Math.abs(\r\n h.indexLabelTextBlock.y -\r\n h.indexLabelTextBlock.height / 2 -\r\n x.y\r\n ) < C ||\r\n Math.abs(\r\n h.indexLabelTextBlock.y +\r\n h.indexLabelTextBlock.height / 2 -\r\n x.y\r\n ) < C) &&\r\n ((u /= Math.abs(Math.cos(h.indexLabelAngle))),\r\n 9 < u && (u *= 0.3),\r\n u > d && (d = u)),\r\n (u = u = 0),\r\n 0 < h.indexLabelAngle && h.indexLabelAngle < Math.PI\r\n ? ((u =\r\n q.y2 -\r\n (h.indexLabelTextBlock.y +\r\n h.indexLabelTextBlock.height / 2 +\r\n 5)),\r\n (u *= -1))\r\n : (u =\r\n q.y1 -\r\n (h.indexLabelTextBlock.y -\r\n h.indexLabelTextBlock.height / 2 -\r\n 5)),\r\n 0 < u &&\r\n (!l &&\r\n h.indexLabelText &&\r\n ((r =\r\n 0 < h.indexLabelAngle && h.indexLabelAngle < Math.PI\r\n ? -1\r\n : 1),\r\n 0 === f(a, u * r) && f(a, 2 * r)),\r\n Math.abs(h.indexLabelTextBlock.x - x.x) < C &&\r\n ((u /= Math.abs(Math.sin(h.indexLabelAngle))),\r\n 9 < u && (u *= 0.3),\r\n u > d && (d = u)));\r\n var L = function (a, b, c) {\r\n for (\r\n var d = [], e = 0;\r\n d.push(g[b]), b !== c;\r\n b = (b + 1 + m.length) % m.length\r\n );\r\n d.sort(function (a, b) {\r\n return a.y - b.y;\r\n });\r\n for (b = 0; b < d.length; b++)\r\n if (((c = d[b]), e < 0.7 * a))\r\n (e += c.indexLabelTextBlock.height),\r\n (c.indexLabelTextBlock.text = ''),\r\n (c.indexLabelText = ''),\r\n c.indexLabelTextBlock.measureText();\r\n else break;\r\n };\r\n (function () {\r\n for (var a = -1, c = -1, d = 0, f = !1, k = 0; k < m.length; k++)\r\n if (((f = !1), (s = g[k]), s.indexLabelText)) {\r\n var l = e(k);\r\n if (null !== l) {\r\n var h = g[l];\r\n z = 0;\r\n z = b(s, h);\r\n var q;\r\n if ((q = 0 > z)) {\r\n q = s.indexLabelTextBlock.x;\r\n var r =\r\n s.indexLabelTextBlock.y -\r\n s.indexLabelTextBlock.height / 2,\r\n t =\r\n s.indexLabelTextBlock.y +\r\n s.indexLabelTextBlock.height / 2,\r\n n =\r\n h.indexLabelTextBlock.y -\r\n h.indexLabelTextBlock.height / 2,\r\n u = h.indexLabelTextBlock.x + h.indexLabelTextBlock.width,\r\n D =\r\n h.indexLabelTextBlock.y +\r\n h.indexLabelTextBlock.height / 2;\r\n q =\r\n s.indexLabelTextBlock.x + s.indexLabelTextBlock.width <\r\n h.indexLabelTextBlock.x - p ||\r\n q > u + p ||\r\n r > D + p ||\r\n t < n - p\r\n ? !1\r\n : !0;\r\n }\r\n q\r\n ? (0 > a && (a = k),\r\n l !== a && ((c = l), (d += -z)),\r\n 0 === k % Math.max(m.length / 10, 3) && (f = !0))\r\n : (f = !0);\r\n f &&\r\n 0 < d &&\r\n 0 <= a &&\r\n 0 <= c &&\r\n (L(d, a, c), (c = a = -1), (d = 0));\r\n }\r\n }\r\n 0 < d && L(d, a, c);\r\n })();\r\n }\r\n }\r\n function h() {\r\n n.plotArea.layoutManager.reset();\r\n n.title &&\r\n (n.title.dockInsidePlotArea ||\r\n ('center' === n.title.horizontalAlign &&\r\n 'center' === n.title.verticalAlign)) &&\r\n n.title.render();\r\n if (n.subtitles)\r\n for (var a = 0; a < n.subtitles.length; a++) {\r\n var b = n.subtitles[a];\r\n (b.dockInsidePlotArea ||\r\n ('center' === b.horizontalAlign &&\r\n 'center' === b.verticalAlign)) &&\r\n b.render();\r\n }\r\n n.legend &&\r\n (n.legend.dockInsidePlotArea ||\r\n ('center' === n.legend.horizontalAlign &&\r\n 'center' === n.legend.verticalAlign)) &&\r\n (n.legend.setLayout(), n.legend.render());\r\n }\r\n var n = this;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n var k = this.data[a.dataSeriesIndexes[0]],\r\n m = k.dataPoints,\r\n p = 10,\r\n q = this.plotArea,\r\n g = k.dataPointEOs,\r\n t = 2,\r\n w,\r\n v = 1.3,\r\n u = (20 / 180) * Math.PI,\r\n y = 6,\r\n x = { x: (q.x2 + q.x1) / 2, y: (q.y2 + q.y1) / 2 },\r\n z = 0;\r\n a = !1;\r\n for (var A = 0; A < m.length; A++)\r\n (z += Math.abs(m[A].y)),\r\n !a &&\r\n 'undefined' !== typeof m[A].indexLabel &&\r\n null !== m[A].indexLabel &&\r\n 0 < m[A].indexLabel.toString().length &&\r\n (a = !0),\r\n !a &&\r\n 'undefined' !== typeof m[A].label &&\r\n null !== m[A].label &&\r\n 0 < m[A].label.toString().length &&\r\n (a = !0);\r\n if (0 !== z) {\r\n a =\r\n a ||\r\n ('undefined' !== typeof k.indexLabel &&\r\n null !== k.indexLabel &&\r\n 0 < k.indexLabel.toString().length);\r\n var C =\r\n 'inside' !== k.indexLabelPlacement && a\r\n ? (0.75 * Math.min(q.width, q.height)) / 2\r\n : (0.92 * Math.min(q.width, q.height)) / 2;\r\n k.radius && (C = Sa(k.radius, C));\r\n var B =\r\n 'undefined' !== typeof k.innerRadius && null !== k.innerRadius\r\n ? Sa(k.innerRadius, C)\r\n : 0.7 * C;\r\n k.radius = C;\r\n 'doughnut' === k.type && (k.innerRadius = B);\r\n var E = Math.min(B / C, (C - 1) / C);\r\n this.pieDoughnutClickHandler = function (a) {\r\n n.isAnimating ||\r\n (!r(a.dataSeries.explodeOnClick) &&\r\n !a.dataSeries.explodeOnClick) ||\r\n ((a = a.dataPoint),\r\n (a.exploded = a.exploded ? !1 : !0),\r\n 1 < this.dataPoints.length &&\r\n n._animator.animate(0, 500, function (a) {\r\n c(a);\r\n h();\r\n n.dispatchEvent('dataAnimationIterationEnd', { chart: n });\r\n n.dispatchEvent('dataAnimationEnd', { chart: n });\r\n }));\r\n };\r\n d();\r\n l();\r\n l();\r\n l();\r\n l();\r\n this.disableToolTip = !0;\r\n this._animator.animate(\r\n 0,\r\n this.animatedRender ? this.animationDuration : 0,\r\n function (a) {\r\n var b = n.plotArea.ctx;\r\n b.clearRect(q.x1, q.y1, q.width, q.height);\r\n b.fillStyle = n.backgroundColor;\r\n b.fillRect(q.x1, q.y1, q.width, q.height);\r\n for (\r\n var b = g[0].startAngle + 2 * Math.PI * a, c = 0;\r\n c < m.length;\r\n c++\r\n ) {\r\n var d = 0 === c ? g[c].startAngle : e,\r\n e = d + (g[c].endAngle - g[c].startAngle),\r\n f = !1;\r\n e > b && ((e = b), (f = !0));\r\n var l = m[c].color\r\n ? m[c].color\r\n : k._colorSet[c % k._colorSet.length];\r\n e > d &&\r\n ra(\r\n n.plotArea.ctx,\r\n g[c].center,\r\n g[c].radius,\r\n l,\r\n k.type,\r\n d,\r\n e,\r\n k.fillOpacity,\r\n g[c].percentInnerRadius\r\n );\r\n if (f) break;\r\n }\r\n h();\r\n n.dispatchEvent('dataAnimationIterationEnd', { chart: n });\r\n 1 <= a && n.dispatchEvent('dataAnimationEnd', { chart: n });\r\n },\r\n function () {\r\n n.disableToolTip = !1;\r\n n._animator.animate(0, n.animatedRender ? 500 : 0, function (a) {\r\n c(a);\r\n h();\r\n n.dispatchEvent('dataAnimationIterationEnd', { chart: n });\r\n });\r\n n.dispatchEvent('dataAnimationEnd', { chart: n });\r\n }\r\n );\r\n }\r\n }\r\n };\r\n var ta = function (a, d, c, b) {\r\n 'undefined' === typeof c && (c = 1);\r\n 0 >= Math.round(d.y4 - d.y1) ||\r\n (a.save(),\r\n (a.globalAlpha = c),\r\n a.beginPath(),\r\n a.moveTo(Math.round(d.x1), Math.round(d.y1)),\r\n a.lineTo(Math.round(d.x2), Math.round(d.y2)),\r\n a.lineTo(Math.round(d.x3), Math.round(d.y3)),\r\n a.lineTo(Math.round(d.x4), Math.round(d.y4)),\r\n 'undefined' !== d.x5 &&\r\n (a.lineTo(Math.round(d.x5), Math.round(d.y5)),\r\n a.lineTo(Math.round(d.x6), Math.round(d.y6))),\r\n a.closePath(),\r\n (a.fillStyle = b ? b : d.color),\r\n a.fill(),\r\n (a.globalAplha = 1),\r\n a.restore());\r\n };\r\n n.prototype.renderFunnel = function (a) {\r\n function d() {\r\n for (var a = 0, b = [], c = 0; c < y.length; c++) {\r\n if ('undefined' === typeof y[c].y) return -1;\r\n y[c].y = 'number' === typeof y[c].y ? y[c].y : 0;\r\n a += Math.abs(y[c].y);\r\n }\r\n if (0 === a) return -1;\r\n for (c = b[0] = 0; c < y.length; c++)\r\n b.push((Math.abs(y[c].y) * E) / a);\r\n return b;\r\n }\r\n function c() {\r\n var a = V,\r\n b = Y,\r\n c = L,\r\n d = aa,\r\n e,\r\n f;\r\n e = Z;\r\n f = P - Q;\r\n d = Math.abs(((f - e) * (b - a + (d - c))) / 2);\r\n c = aa - L;\r\n e = f - e;\r\n f = c * (f - P);\r\n f = Math.abs(f);\r\n f = d + f;\r\n for (var d = [], g = 0, k = 0; k < y.length; k++) {\r\n if ('undefined' === typeof y[k].y) return -1;\r\n y[k].y = 'number' === typeof y[k].y ? y[k].y : 0;\r\n g += Math.abs(y[k].y);\r\n }\r\n if (0 === g) return -1;\r\n for (\r\n var l = (d[0] = 0), h = 0, m, p, b = b - a, l = !1, k = 0;\r\n k < y.length;\r\n k++\r\n )\r\n (a = (Math.abs(y[k].y) * f) / g),\r\n l\r\n ? (m = 0 == Number(c.toFixed(3)) ? 0 : a / c)\r\n : ((p = ba * ba * b * b - 4 * Math.abs(ba) * a),\r\n 0 > p\r\n ? ((p = c),\r\n (l = ((b + p) * (e - h)) / 2),\r\n (a -= l),\r\n (m = e - h),\r\n (h += e - h),\r\n (m += 0 == p ? 0 : a / p),\r\n (h += a / p),\r\n (l = !0))\r\n : ((m = (Math.abs(ba) * b - Math.sqrt(p)) / 2),\r\n (p = b - (2 * m) / Math.abs(ba)),\r\n (h += m),\r\n h > e &&\r\n ((h -= m),\r\n (p = c),\r\n (l = ((b + p) * (e - h)) / 2),\r\n (a -= l),\r\n (m = e - h),\r\n (h += e - h),\r\n (m += a / p),\r\n (h += a / p),\r\n (l = !0)),\r\n (b = p))),\r\n d.push(m);\r\n return d;\r\n }\r\n function b() {\r\n if (u && y) {\r\n for (\r\n var a,\r\n b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n k,\r\n l,\r\n h,\r\n m,\r\n p,\r\n q,\r\n s,\r\n t,\r\n n,\r\n D = [],\r\n x = [],\r\n v = { percent: null, total: null },\r\n z = null,\r\n C = 0;\r\n C < y.length;\r\n C++\r\n )\r\n (n = R[C]),\r\n (n =\r\n 'undefined' !== typeof n.x5\r\n ? (n.y2 + n.y4) / 2\r\n : (n.y2 + n.y3) / 2),\r\n (n = g(n).x2 + 1),\r\n (D[C] = K - n - W);\r\n n = 0.5 * W;\r\n for (var C = 0, B = y.length - 1; C < y.length || 0 <= B; C++, B--) {\r\n b = u.reversed ? y[B] : y[C];\r\n a = b.color\r\n ? b.color\r\n : u.reversed\r\n ? u._colorSet[(y.length - 1 - C) % u._colorSet.length]\r\n : u._colorSet[C % u._colorSet.length];\r\n c = b.indexLabelPlacement || u.indexLabelPlacement || 'outside';\r\n t = b.indexLabelTextAlign || u.indexLabelTextAlign || 'left';\r\n d =\r\n b.indexLabelBackgroundColor ||\r\n u.indexLabelBackgroundColor ||\r\n (w ? 'transparent' : null);\r\n e = b.indexLabelFontColor || u.indexLabelFontColor || '#979797';\r\n f = r(b.indexLabelFontSize)\r\n ? u.indexLabelFontSize\r\n : b.indexLabelFontSize;\r\n k = b.indexLabelFontStyle || u.indexLabelFontStyle || 'normal';\r\n l = b.indexLabelFontFamily || u.indexLabelFontFamily || 'arial';\r\n h = b.indexLabelFontWeight || u.indexLabelFontWeight || 'normal';\r\n a = b.indexLabelLineColor || u.options.indexLabelLineColor || a;\r\n m =\r\n 'number' === typeof b.indexLabelLineThickness\r\n ? b.indexLabelLineThickness\r\n : 'number' === typeof u.indexLabelLineThickness\r\n ? u.indexLabelLineThickness\r\n : 2;\r\n p = b.indexLabelLineDashType || u.indexLabelLineDashType || 'solid';\r\n q =\r\n 'undefined' !== typeof b.indexLabelWrap\r\n ? b.indexLabelWrap\r\n : 'undefined' !== typeof u.indexLabelWrap\r\n ? u.indexLabelWrap\r\n : !0;\r\n s = u.dataPointIds[C];\r\n A._eventManager.objectMap[s] = {\r\n id: s,\r\n objectType: 'dataPoint',\r\n dataPointIndex: C,\r\n dataSeriesIndex: 0,\r\n funnelSection: R[u.reversed ? y.length - 1 - C : C],\r\n };\r\n 'inside' === u.indexLabelPlacement &&\r\n ((D[C] =\r\n C !== da\r\n ? u.reversed\r\n ? R[C].x2 - R[C].x1\r\n : R[C].x3 - R[C].x4\r\n : R[C].x3 - R[C].x6),\r\n 20 > D[C] &&\r\n ((D[C] =\r\n C !== da\r\n ? u.reversed\r\n ? R[C].x3 - R[C].x4\r\n : R[C].x2 - R[C].x1\r\n : R[C].x2 - R[C].x1),\r\n (D[C] /= 2)));\r\n s = b.indexLabelMaxWidth\r\n ? b.indexLabelMaxWidth\r\n : u.options.indexLabelMaxWidth\r\n ? u.indexLabelMaxWidth\r\n : D[C];\r\n if (s > D[C] || 0 > s) s = D[C];\r\n x[C] = 'inside' === u.indexLabelPlacement ? R[C].height : !1;\r\n v = A.getPercentAndTotal(u, b);\r\n if (u.indexLabelFormatter || b.indexLabelFormatter)\r\n z = {\r\n chart: A.options,\r\n dataSeries: u,\r\n dataPoint: b,\r\n total: v.total,\r\n percent: v.percent,\r\n };\r\n b = b.indexLabelFormatter\r\n ? b.indexLabelFormatter(z)\r\n : b.indexLabel\r\n ? A.replaceKeywordsWithValue(b.indexLabel, b, u, C)\r\n : u.indexLabelFormatter\r\n ? u.indexLabelFormatter(z)\r\n : u.indexLabel\r\n ? A.replaceKeywordsWithValue(u.indexLabel, b, u, C)\r\n : b.label\r\n ? b.label\r\n : '';\r\n 0 >= m && (m = 0);\r\n 1e3 > s && 1e3 - s < n && (s += 1e3 - s);\r\n O.roundRect || Ca(O);\r\n c = new ka(O, {\r\n fontSize: f,\r\n fontFamily: l,\r\n fontColor: e,\r\n fontStyle: k,\r\n fontWeight: h,\r\n horizontalAlign: c,\r\n textAlign: t,\r\n backgroundColor: d,\r\n maxWidth: s,\r\n maxHeight: !1 === x[C] ? (q ? 4.28571429 * f : 1.5 * f) : x[C],\r\n text: b,\r\n padding: ea,\r\n });\r\n c.measureText();\r\n H.push({\r\n textBlock: c,\r\n id: u.reversed ? B : C,\r\n isDirty: !1,\r\n lineColor: a,\r\n lineThickness: m,\r\n lineDashType: p,\r\n height: c.height < c.maxHeight ? c.height : c.maxHeight,\r\n width: c.width < c.maxWidth ? c.width : c.maxWidth,\r\n });\r\n }\r\n }\r\n }\r\n function e() {\r\n var a,\r\n b,\r\n c,\r\n d,\r\n e,\r\n f = [];\r\n e = !1;\r\n c = 0;\r\n for (\r\n var g,\r\n k = K - Y - W / 2,\r\n k = u.options.indexLabelMaxWidth\r\n ? u.indexLabelMaxWidth > k\r\n ? k\r\n : u.indexLabelMaxWidth\r\n : k,\r\n l = H.length - 1;\r\n 0 <= l;\r\n l--\r\n ) {\r\n g = y[H[l].id];\r\n c = H[l];\r\n d = c.textBlock;\r\n b = (a = q(l) < R.length ? H[q(l)] : null) ? a.textBlock : null;\r\n c = c.height;\r\n a && d.y + c + ea > b.y && (e = !0);\r\n c = g.indexLabelMaxWidth || k;\r\n if (c > k || 0 > c) c = k;\r\n f.push(c);\r\n }\r\n if (e)\r\n for (l = H.length - 1; 0 <= l; l--)\r\n (a = R[l]),\r\n (H[l].textBlock.maxWidth = f[f.length - (l + 1)]),\r\n H[l].textBlock.measureText(),\r\n (H[l].textBlock.x = K - k),\r\n (c =\r\n H[l].textBlock.height < H[l].textBlock.maxHeight\r\n ? H[l].textBlock.height\r\n : H[l].textBlock.maxHeight),\r\n (e =\r\n H[l].textBlock.width < H[l].textBlock.maxWidth\r\n ? H[l].textBlock.width\r\n : H[l].textBlock.maxWidth),\r\n (H[l].height = c),\r\n (H[l].width = e),\r\n (c =\r\n 'undefined' !== typeof a.x5\r\n ? (a.y2 + a.y4) / 2\r\n : (a.y2 + a.y3) / 2),\r\n (H[l].textBlock.y = c - H[l].height / 2),\r\n u.reversed\r\n ? (H[l].textBlock.y + H[l].height > pa + z &&\r\n (H[l].textBlock.y = pa + z - H[l].height),\r\n H[l].textBlock.y < ua - z && (H[l].textBlock.y = ua - z))\r\n : (H[l].textBlock.y < pa - z && (H[l].textBlock.y = pa - z),\r\n H[l].textBlock.y + H[l].height > ua + z &&\r\n (H[l].textBlock.y = ua + z - H[l].height));\r\n }\r\n function f() {\r\n var a, b, c, d;\r\n if ('inside' !== u.indexLabelPlacement)\r\n for (var e = 0; e < R.length; e++)\r\n 0 == H[e].textBlock.text.length\r\n ? (H[e].isDirty = !0)\r\n : ((a = R[e]),\r\n (c =\r\n 'undefined' !== typeof a.x5\r\n ? (a.y2 + a.y4) / 2\r\n : (a.y2 + a.y3) / 2),\r\n (b = u.reversed\r\n ? 'undefined' !== typeof a.x5\r\n ? c > U\r\n ? g(c).x2 + 1\r\n : (a.x2 + a.x3) / 2 + 1\r\n : (a.x2 + a.x3) / 2 + 1\r\n : 'undefined' !== typeof a.x5\r\n ? c < U\r\n ? g(c).x2 + 1\r\n : (a.x4 + a.x3) / 2 + 1\r\n : (a.x2 + a.x3) / 2 + 1),\r\n (H[e].textBlock.x = b + W),\r\n (H[e].textBlock.y = c - H[e].height / 2),\r\n u.reversed\r\n ? (H[e].textBlock.y + H[e].height > pa + z &&\r\n (H[e].textBlock.y = pa + z - H[e].height),\r\n H[e].textBlock.y < ua - z && (H[e].textBlock.y = ua - z))\r\n : (H[e].textBlock.y < pa - z && (H[e].textBlock.y = pa - z),\r\n H[e].textBlock.y + H[e].height > ua + z &&\r\n (H[e].textBlock.y = ua + z - H[e].height)));\r\n else\r\n for (e = 0; e < R.length; e++)\r\n 0 == H[e].textBlock.text.length\r\n ? (H[e].isDirty = !0)\r\n : ((a = R[e]),\r\n (b = a.height),\r\n (c = H[e].height),\r\n (d = H[e].width),\r\n b >= c\r\n ? ((b =\r\n e != da\r\n ? (a.x4 + a.x3) / 2 - d / 2\r\n : (a.x5 + a.x4) / 2 - d / 2),\r\n (c =\r\n e != da\r\n ? (a.y1 + a.y3) / 2 - c / 2\r\n : (a.y1 + a.y4) / 2 - c / 2),\r\n (H[e].textBlock.x = b),\r\n (H[e].textBlock.y = c))\r\n : (H[e].isDirty = !0));\r\n }\r\n function l() {\r\n function a(b, c) {\r\n var d;\r\n if (0 > b || b >= H.length) return 0;\r\n var e,\r\n f = H[b].textBlock;\r\n if (0 > c) {\r\n c *= -1;\r\n e = p(b);\r\n d = h(e, b);\r\n if (d >= c) return (f.y -= c), c;\r\n if (0 == b) return 0 < d && (f.y -= d), d;\r\n d += a(e, -(c - d));\r\n 0 < d && (f.y -= d);\r\n return d;\r\n }\r\n e = q(b);\r\n d = h(b, e);\r\n if (d >= c) return (f.y += c), c;\r\n if (b == R.length - 1) return 0 < d && (f.y += d), d;\r\n d += a(e, c - d);\r\n 0 < d && (f.y += d);\r\n return d;\r\n }\r\n function b() {\r\n var a,\r\n d,\r\n e,\r\n f,\r\n g = 0,\r\n l;\r\n f = (P - Z + 2 * z) / m;\r\n l = m;\r\n for (var k, h = 1; h < l; h++) {\r\n e = h * f;\r\n for (var s = H.length - 1; 0 <= s; s--)\r\n !H[s].isDirty &&\r\n H[s].textBlock.y < e &&\r\n H[s].textBlock.y + H[s].height > e &&\r\n ((k = q(s)),\r\n !(k >= H.length - 1) &&\r\n H[s].textBlock.y + H[s].height + ea > H[k].textBlock.y &&\r\n (H[s].textBlock.y =\r\n H[s].textBlock.y + H[s].height - e > e - H[s].textBlock.y\r\n ? e + 1\r\n : e - H[s].height - 1));\r\n }\r\n for (k = R.length - 1; 0 < k; k--)\r\n if (!H[k].isDirty) {\r\n e = p(k);\r\n if (0 > e && ((e = 0), H[e].isDirty)) break;\r\n if (H[k].textBlock.y < H[e].textBlock.y + H[e].height) {\r\n d = d || k;\r\n f = k;\r\n for (\r\n l = 0;\r\n H[f].textBlock.y < H[e].textBlock.y + H[e].height + ea;\r\n\r\n ) {\r\n a = a || H[f].textBlock.y + H[f].height;\r\n l += H[f].height;\r\n l += ea;\r\n f = e;\r\n if (0 >= f) {\r\n f = 0;\r\n l += H[f].height;\r\n break;\r\n }\r\n e = p(f);\r\n if (0 > e) {\r\n f = 0;\r\n l += H[f].height;\r\n break;\r\n }\r\n }\r\n if (f != k) {\r\n g = H[f].textBlock.y;\r\n a -= g;\r\n a = l - a;\r\n g = c(a, d, f);\r\n break;\r\n }\r\n }\r\n }\r\n return g;\r\n }\r\n function c(a, b, d) {\r\n var e = [],\r\n f = 0,\r\n g = 0;\r\n for (a = Math.abs(a); d <= b; d++) e.push(R[d]);\r\n e.sort(function (a, b) {\r\n return a.height - b.height;\r\n });\r\n for (d = 0; d < e.length; d++)\r\n if (((b = e[d]), f < a))\r\n g++,\r\n (f += H[b.id].height + ea),\r\n (H[b.id].textBlock.text = ''),\r\n (H[b.id].indexLabelText = ''),\r\n (H[b.id].isDirty = !0),\r\n H[b.id].textBlock.measureText();\r\n else break;\r\n return g;\r\n }\r\n for (var d, e, f, g, l, k, m = 1, r = 0; r < 2 * m; r++) {\r\n for (\r\n var n = H.length - 1;\r\n 0 <= n &&\r\n !(0 <= p(n) && p(n),\r\n (f = H[n]),\r\n (g = f.textBlock),\r\n (k = (l = q(n) < R.length ? H[q(n)] : null) ? l.textBlock : null),\r\n (d = +f.height.toFixed(6)),\r\n (e = +g.y.toFixed(6)),\r\n !f.isDirty &&\r\n l &&\r\n e + d + ea > +k.y.toFixed(6) &&\r\n ((d = g.y + d + ea - k.y),\r\n (e = a(n, -d)),\r\n e < d && (0 < e && (d -= e), (e = a(q(n), d)), e != d)));\r\n n--\r\n );\r\n b();\r\n }\r\n }\r\n function h(a, b) {\r\n return (\r\n (b < R.length ? H[b].textBlock.y : u.reversed ? pa + z : ua + z) -\r\n (0 > a\r\n ? u.reversed\r\n ? ua - z\r\n : pa - z\r\n : H[a].textBlock.y + H[a].height + ea)\r\n );\r\n }\r\n function n(a, b, c) {\r\n var d,\r\n e,\r\n g,\r\n l = [],\r\n h = z,\r\n p = [];\r\n -1 !== b &&\r\n (0 <= X.indexOf(b)\r\n ? ((e = X.indexOf(b)), X.splice(e, 1))\r\n : (X.push(b),\r\n (X = X.sort(function (a, b) {\r\n return a - b;\r\n }))));\r\n if (0 === X.length) l = ja;\r\n else {\r\n e =\r\n (z *\r\n (1 != X.length || (0 != X[0] && X[0] != R.length - 1) ? 2 : 1)) /\r\n k();\r\n for (var s = 0; s < R.length; s++) {\r\n if (1 == X.length && 0 == X[0]) {\r\n if (0 === s) {\r\n l.push(ja[s]);\r\n d = h;\r\n continue;\r\n }\r\n } else 0 === s && (d = -1 * h);\r\n l.push(ja[s] + d);\r\n if (0 <= X.indexOf(s) || (s < R.length && 0 <= X.indexOf(s + 1)))\r\n d += e;\r\n }\r\n }\r\n g = (function () {\r\n for (var a = [], b = 0; b < R.length; b++) a.push(l[b] - R[b].y1);\r\n return a;\r\n })();\r\n var q = {\r\n startTime: new Date().getTime(),\r\n duration: c || 500,\r\n easingFunction: function (a, b, c, d) {\r\n return N.easing.easeOutQuart(a, b, c, d);\r\n },\r\n changeSection: function (a) {\r\n for (var b, c, d = 0; d < R.length; d++)\r\n (b = g[d]),\r\n (c = R[d]),\r\n (b *= a),\r\n 'undefined' === typeof p[d] && (p[d] = 0),\r\n 0 > p && (p *= -1),\r\n (c.y1 += b - p[d]),\r\n (c.y2 += b - p[d]),\r\n (c.y3 += b - p[d]),\r\n (c.y4 += b - p[d]),\r\n c.y5 && ((c.y5 += b - p[d]), (c.y6 += b - p[d])),\r\n (p[d] = b);\r\n },\r\n };\r\n a._animator.animate(\r\n 0,\r\n c,\r\n function (c) {\r\n var d = a.plotArea.ctx || a.ctx;\r\n ha = !0;\r\n d.clearRect(x.x1, x.y1, x.x2 - x.x1, x.y2 - x.y1);\r\n d.fillStyle = a.backgroundColor;\r\n d.fillRect(x.x1, x.y1, x.width, x.height);\r\n q.changeSection(c, b);\r\n var e = {};\r\n e.dataSeries = u;\r\n e.dataPoint = u.reversed\r\n ? u.dataPoints[y.length - 1 - b]\r\n : u.dataPoints[b];\r\n e.index = u.reversed ? y.length - 1 - b : b;\r\n a.toolTip.highlightObjects([e]);\r\n for (e = 0; e < R.length; e++) ta(d, R[e], u.fillOpacity);\r\n v(d);\r\n M && ('inside' !== u.indexLabelPlacement ? m(d) : f(), t(d));\r\n 1 <= c && (ha = !1);\r\n },\r\n null,\r\n N.easing.easeOutQuart\r\n );\r\n }\r\n function k() {\r\n for (var a = 0, b = 0; b < R.length - 1; b++)\r\n (0 <= X.indexOf(b) || 0 <= X.indexOf(b + 1)) && a++;\r\n return a;\r\n }\r\n function m(a) {\r\n for (var b, c, d, e, f = 0; f < R.length; f++)\r\n (e = 1 === H[f].lineThickness % 2 ? 0.5 : 0),\r\n (c = (((R[f].y2 + R[f].y4) / 2) << 0) + e),\r\n (b = g(c).x2 - 1),\r\n (d = H[f].textBlock.x),\r\n (e = ((H[f].textBlock.y + H[f].height / 2) << 0) + e),\r\n H[f].isDirty ||\r\n 0 == H[f].lineThickness ||\r\n ((a.strokeStyle = H[f].lineColor),\r\n (a.lineWidth = H[f].lineThickness),\r\n a.setLineDash &&\r\n a.setLineDash(J(H[f].lineDashType, H[f].lineThickness)),\r\n a.beginPath(),\r\n a.moveTo(b, c),\r\n a.lineTo(d, e),\r\n a.stroke());\r\n }\r\n function p(a) {\r\n for (a -= 1; -1 <= a && -1 != a && H[a].isDirty; a--);\r\n return a;\r\n }\r\n function q(a) {\r\n for (a += 1; a <= R.length && a != R.length && H[a].isDirty; a++);\r\n return a;\r\n }\r\n function g(a) {\r\n for (var b, c = 0; c < y.length; c++)\r\n if (R[c].y1 < a && R[c].y4 > a) {\r\n b = R[c];\r\n break;\r\n }\r\n return b\r\n ? ((a = b.y6\r\n ? a > b.y6\r\n ? b.x3 + ((b.x4 - b.x3) / (b.y4 - b.y3)) * (a - b.y3)\r\n : b.x2 + ((b.x3 - b.x2) / (b.y3 - b.y2)) * (a - b.y2)\r\n : b.x2 + ((b.x3 - b.x2) / (b.y3 - b.y2)) * (a - b.y2)),\r\n { x1: a, x2: a })\r\n : -1;\r\n }\r\n function t(a) {\r\n for (var b = 0; b < R.length; b++)\r\n H[b].isDirty ||\r\n (a && (H[b].textBlock.ctx = a), H[b].textBlock.render(!0));\r\n }\r\n function v(a) {\r\n A.plotArea.layoutManager.reset();\r\n a.roundRect || Ca(a);\r\n A.title &&\r\n (A.title.dockInsidePlotArea ||\r\n ('center' === A.title.horizontalAlign &&\r\n 'center' === A.title.verticalAlign)) &&\r\n ((A.title.ctx = a), A.title.render());\r\n if (A.subtitles)\r\n for (var b = 0; b < A.subtitles.length; b++) {\r\n var c = A.subtitles[b];\r\n if (\r\n c.dockInsidePlotArea ||\r\n ('center' === c.horizontalAlign && 'center' === c.verticalAlign)\r\n )\r\n (A.subtitles.ctx = a), c.render();\r\n }\r\n A.legend &&\r\n (A.legend.dockInsidePlotArea ||\r\n ('center' === A.legend.horizontalAlign &&\r\n 'center' === A.legend.verticalAlign)) &&\r\n ((A.legend.ctx = a), A.legend.setLayout(), A.legend.render());\r\n T.fNg && T.fNg(A);\r\n }\r\n var A = this;\r\n if (!(0 >= a.dataSeriesIndexes.length)) {\r\n for (\r\n var u = this.data[a.dataSeriesIndexes[0]],\r\n y = u.dataPoints,\r\n x = this.plotArea,\r\n z = 0.025 * x.width,\r\n B = 0.01 * x.width,\r\n C = 0,\r\n E = x.height - 2 * z,\r\n I = Math.min(x.width - 2 * B, 2.8 * x.height),\r\n M = !1,\r\n S = 0;\r\n S < y.length;\r\n S++\r\n )\r\n if (\r\n (!M &&\r\n 'undefined' !== typeof y[S].indexLabel &&\r\n null !== y[S].indexLabel &&\r\n 0 < y[S].indexLabel.toString().length &&\r\n (M = !0),\r\n !M &&\r\n 'undefined' !== typeof y[S].label &&\r\n null !== y[S].label &&\r\n 0 < y[S].label.toString().length &&\r\n (M = !0),\r\n (!M && 'function' === typeof u.indexLabelFormatter) ||\r\n 'function' === typeof y[S].indexLabelFormatter)\r\n )\r\n M = !0;\r\n M =\r\n M ||\r\n ('undefined' !== typeof u.indexLabel &&\r\n null !== u.indexLabel &&\r\n 0 < u.indexLabel.toString().length);\r\n ('inside' !== u.indexLabelPlacement && M) ||\r\n (B = (x.width - 0.75 * I) / 2);\r\n var S = x.x1 + B,\r\n K = x.x2 - B,\r\n Z = x.y1 + z,\r\n P = x.y2 - z,\r\n O = a.targetCanvasCtx || this.plotArea.ctx || this.ctx;\r\n if (0 != u.length && u.dataPoints && u.visible && 0 !== y.length) {\r\n var Q, F;\r\n a = (75 * I) / 100;\r\n var W = (30 * (K - a)) / 100;\r\n 'funnel' === u.type\r\n ? ((Q = r(u.options.neckHeight) ? 0.35 * E : u.neckHeight),\r\n (F = r(u.options.neckWidth) ? 0.25 * a : u.neckWidth),\r\n 'string' === typeof Q && Q.match(/%$/)\r\n ? ((Q = parseInt(Q)), (Q = (Q * E) / 100))\r\n : (Q = parseInt(Q)),\r\n 'string' === typeof F && F.match(/%$/)\r\n ? ((F = parseInt(F)), (F = (F * a) / 100))\r\n : (F = parseInt(F)),\r\n Q > E ? (Q = E) : 0 >= Q && (Q = 0),\r\n F > a ? (F = a - 0.5) : 0 >= F && (F = 0))\r\n : 'pyramid' === u.type &&\r\n ((F = Q = 0), (u.reversed = u.reversed ? !1 : !0));\r\n var B = S + a / 2,\r\n V = S,\r\n Y = S + a,\r\n pa = u.reversed ? P : Z,\r\n L = B - F / 2,\r\n aa = B + F / 2,\r\n U = u.reversed ? Z + Q : P - Q,\r\n ua = u.reversed ? Z : P;\r\n a = [];\r\n var B = [],\r\n R = [],\r\n I = [],\r\n $ = Z,\r\n da,\r\n ba = (U - pa) / (L - V),\r\n ga = -ba,\r\n S =\r\n 'area' === (u.valueRepresents ? u.valueRepresents : 'height')\r\n ? c()\r\n : d();\r\n if (-1 !== S) {\r\n if (u.reversed)\r\n for (I.push($), F = S.length - 1; 0 < F; F--)\r\n ($ += S[F]), I.push($);\r\n else for (F = 0; F < S.length; F++) ($ += S[F]), I.push($);\r\n if (u.reversed)\r\n for (F = 0; F < S.length; F++)\r\n I[F] < U\r\n ? (a.push(L), B.push(aa), (da = F))\r\n : (a.push((I[F] - pa + ba * V) / ba),\r\n B.push((I[F] - pa + ga * Y) / ga));\r\n else\r\n for (F = 0; F < S.length; F++)\r\n I[F] < U\r\n ? (a.push((I[F] - pa + ba * V) / ba),\r\n B.push((I[F] - pa + ga * Y) / ga),\r\n (da = F))\r\n : (a.push(L), B.push(aa));\r\n for (F = 0; F < S.length - 1; F++)\r\n ($ = u.reversed\r\n ? y[y.length - 1 - F].color\r\n ? y[y.length - 1 - F].color\r\n : u._colorSet[(y.length - 1 - F) % u._colorSet.length]\r\n : y[F].color\r\n ? y[F].color\r\n : u._colorSet[F % u._colorSet.length]),\r\n F === da\r\n ? R.push({\r\n x1: a[F],\r\n y1: I[F],\r\n x2: B[F],\r\n y2: I[F],\r\n x3: aa,\r\n y3: U,\r\n x4: B[F + 1],\r\n y4: I[F + 1],\r\n x5: a[F + 1],\r\n y5: I[F + 1],\r\n x6: L,\r\n y6: U,\r\n id: F,\r\n height: I[F + 1] - I[F],\r\n color: $,\r\n })\r\n : R.push({\r\n x1: a[F],\r\n y1: I[F],\r\n x2: B[F],\r\n y2: I[F],\r\n x3: B[F + 1],\r\n y3: I[F + 1],\r\n x4: a[F + 1],\r\n y4: I[F + 1],\r\n id: F,\r\n height: I[F + 1] - I[F],\r\n color: $,\r\n });\r\n var ea = 2,\r\n H = [],\r\n ha = !1,\r\n X = [],\r\n ja = [],\r\n S = !1;\r\n a = a = 0;\r\n Da(X);\r\n for (F = 0; F < y.length; F++)\r\n y[F].exploded &&\r\n ((S = !0), u.reversed ? X.push(y.length - 1 - F) : X.push(F));\r\n O.clearRect(x.x1, x.y1, x.width, x.height);\r\n O.fillStyle = A.backgroundColor;\r\n O.fillRect(x.x1, x.y1, x.width, x.height);\r\n if (\r\n M &&\r\n u.visible &&\r\n (b(), f(), e(), 'inside' !== u.indexLabelPlacement)\r\n ) {\r\n l();\r\n for (F = 0; F < y.length; F++)\r\n H[F].isDirty ||\r\n ((a = H[F].textBlock.x + H[F].width),\r\n (a = (K - a) / 2),\r\n 0 == F && (C = a),\r\n C > a && (C = a));\r\n for (F = 0; F < R.length; F++)\r\n (R[F].x1 += C),\r\n (R[F].x2 += C),\r\n (R[F].x3 += C),\r\n (R[F].x4 += C),\r\n R[F].x5 && ((R[F].x5 += C), (R[F].x6 += C)),\r\n (H[F].textBlock.x += C);\r\n }\r\n for (F = 0; F < R.length; F++)\r\n (C = R[F]), ta(O, C, u.fillOpacity), ja.push(C.y1);\r\n v(O);\r\n M &&\r\n u.visible &&\r\n ('inside' === u.indexLabelPlacement || A.animationEnabled || m(O),\r\n A.animationEnabled || t());\r\n if (!M)\r\n for (F = 0; F < y.length; F++)\r\n (C = u.dataPointIds[F]),\r\n (a = {\r\n id: C,\r\n objectType: 'dataPoint',\r\n dataPointIndex: F,\r\n dataSeriesIndex: 0,\r\n funnelSection: R[u.reversed ? y.length - 1 - F : F],\r\n }),\r\n (A._eventManager.objectMap[C] = a);\r\n !A.animationEnabled && S\r\n ? n(A, -1, 0)\r\n : A.animationEnabled && !A.animatedRender && n(A, -1, 0);\r\n this.funnelPyramidClickHandler = function (a) {\r\n var b = -1;\r\n if (\r\n !ha &&\r\n !A.isAnimating &&\r\n (r(a.dataSeries.explodeOnClick) ||\r\n a.dataSeries.explodeOnClick) &&\r\n ((b = u.reversed\r\n ? y.length - 1 - a.dataPointIndex\r\n : a.dataPointIndex),\r\n 0 <= b)\r\n ) {\r\n a = b;\r\n if ('funnel' === u.type || 'pyramid' === u.type)\r\n u.reversed\r\n ? (y[y.length - 1 - a].exploded = y[y.length - 1 - a]\r\n .exploded\r\n ? !1\r\n : !0)\r\n : (y[a].exploded = y[a].exploded ? !1 : !0);\r\n n(A, b, 500);\r\n }\r\n };\r\n return {\r\n source: O,\r\n dest: this.plotArea.ctx,\r\n animationCallback: function (a, b) {\r\n N.fadeInAnimation(a, b);\r\n 1 <= a && (n(A, -1, 500), v(A.plotArea.ctx || A.ctx));\r\n },\r\n easingFunction: N.easing.easeInQuad,\r\n animationBase: 0,\r\n };\r\n }\r\n }\r\n }\r\n };\r\n n.prototype.requestAnimFrame = (function () {\r\n return (\r\n window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (a) {\r\n window.setTimeout(a, 1e3 / 60);\r\n }\r\n );\r\n })();\r\n n.prototype.cancelRequestAnimFrame =\r\n window.cancelAnimationFrame ||\r\n window.webkitCancelRequestAnimationFrame ||\r\n window.mozCancelRequestAnimationFrame ||\r\n window.oCancelRequestAnimationFrame ||\r\n window.msCancelRequestAnimationFrame ||\r\n clearTimeout;\r\n n.prototype.set = function (a, d, c) {\r\n c = 'undefined' === typeof c ? !0 : c;\r\n 'options' === a\r\n ? ((this.options = d), c && this.render())\r\n : n.base.set.call(this, a, d, c);\r\n };\r\n n.prototype.exportChart = function (a) {\r\n a = 'undefined' === typeof a ? {} : a;\r\n var d = a.format ? a.format : 'png',\r\n c = a.fileName ? a.fileName : this.exportFileName;\r\n if (a.toDataURL) return this.canvas.toDataURL('image/' + d);\r\n var b = this.canvas;\r\n if (b && d && c) {\r\n c = c + '.' + d;\r\n a = 'image/' + d;\r\n var b = b.toDataURL(a),\r\n e = !1,\r\n f = document.createElement('a');\r\n f.download = c;\r\n f.href = b;\r\n if ('undefined' !== typeof Blob && new Blob()) {\r\n for (\r\n var l = b.replace(/^data:[a-z\\/]*;base64,/, ''),\r\n l = atob(l),\r\n h = new ArrayBuffer(l.length),\r\n h = new Uint8Array(h),\r\n n = 0;\r\n n < l.length;\r\n n++\r\n )\r\n h[n] = l.charCodeAt(n);\r\n d = new Blob([h.buffer], { type: 'image/' + d });\r\n try {\r\n window.navigator.msSaveBlob(d, c), (e = !0);\r\n } catch (k) {\r\n (f.dataset.downloadurl = [a, f.download, f.href].join(':')),\r\n (f.href = window.URL.createObjectURL(d));\r\n }\r\n }\r\n if (!e)\r\n try {\r\n (event = document.createEvent('MouseEvents')),\r\n event.initMouseEvent(\r\n 'click',\r\n !0,\r\n !1,\r\n window,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n !1,\r\n !1,\r\n !1,\r\n !1,\r\n 0,\r\n null\r\n ),\r\n f.dispatchEvent\r\n ? f.dispatchEvent(event)\r\n : f.fireEvent && f.fireEvent('onclick');\r\n } catch (m) {\r\n (d = window.open()),\r\n d.document.write(\r\n \"
    Please right click on the image and save it to your device
    \"\r\n ),\r\n d.document.close();\r\n }\r\n }\r\n };\r\n n.prototype.print = function () {\r\n var a = this.exportChart({ toDataURL: !0 }),\r\n d = document.createElement('iframe');\r\n d.setAttribute('class', 'canvasjs-chart-print-frame');\r\n V(d, {\r\n position: 'absolute',\r\n width: '100%',\r\n border: '0px',\r\n margin: '0px 0px 0px 0px',\r\n padding: '0px 0px 0px 0px',\r\n });\r\n d.style.height = this.height + 'px';\r\n this._canvasJSContainer.appendChild(d);\r\n var c = this,\r\n b = d.contentWindow || d.contentDocument.document || d.contentDocument;\r\n b.document.open();\r\n b.document.write(\r\n '\\n'\r\n );\r\n b.document.body &&\r\n b.document.body.style &&\r\n ((b.document.body.style.margin = '0px 0px 0px 0px'),\r\n (b.document.body.style.padding = '0px 0px 0px 0px'));\r\n b.document.close();\r\n setTimeout(function () {\r\n b.focus();\r\n b.print();\r\n setTimeout(function () {\r\n c._canvasJSContainer.removeChild(d);\r\n }, 1e3);\r\n }, 500);\r\n };\r\n n.prototype.getPercentAndTotal = function (a, d) {\r\n var c = null,\r\n b = null,\r\n e = (c = null);\r\n if (0 <= a.type.indexOf('stacked'))\r\n (b = 0),\r\n (c = d.x.getTime ? d.x.getTime() : d.x),\r\n c in a.plotUnit.yTotals &&\r\n ((b = a.plotUnit.yTotals[c]),\r\n (c = a.plotUnit.yAbsTotals[c]),\r\n (e = isNaN(d.y) ? 0 : 0 === c ? 0 : 100 * (d.y / c)));\r\n else if (\r\n 'pie' === a.type ||\r\n 'doughnut' === a.type ||\r\n 'funnel' === a.type ||\r\n 'pyramid' === a.type\r\n ) {\r\n for (c = b = 0; c < a.dataPoints.length; c++)\r\n isNaN(a.dataPoints[c].y) || (b += a.dataPoints[c].y);\r\n e = isNaN(d.y) ? 0 : 100 * (d.y / b);\r\n }\r\n return { percent: e, total: b };\r\n };\r\n n.prototype.replaceKeywordsWithValue = function (a, d, c, b, e) {\r\n var f = this;\r\n e = 'undefined' === typeof e ? 0 : e;\r\n if (\r\n (0 <= c.type.indexOf('stacked') ||\r\n 'pie' === c.type ||\r\n 'doughnut' === c.type ||\r\n 'funnel' === c.type ||\r\n 'pyramid' === c.type) &&\r\n (0 <= a.indexOf('#percent') || 0 <= a.indexOf('#total'))\r\n ) {\r\n var l = '#percent',\r\n h = '#total',\r\n n = this.getPercentAndTotal(c, d),\r\n h = isNaN(n.total) ? h : n.total,\r\n l = isNaN(n.percent) ? l : n.percent;\r\n do {\r\n n = '';\r\n if (c.percentFormatString) n = c.percentFormatString;\r\n else {\r\n var n = '#,##0.',\r\n k = Math.max(Math.ceil(Math.log(1 / Math.abs(l)) / Math.LN10), 2);\r\n if (isNaN(k) || !isFinite(k)) k = 2;\r\n for (var m = 0; m < k; m++) n += '#';\r\n c.percentFormatString = n;\r\n }\r\n a = a.replace('#percent', ha(l, n, f._cultureInfo));\r\n a = a.replace(\r\n '#total',\r\n ha(\r\n h,\r\n c.yValueFormatString ? c.yValueFormatString : '#,##0.########',\r\n f._cultureInfo\r\n )\r\n );\r\n } while (0 <= a.indexOf('#percent') || 0 <= a.indexOf('#total'));\r\n }\r\n return a.replace(/\\{.*?\\}|\"[^\"]*\"|'[^']*'/g, function (a) {\r\n if (\r\n ('\"' === a[0] && '\"' === a[a.length - 1]) ||\r\n (\"'\" === a[0] && \"'\" === a[a.length - 1])\r\n )\r\n return a.slice(1, a.length - 1);\r\n a = Ga(a.slice(1, a.length - 1));\r\n a = a.replace('#index', e);\r\n var l = null;\r\n try {\r\n var g = a.match(/(.*?)\\s*\\[\\s*(.*?)\\s*\\]/);\r\n g && 0 < g.length && ((l = Ga(g[2])), (a = Ga(g[1])));\r\n } catch (k) {}\r\n g = null;\r\n if ('color' === a)\r\n return 'waterfall' === c.type\r\n ? d.color\r\n ? d.color\r\n : 0 < d.y\r\n ? c.risingColor\r\n : c.fallingColor\r\n : 'error' === c.type\r\n ? c.color\r\n ? c.color\r\n : c._colorSet[l % c._colorSet.length]\r\n : d.color\r\n ? d.color\r\n : c.color\r\n ? c.color\r\n : c._colorSet[b % c._colorSet.length];\r\n if (d.hasOwnProperty(a)) g = d;\r\n else if (c.hasOwnProperty(a)) g = c;\r\n else return '';\r\n g = g[a];\r\n null !== l && (g = g[l]);\r\n if ('x' === a)\r\n if (\r\n (c.axisX && 'dateTime' === c.axisX.valueType) ||\r\n 'dateTime' === c.xValueType ||\r\n (d.x && d.x.getTime)\r\n ) {\r\n if (!c.axisX.logarithmic)\r\n return Ba(\r\n g,\r\n d.xValueFormatString\r\n ? d.xValueFormatString\r\n : c.xValueFormatString\r\n ? c.xValueFormatString\r\n : (c.xValueFormatString =\r\n f.axisX && f.axisX.autoValueFormatString\r\n ? f.axisX.autoValueFormatString\r\n : 'DD MMM YY'),\r\n f._cultureInfo\r\n );\r\n } else\r\n return ha(\r\n g,\r\n d.xValueFormatString\r\n ? d.xValueFormatString\r\n : c.xValueFormatString\r\n ? c.xValueFormatString\r\n : (c.xValueFormatString = '#,##0.########'),\r\n f._cultureInfo\r\n );\r\n else\r\n return 'y' === a\r\n ? ha(\r\n g,\r\n d.yValueFormatString\r\n ? d.yValueFormatString\r\n : c.yValueFormatString\r\n ? c.yValueFormatString\r\n : (c.yValueFormatString = '#,##0.########'),\r\n f._cultureInfo\r\n )\r\n : 'z' === a\r\n ? ha(\r\n g,\r\n d.zValueFormatString\r\n ? d.zValueFormatString\r\n : c.zValueFormatString\r\n ? c.zValueFormatString\r\n : (c.zValueFormatString = '#,##0.########'),\r\n f._cultureInfo\r\n )\r\n : g;\r\n });\r\n };\r\n qa(O, $);\r\n O.prototype.setLayout = function () {\r\n var a = this.dockInsidePlotArea ? this.chart.plotArea : this.chart,\r\n d = a.layoutManager.getFreeSpace(),\r\n c = null,\r\n b = 0,\r\n e = 0,\r\n f = 0,\r\n l = 0,\r\n h = (this.markerMargin =\r\n this.chart.options.legend &&\r\n !r(this.chart.options.legend.markerMargin)\r\n ? this.chart.options.legend.markerMargin\r\n : 0.3 * this.fontSize);\r\n this.height = 0;\r\n var n = [],\r\n k = [];\r\n if ('top' === this.verticalAlign || 'bottom' === this.verticalAlign)\r\n (this.orientation = 'horizontal'),\r\n (c = this.verticalAlign),\r\n (f = this.maxWidth =\r\n null !== this.maxWidth ? this.maxWidth : d.width),\r\n (l = this.maxHeight =\r\n null !== this.maxHeight ? this.maxHeight : 0.5 * d.height);\r\n else if ('center' === this.verticalAlign) {\r\n this.orientation = 'vertical';\r\n if (\r\n 'left' === this.horizontalAlign ||\r\n 'center' === this.horizontalAlign ||\r\n 'right' === this.horizontalAlign\r\n )\r\n c = this.horizontalAlign;\r\n f = this.maxWidth =\r\n null !== this.maxWidth ? this.maxWidth : 0.5 * d.width;\r\n l = this.maxHeight =\r\n null !== this.maxHeight ? this.maxHeight : d.height;\r\n }\r\n this.errorMarkerColor = [];\r\n for (var m = 0; m < this.dataSeries.length; m++) {\r\n var p = this.dataSeries[m];\r\n if (p.dataPoints && p.dataPoints.length)\r\n if (\r\n 'pie' !== p.type &&\r\n 'doughnut' !== p.type &&\r\n 'funnel' !== p.type &&\r\n 'pyramid' !== p.type\r\n ) {\r\n var q = (p.legendMarkerType = p.legendMarkerType\r\n ? p.legendMarkerType\r\n : ('line' !== p.type &&\r\n 'stepLine' !== p.type &&\r\n 'spline' !== p.type &&\r\n 'scatter' !== p.type &&\r\n 'bubble' !== p.type) ||\r\n !p.markerType\r\n ? 'error' === p.type && p._linkedSeries\r\n ? p._linkedSeries.legendMarkerType\r\n ? p._linkedSeries.legendMarkerType\r\n : W.getDefaultLegendMarker(p._linkedSeries.type)\r\n : W.getDefaultLegendMarker(p.type)\r\n : p.markerType),\r\n g = p.legendText\r\n ? p.legendText\r\n : this.itemTextFormatter\r\n ? this.itemTextFormatter({\r\n chart: this.chart,\r\n legend: this.options,\r\n dataSeries: p,\r\n dataPoint: null,\r\n })\r\n : p.name,\r\n t = (p.legendMarkerColor = p.legendMarkerColor\r\n ? p.legendMarkerColor\r\n : p.markerColor\r\n ? p.markerColor\r\n : 'error' === p.type\r\n ? r(p.whiskerColor)\r\n ? p._colorSet[0]\r\n : p.whiskerColor\r\n : p._colorSet[0]),\r\n w =\r\n p.markerSize ||\r\n ('line' !== p.type &&\r\n 'stepLine' !== p.type &&\r\n 'spline' !== p.type)\r\n ? 0.75 * this.lineHeight\r\n : 0,\r\n v = p.legendMarkerBorderColor\r\n ? p.legendMarkerBorderColor\r\n : p.markerBorderColor,\r\n u = p.legendMarkerBorderThickness\r\n ? p.legendMarkerBorderThickness\r\n : p.markerBorderThickness\r\n ? Math.max(1, Math.round(0.2 * w))\r\n : 0;\r\n 'error' === p.type && this.errorMarkerColor.push(t);\r\n g = this.chart.replaceKeywordsWithValue(g, p.dataPoints[0], p, m);\r\n q = {\r\n markerType: q,\r\n markerColor: t,\r\n text: g,\r\n textBlock: null,\r\n chartType: p.type,\r\n markerSize: w,\r\n lineColor: p._colorSet[0],\r\n dataSeriesIndex: p.index,\r\n dataPointIndex: null,\r\n markerBorderColor: v,\r\n markerBorderThickness: u,\r\n };\r\n n.push(q);\r\n } else\r\n for (var y = 0; y < p.dataPoints.length; y++) {\r\n var x = p.dataPoints[y],\r\n q = x.legendMarkerType\r\n ? x.legendMarkerType\r\n : p.legendMarkerType\r\n ? p.legendMarkerType\r\n : W.getDefaultLegendMarker(p.type),\r\n g = x.legendText\r\n ? x.legendText\r\n : p.legendText\r\n ? p.legendText\r\n : this.itemTextFormatter\r\n ? this.itemTextFormatter({\r\n chart: this.chart,\r\n legend: this.options,\r\n dataSeries: p,\r\n dataPoint: x,\r\n })\r\n : x.name\r\n ? x.name\r\n : 'DataPoint: ' + (y + 1),\r\n t = x.legendMarkerColor\r\n ? x.legendMarkerColor\r\n : p.legendMarkerColor\r\n ? p.legendMarkerColor\r\n : x.color\r\n ? x.color\r\n : p.color\r\n ? p.color\r\n : p._colorSet[y % p._colorSet.length],\r\n w = 0.75 * this.lineHeight,\r\n v = x.legendMarkerBorderColor\r\n ? x.legendMarkerBorderColor\r\n : p.legendMarkerBorderColor\r\n ? p.legendMarkerBorderColor\r\n : x.markerBorderColor\r\n ? x.markerBorderColor\r\n : p.markerBorderColor,\r\n u = x.legendMarkerBorderThickness\r\n ? x.legendMarkerBorderThickness\r\n : p.legendMarkerBorderThickness\r\n ? p.legendMarkerBorderThickness\r\n : x.markerBorderThickness || p.markerBorderThickness\r\n ? Math.max(1, Math.round(0.2 * w))\r\n : 0,\r\n g = this.chart.replaceKeywordsWithValue(g, x, p, y),\r\n q = {\r\n markerType: q,\r\n markerColor: t,\r\n text: g,\r\n textBlock: null,\r\n chartType: p.type,\r\n markerSize: w,\r\n dataSeriesIndex: m,\r\n dataPointIndex: y,\r\n markerBorderColor: v,\r\n markerBorderThickness: u,\r\n };\r\n (x.showInLegend || (p.showInLegend && !1 !== x.showInLegend)) &&\r\n n.push(q);\r\n }\r\n }\r\n !0 === this.reversed && n.reverse();\r\n if (0 < n.length) {\r\n p = null;\r\n t = g = x = y = 0;\r\n x =\r\n null !== this.itemWidth\r\n ? null !== this.itemMaxWidth\r\n ? Math.min(this.itemWidth, this.itemMaxWidth, f)\r\n : (this.itemMaxWidth = Math.min(this.itemWidth, f))\r\n : null !== this.itemMaxWidth\r\n ? Math.min(this.itemMaxWidth, f)\r\n : (this.itemMaxWidth = f);\r\n w = 0 === w ? 0.75 * this.lineHeight : w;\r\n x -= w + h;\r\n for (m = 0; m < n.length; m++) {\r\n q = n[m];\r\n v = x;\r\n if (\r\n 'line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n )\r\n v -= 2 * 0.1 * this.lineHeight;\r\n if (\r\n !(\r\n 0 >= l ||\r\n 'undefined' === typeof l ||\r\n 0 >= v ||\r\n 'undefined' === typeof v\r\n )\r\n ) {\r\n if ('horizontal' === this.orientation) {\r\n q.textBlock = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: v,\r\n maxHeight: this.itemWrap ? l : this.lineHeight,\r\n angle: 0,\r\n text: q.text,\r\n horizontalAlign: 'left',\r\n fontSize: this.fontSize,\r\n fontFamily: this.fontFamily,\r\n fontWeight: this.fontWeight,\r\n fontColor: this.fontColor,\r\n fontStyle: this.fontStyle,\r\n textBaseline: 'middle',\r\n });\r\n q.textBlock.measureText();\r\n null !== this.itemWidth &&\r\n (q.textBlock.width =\r\n this.itemWidth -\r\n (w +\r\n h +\r\n ('line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n ? 2 * 0.1 * this.lineHeight\r\n : 0)));\r\n if (\r\n !p ||\r\n p.width +\r\n Math.round(\r\n q.textBlock.width +\r\n w +\r\n h +\r\n (0 === p.width ? 0 : this.horizontalSpacing) +\r\n ('line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n ? 2 * 0.1 * this.lineHeight\r\n : 0)\r\n ) >\r\n f\r\n )\r\n (p = { items: [], width: 0 }),\r\n k.push(p),\r\n (this.height += g),\r\n (g = 0);\r\n g = Math.max(g, q.textBlock.height);\r\n } else\r\n (q.textBlock = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: x,\r\n maxHeight: !0 === this.itemWrap ? l : 1.5 * this.fontSize,\r\n angle: 0,\r\n text: q.text,\r\n horizontalAlign: 'left',\r\n fontSize: this.fontSize,\r\n fontFamily: this.fontFamily,\r\n fontWeight: this.fontWeight,\r\n fontColor: this.fontColor,\r\n fontStyle: this.fontStyle,\r\n textBaseline: 'middle',\r\n })),\r\n q.textBlock.measureText(),\r\n null !== this.itemWidth &&\r\n (q.textBlock.width =\r\n this.itemWidth -\r\n (w +\r\n h +\r\n ('line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n ? 2 * 0.1 * this.lineHeight\r\n : 0))),\r\n this.height < l - this.lineHeight\r\n ? ((p = { items: [], width: 0 }), k.push(p))\r\n : ((p = k[y]), (y = (y + 1) % k.length)),\r\n (this.height += q.textBlock.height);\r\n q.textBlock.x = p.width;\r\n q.textBlock.y = 0;\r\n p.width += Math.round(\r\n q.textBlock.width +\r\n w +\r\n h +\r\n (0 === p.width ? 0 : this.horizontalSpacing) +\r\n ('line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n ? 2 * 0.1 * this.lineHeight\r\n : 0)\r\n );\r\n p.items.push(q);\r\n this.width = Math.max(p.width, this.width);\r\n t =\r\n q.textBlock.width +\r\n (w +\r\n h +\r\n ('line' === q.chartType ||\r\n 'spline' === q.chartType ||\r\n 'stepLine' === q.chartType\r\n ? 2 * 0.1 * this.lineHeight\r\n : 0));\r\n }\r\n }\r\n this.itemWidth = t;\r\n this.height =\r\n !1 === this.itemWrap ? k.length * this.lineHeight : this.height + g;\r\n this.height = Math.min(l, this.height);\r\n this.width = Math.min(f, this.width);\r\n }\r\n 'top' === this.verticalAlign\r\n ? ((e =\r\n 'left' === this.horizontalAlign\r\n ? d.x1\r\n : 'right' === this.horizontalAlign\r\n ? d.x2 - this.width\r\n : d.x1 + d.width / 2 - this.width / 2),\r\n (b = d.y1))\r\n : 'center' === this.verticalAlign\r\n ? ((e =\r\n 'left' === this.horizontalAlign\r\n ? d.x1\r\n : 'right' === this.horizontalAlign\r\n ? d.x2 - this.width\r\n : d.x1 + d.width / 2 - this.width / 2),\r\n (b = d.y1 + d.height / 2 - this.height / 2))\r\n : 'bottom' === this.verticalAlign &&\r\n ((e =\r\n 'left' === this.horizontalAlign\r\n ? d.x1\r\n : 'right' === this.horizontalAlign\r\n ? d.x2 - this.width\r\n : d.x1 + d.width / 2 - this.width / 2),\r\n (b = d.y2 - this.height));\r\n this.items = n;\r\n for (m = 0; m < this.items.length; m++)\r\n (q = n[m]),\r\n (q.id = ++this.chart._eventManager.lastObjectId),\r\n (this.chart._eventManager.objectMap[q.id] = {\r\n id: q.id,\r\n objectType: 'legendItem',\r\n legendItemIndex: m,\r\n dataSeriesIndex: q.dataSeriesIndex,\r\n dataPointIndex: q.dataPointIndex,\r\n });\r\n this.markerSize = w;\r\n this.rows = k;\r\n 0 < n.length &&\r\n a.layoutManager.registerSpace(c, {\r\n width: this.width + 2 + 2,\r\n height: this.height + 5 + 5,\r\n });\r\n this.bounds = { x1: e, y1: b, x2: e + this.width, y2: b + this.height };\r\n };\r\n O.prototype.render = function () {\r\n var a = this.bounds.x1,\r\n d = this.bounds.y1,\r\n c = this.markerMargin,\r\n b = this.maxWidth,\r\n e = this.maxHeight,\r\n f = this.markerSize,\r\n l = this.rows;\r\n ((0 < this.borderThickness && this.borderColor) ||\r\n this.backgroundColor) &&\r\n this.ctx.roundRect(\r\n a,\r\n d,\r\n this.width,\r\n this.height,\r\n this.cornerRadius,\r\n this.borderThickness,\r\n this.backgroundColor,\r\n this.borderColor\r\n );\r\n for (var h = 0, n = 0; n < l.length; n++) {\r\n for (var k = l[n], m = 0, p = 0; p < k.items.length; p++) {\r\n var q = k.items[p],\r\n g =\r\n q.textBlock.x + a + (0 === p ? 0.2 * f : this.horizontalSpacing),\r\n r = d + h,\r\n w = g;\r\n this.chart.data[q.dataSeriesIndex].visible ||\r\n (this.ctx.globalAlpha = 0.5);\r\n this.ctx.save();\r\n this.ctx.beginPath();\r\n this.ctx.rect(a, d, b, Math.max(e - (e % this.lineHeight), 0));\r\n this.ctx.clip();\r\n if (\r\n 'line' === q.chartType ||\r\n 'stepLine' === q.chartType ||\r\n 'spline' === q.chartType\r\n )\r\n (this.ctx.strokeStyle = q.lineColor),\r\n (this.ctx.lineWidth = Math.ceil(this.lineHeight / 8)),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(\r\n g - 0.1 * this.lineHeight,\r\n r + this.lineHeight / 2\r\n ),\r\n this.ctx.lineTo(\r\n g + 0.85 * this.lineHeight,\r\n r + this.lineHeight / 2\r\n ),\r\n this.ctx.stroke(),\r\n (w -= 0.1 * this.lineHeight);\r\n if ('error' === q.chartType) {\r\n this.ctx.strokeStyle = this.errorMarkerColor[0];\r\n this.ctx.lineWidth = f / 8;\r\n this.ctx.beginPath();\r\n var v = g - 0.08 * this.lineHeight + 0.1 * this.lineHeight,\r\n u = r + 0.15 * this.lineHeight,\r\n y = 0.7 * this.lineHeight,\r\n x = y + 0.02 * this.lineHeight;\r\n this.ctx.moveTo(v, u);\r\n this.ctx.lineTo(v + y, u);\r\n this.ctx.stroke();\r\n this.ctx.beginPath();\r\n this.ctx.moveTo(v + y / 2, u);\r\n this.ctx.lineTo(v + y / 2, u + x);\r\n this.ctx.stroke();\r\n this.ctx.beginPath();\r\n this.ctx.moveTo(v, u + x);\r\n this.ctx.lineTo(v + y, u + x);\r\n this.ctx.stroke();\r\n this.errorMarkerColor.shift();\r\n }\r\n aa.drawMarker(\r\n g + f / 2,\r\n r + this.lineHeight / 2,\r\n this.ctx,\r\n q.markerType,\r\n 'error' === q.chartType ||\r\n 'line' === q.chartType ||\r\n 'spline' === q.chartType\r\n ? q.markerSize / 2\r\n : q.markerSize,\r\n q.markerColor,\r\n q.markerBorderColor,\r\n q.markerBorderThickness\r\n );\r\n q.textBlock.x = g + c + f;\r\n if (\r\n 'line' === q.chartType ||\r\n 'stepLine' === q.chartType ||\r\n 'spline' === q.chartType\r\n )\r\n q.textBlock.x += 0.1 * this.lineHeight;\r\n q.textBlock.y = Math.round(r + this.lineHeight / 2);\r\n q.textBlock.render(!0);\r\n this.ctx.restore();\r\n m = 0 < p ? Math.max(m, q.textBlock.height) : q.textBlock.height;\r\n this.chart.data[q.dataSeriesIndex].visible ||\r\n (this.ctx.globalAlpha = 1);\r\n g = Q(q.id);\r\n this.ghostCtx.fillStyle = g;\r\n this.ghostCtx.beginPath();\r\n this.ghostCtx.fillRect(\r\n w,\r\n q.textBlock.y - this.lineHeight / 2,\r\n q.textBlock.x + q.textBlock.width - w,\r\n q.textBlock.height\r\n );\r\n q.x1 = this.chart._eventManager.objectMap[q.id].x1 = w;\r\n q.y1 = this.chart._eventManager.objectMap[q.id].y1 =\r\n q.textBlock.y - this.lineHeight / 2;\r\n q.x2 = this.chart._eventManager.objectMap[q.id].x2 =\r\n q.textBlock.x + q.textBlock.width;\r\n q.y2 = this.chart._eventManager.objectMap[q.id].y2 =\r\n q.textBlock.y + q.textBlock.height - this.lineHeight / 2;\r\n }\r\n h += m;\r\n }\r\n };\r\n qa(W, $);\r\n W.prototype.getDefaultAxisPlacement = function () {\r\n var a = this.type;\r\n if (\r\n 'column' === a ||\r\n 'line' === a ||\r\n 'stepLine' === a ||\r\n 'spline' === a ||\r\n 'area' === a ||\r\n 'stepArea' === a ||\r\n 'splineArea' === a ||\r\n 'stackedColumn' === a ||\r\n 'stackedLine' === a ||\r\n 'bubble' === a ||\r\n 'scatter' === a ||\r\n 'stackedArea' === a ||\r\n 'stackedColumn100' === a ||\r\n 'stackedLine100' === a ||\r\n 'stackedArea100' === a ||\r\n 'candlestick' === a ||\r\n 'ohlc' === a ||\r\n 'rangeColumn' === a ||\r\n 'rangeArea' === a ||\r\n 'rangeSplineArea' === a ||\r\n 'boxAndWhisker' === a ||\r\n 'waterfall' === a\r\n )\r\n return 'normal';\r\n if (\r\n 'bar' === a ||\r\n 'stackedBar' === a ||\r\n 'stackedBar100' === a ||\r\n 'rangeBar' === a\r\n )\r\n return 'xySwapped';\r\n if ('pie' === a || 'doughnut' === a || 'funnel' === a || 'pyramid' === a)\r\n return 'none';\r\n 'error' !== a && window.console.log('Unknown Chart Type: ' + a);\r\n return null;\r\n };\r\n W.getDefaultLegendMarker = function (a) {\r\n if (\r\n 'column' === a ||\r\n 'stackedColumn' === a ||\r\n 'stackedLine' === a ||\r\n 'bar' === a ||\r\n 'stackedBar' === a ||\r\n 'stackedBar100' === a ||\r\n 'bubble' === a ||\r\n 'scatter' === a ||\r\n 'stackedColumn100' === a ||\r\n 'stackedLine100' === a ||\r\n 'stepArea' === a ||\r\n 'candlestick' === a ||\r\n 'ohlc' === a ||\r\n 'rangeColumn' === a ||\r\n 'rangeBar' === a ||\r\n 'rangeArea' === a ||\r\n 'rangeSplineArea' === a ||\r\n 'boxAndWhisker' === a ||\r\n 'waterfall' === a\r\n )\r\n return 'square';\r\n if (\r\n 'line' === a ||\r\n 'stepLine' === a ||\r\n 'spline' === a ||\r\n 'pie' === a ||\r\n 'doughnut' === a\r\n )\r\n return 'circle';\r\n if (\r\n 'area' === a ||\r\n 'splineArea' === a ||\r\n 'stackedArea' === a ||\r\n 'stackedArea100' === a ||\r\n 'funnel' === a ||\r\n 'pyramid' === a\r\n )\r\n return 'triangle';\r\n if ('error' === a) return 'none';\r\n window.console.log('Unknown Chart Type: ' + a);\r\n return null;\r\n };\r\n W.prototype.getDataPointAtX = function (a, d) {\r\n if (!this.dataPoints || 0 === this.dataPoints.length) return null;\r\n var c = { dataPoint: null, distance: Infinity, index: NaN },\r\n b = null,\r\n e = 0,\r\n f = 0,\r\n l = 1,\r\n h = Infinity,\r\n n = 0,\r\n k = 0,\r\n m = 0;\r\n 'none' !== this.chart.plotInfo.axisPlacement &&\r\n (this.axisX.logarithmic\r\n ? ((m = Math.log(\r\n this.dataPoints[this.dataPoints.length - 1].x /\r\n this.dataPoints[0].x\r\n )),\r\n (m =\r\n 1 < m\r\n ? Math.min(\r\n Math.max(\r\n (((this.dataPoints.length - 1) / m) *\r\n Math.log(a / this.dataPoints[0].x)) >>\r\n 0,\r\n 0\r\n ),\r\n this.dataPoints.length\r\n )\r\n : 0))\r\n : ((m =\r\n this.dataPoints[this.dataPoints.length - 1].x -\r\n this.dataPoints[0].x),\r\n (m =\r\n 0 < m\r\n ? Math.min(\r\n Math.max(\r\n (((this.dataPoints.length - 1) / m) *\r\n (a - this.dataPoints[0].x)) >>\r\n 0,\r\n 0\r\n ),\r\n this.dataPoints.length\r\n )\r\n : 0)));\r\n for (;;) {\r\n f = 0 < l ? m + e : m - e;\r\n if (0 <= f && f < this.dataPoints.length) {\r\n var b = this.dataPoints[f],\r\n p = this.axisX.logarithmic\r\n ? b.x > a\r\n ? b.x / a\r\n : a / b.x\r\n : Math.abs(b.x - a);\r\n p < c.distance &&\r\n ((c.dataPoint = b), (c.distance = p), (c.index = f));\r\n b = p;\r\n b <= h ? (h = b) : 0 < l ? n++ : k++;\r\n if (1e3 < n && 1e3 < k) break;\r\n } else if (0 > m - e && m + e >= this.dataPoints.length) break;\r\n -1 === l ? (e++, (l = 1)) : (l = -1);\r\n }\r\n return d ||\r\n (c.dataPoint.x.getTime ? c.dataPoint.x.getTime() : c.dataPoint.x) !==\r\n (a.getTime ? a.getTime() : a)\r\n ? d && null !== c.dataPoint\r\n ? c\r\n : null\r\n : c;\r\n };\r\n W.prototype.getDataPointAtXY = function (a, d, c) {\r\n if (\r\n !this.dataPoints ||\r\n 0 === this.dataPoints.length ||\r\n a < this.chart.plotArea.x1 ||\r\n a > this.chart.plotArea.x2 ||\r\n d < this.chart.plotArea.y1 ||\r\n d > this.chart.plotArea.y2\r\n )\r\n return null;\r\n c = c || !1;\r\n var b = [],\r\n e = 0,\r\n f = 0,\r\n l = 1,\r\n h = !1,\r\n n = Infinity,\r\n k = 0,\r\n m = 0,\r\n p = 0;\r\n if ('none' !== this.chart.plotInfo.axisPlacement)\r\n if (\r\n ((p = (this.chart.axisX[0]\r\n ? this.chart.axisX[0]\r\n : this.chart.axisX2[0]\r\n ).getXValueAt({ x: a, y: d })),\r\n this.axisX.logarithmic)\r\n )\r\n var q = Math.log(\r\n this.dataPoints[this.dataPoints.length - 1].x /\r\n this.dataPoints[0].x\r\n ),\r\n p =\r\n 1 < q\r\n ? Math.min(\r\n Math.max(\r\n (((this.dataPoints.length - 1) / q) *\r\n Math.log(p / this.dataPoints[0].x)) >>\r\n 0,\r\n 0\r\n ),\r\n this.dataPoints.length\r\n )\r\n : 0;\r\n else\r\n (q =\r\n this.dataPoints[this.dataPoints.length - 1].x -\r\n this.dataPoints[0].x),\r\n (p =\r\n 0 < q\r\n ? Math.min(\r\n Math.max(\r\n (((this.dataPoints.length - 1) / q) *\r\n (p - this.dataPoints[0].x)) >>\r\n 0,\r\n 0\r\n ),\r\n this.dataPoints.length\r\n )\r\n : 0);\r\n for (;;) {\r\n f = 0 < l ? p + e : p - e;\r\n if (0 <= f && f < this.dataPoints.length) {\r\n var q = this.chart._eventManager.objectMap[this.dataPointIds[f]],\r\n g = this.dataPoints[f],\r\n r = null;\r\n if (q) {\r\n switch (this.type) {\r\n case 'column':\r\n case 'stackedColumn':\r\n case 'stackedColumn100':\r\n case 'bar':\r\n case 'stackedBar':\r\n case 'stackedBar100':\r\n case 'rangeColumn':\r\n case 'rangeBar':\r\n case 'waterfall':\r\n case 'error':\r\n a >= q.x1 &&\r\n a <= q.x2 &&\r\n d >= q.y1 &&\r\n d <= q.y2 &&\r\n (b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: Math.min(\r\n Math.abs(q.x1 - a),\r\n Math.abs(q.x2 - a),\r\n Math.abs(q.y1 - d),\r\n Math.abs(q.y2 - d)\r\n ),\r\n }),\r\n (h = !0));\r\n break;\r\n case 'line':\r\n case 'stepLine':\r\n case 'spline':\r\n case 'area':\r\n case 'stepArea':\r\n case 'stackedArea':\r\n case 'stackedArea100':\r\n case 'splineArea':\r\n case 'scatter':\r\n var w = ma('markerSize', g, this) || 4,\r\n v = c ? 20 : w,\r\n r = Math.sqrt(Math.pow(q.x1 - a, 2) + Math.pow(q.y1 - d, 2));\r\n r <= v &&\r\n b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: r,\r\n });\r\n q = Math.abs(q.x1 - a);\r\n q <= n ? (n = q) : 0 < l ? k++ : m++;\r\n r <= w / 2 && (h = !0);\r\n break;\r\n case 'rangeArea':\r\n case 'rangeSplineArea':\r\n w = ma('markerSize', g, this) || 4;\r\n v = c ? 20 : w;\r\n r = Math.min(\r\n Math.sqrt(Math.pow(q.x1 - a, 2) + Math.pow(q.y1 - d, 2)),\r\n Math.sqrt(Math.pow(q.x1 - a, 2) + Math.pow(q.y2 - d, 2))\r\n );\r\n r <= v &&\r\n b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: r,\r\n });\r\n q = Math.abs(q.x1 - a);\r\n q <= n ? (n = q) : 0 < l ? k++ : m++;\r\n r <= w / 2 && (h = !0);\r\n break;\r\n case 'bubble':\r\n w = q.size;\r\n r = Math.sqrt(Math.pow(q.x1 - a, 2) + Math.pow(q.y1 - d, 2));\r\n r <= w / 2 &&\r\n (b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: r,\r\n }),\r\n (h = !0));\r\n break;\r\n case 'pie':\r\n case 'doughnut':\r\n w = q.center;\r\n v =\r\n 'doughnut' === this.type\r\n ? q.percentInnerRadius * q.radius\r\n : 0;\r\n r = Math.sqrt(Math.pow(w.x - a, 2) + Math.pow(w.y - d, 2));\r\n r < q.radius &&\r\n r > v &&\r\n ((r = Math.atan2(d - w.y, a - w.x)),\r\n 0 > r && (r += 2 * Math.PI),\r\n (r = Number(\r\n ((((180 * (r / Math.PI)) % 360) + 360) % 360).toFixed(12)\r\n )),\r\n (w = Number(\r\n (\r\n (((180 * (q.startAngle / Math.PI)) % 360) + 360) %\r\n 360\r\n ).toFixed(12)\r\n )),\r\n (v = Number(\r\n (\r\n (((180 * (q.endAngle / Math.PI)) % 360) + 360) %\r\n 360\r\n ).toFixed(12)\r\n )),\r\n 0 === v && 1 < q.endAngle && (v = 360),\r\n w >= v && 0 !== g.y && ((v += 360), r < w && (r += 360)),\r\n r > w &&\r\n r < v &&\r\n (b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: 0,\r\n }),\r\n (h = !0)));\r\n break;\r\n case 'funnel':\r\n case 'pyramid':\r\n r = q.funnelSection;\r\n d > r.y1 &&\r\n d < r.y4 &&\r\n (r.y6\r\n ? d > r.y6\r\n ? ((f =\r\n r.x6 + ((r.x5 - r.x6) / (r.y5 - r.y6)) * (d - r.y6)),\r\n (r =\r\n r.x3 + ((r.x4 - r.x3) / (r.y4 - r.y3)) * (d - r.y3)))\r\n : ((f =\r\n r.x1 + ((r.x6 - r.x1) / (r.y6 - r.y1)) * (d - r.y1)),\r\n (r =\r\n r.x2 + ((r.x3 - r.x2) / (r.y3 - r.y2)) * (d - r.y2)))\r\n : ((f =\r\n r.x1 + ((r.x4 - r.x1) / (r.y4 - r.y1)) * (d - r.y1)),\r\n (r =\r\n r.x2 + ((r.x3 - r.x2) / (r.y3 - r.y2)) * (d - r.y2))),\r\n a > f &&\r\n a < r &&\r\n (b.push({\r\n dataPoint: g,\r\n dataPointIndex: q.dataPointIndex,\r\n dataSeries: this,\r\n distance: 0,\r\n }),\r\n (h = !0)));\r\n break;\r\n case 'boxAndWhisker':\r\n if (\r\n (a >= q.x1 - q.borderThickness / 2 &&\r\n a <= q.x2 + q.borderThickness / 2 &&\r\n d >= q.y4 - q.borderThickness / 2 &&\r\n d <= q.y1 + q.borderThickness / 2) ||\r\n (Math.abs(q.x2 - a + q.x1 - a) < q.borderThickness &&\r\n d >= q.y1 &&\r\n d <= q.y4)\r\n )\r\n b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: Math.min(\r\n Math.abs(q.x1 - a),\r\n Math.abs(q.x2 - a),\r\n Math.abs(q.y2 - d),\r\n Math.abs(q.y3 - d)\r\n ),\r\n }),\r\n (h = !0);\r\n break;\r\n case 'candlestick':\r\n if (\r\n (a >= q.x1 - q.borderThickness / 2 &&\r\n a <= q.x2 + q.borderThickness / 2 &&\r\n d >= q.y2 - q.borderThickness / 2 &&\r\n d <= q.y3 + q.borderThickness / 2) ||\r\n (Math.abs(q.x2 - a + q.x1 - a) < q.borderThickness &&\r\n d >= q.y1 &&\r\n d <= q.y4)\r\n )\r\n b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: Math.min(\r\n Math.abs(q.x1 - a),\r\n Math.abs(q.x2 - a),\r\n Math.abs(q.y2 - d),\r\n Math.abs(q.y3 - d)\r\n ),\r\n }),\r\n (h = !0);\r\n break;\r\n case 'ohlc':\r\n if (\r\n (Math.abs(q.x2 - a + q.x1 - a) < q.borderThickness &&\r\n d >= q.y2 &&\r\n d <= q.y3) ||\r\n (a >= q.x1 &&\r\n a <= (q.x2 + q.x1) / 2 &&\r\n d >= q.y1 - q.borderThickness / 2 &&\r\n d <= q.y1 + q.borderThickness / 2) ||\r\n (a >= (q.x1 + q.x2) / 2 &&\r\n a <= q.x2 &&\r\n d >= q.y4 - q.borderThickness / 2 &&\r\n d <= q.y4 + q.borderThickness / 2)\r\n )\r\n b.push({\r\n dataPoint: g,\r\n dataPointIndex: f,\r\n dataSeries: this,\r\n distance: Math.min(\r\n Math.abs(q.x1 - a),\r\n Math.abs(q.x2 - a),\r\n Math.abs(q.y2 - d),\r\n Math.abs(q.y3 - d)\r\n ),\r\n }),\r\n (h = !0);\r\n }\r\n if (h || (1e3 < k && 1e3 < m)) break;\r\n }\r\n } else if (0 > p - e && p + e >= this.dataPoints.length) break;\r\n -1 === l ? (e++, (l = 1)) : (l = -1);\r\n }\r\n a = null;\r\n for (d = 0; d < b.length; d++)\r\n a ? b[d].distance <= a.distance && (a = b[d]) : (a = b[d]);\r\n return a;\r\n };\r\n W.prototype.getMarkerProperties = function (a, d, c, b) {\r\n var e = this.dataPoints;\r\n return {\r\n x: d,\r\n y: c,\r\n ctx: b,\r\n type: e[a].markerType ? e[a].markerType : this.markerType,\r\n size: e[a].markerSize ? e[a].markerSize : this.markerSize,\r\n color: e[a].markerColor\r\n ? e[a].markerColor\r\n : this.markerColor\r\n ? this.markerColor\r\n : e[a].color\r\n ? e[a].color\r\n : this.color\r\n ? this.color\r\n : this._colorSet[a % this._colorSet.length],\r\n borderColor: e[a].markerBorderColor\r\n ? e[a].markerBorderColor\r\n : this.markerBorderColor\r\n ? this.markerBorderColor\r\n : null,\r\n borderThickness: e[a].markerBorderThickness\r\n ? e[a].markerBorderThickness\r\n : this.markerBorderThickness\r\n ? this.markerBorderThickness\r\n : null,\r\n };\r\n };\r\n qa(A, $);\r\n A.prototype.createExtraLabelsForLog = function (a) {\r\n a = (a || 0) + 1;\r\n if (!(5 < a)) {\r\n var d = this.logLabelValues[0] || this.intervalStartPosition;\r\n if (\r\n Math.log(this.range) / Math.log(d / this.viewportMinimum) <\r\n this.noTicks - 1\r\n ) {\r\n for (\r\n var c = A.getNiceNumber(\r\n (d - this.viewportMinimum) /\r\n Math.min(\r\n Math.max(2, this.noTicks - this.logLabelValues.length),\r\n 3\r\n ),\r\n !0\r\n ),\r\n b = Math.ceil(this.viewportMinimum / c) * c;\r\n b < d;\r\n b += c\r\n )\r\n b < this.viewportMinimum || this.logLabelValues.push(b);\r\n this.logLabelValues.sort(Qa);\r\n this.createExtraLabelsForLog(a);\r\n }\r\n }\r\n };\r\n A.prototype.createLabels = function () {\r\n var a,\r\n d,\r\n c = 0,\r\n b = 0,\r\n e,\r\n f = 0,\r\n l = 0,\r\n b = 0,\r\n b = this.interval,\r\n h = 0,\r\n n,\r\n k = 0.6 * this.chart.height,\r\n m;\r\n a = !1;\r\n var p = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [],\r\n q = p.length\r\n ? r(this.scaleBreaks.firstBreakIndex)\r\n ? 0\r\n : this.scaleBreaks.firstBreakIndex\r\n : 0;\r\n if (\r\n 'axisX' !== this.type ||\r\n 'dateTime' !== this.valueType ||\r\n this.logarithmic\r\n ) {\r\n e = this.viewportMaximum;\r\n if (this.labels) {\r\n a = Math.ceil(b);\r\n for (\r\n var b = Math.ceil(this.intervalStartPosition), g = !1, c = b;\r\n c < this.viewportMaximum;\r\n c += a\r\n )\r\n if (this.labels[c]) g = !0;\r\n else {\r\n g = !1;\r\n break;\r\n }\r\n g && ((this.interval = a), (this.intervalStartPosition = b));\r\n }\r\n if (this.logarithmic && !this.equidistantInterval)\r\n for (\r\n this.logLabelValues ||\r\n ((this.logLabelValues = []), this.createExtraLabelsForLog()),\r\n b = 0,\r\n g = q;\r\n b < this.logLabelValues.length;\r\n b++\r\n )\r\n if (((c = this.logLabelValues[b]), c < this.viewportMinimum)) b++;\r\n else {\r\n for (; g < p.length && c > p[g].endValue; g++);\r\n a = g < p.length && c >= p[g].startValue && c <= p[g].endValue;\r\n m = c;\r\n a ||\r\n ((a = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.options,\r\n value: m,\r\n label: this.labels[m] ? this.labels[m] : null,\r\n })\r\n : 'axisX' === this.type && this.labels[m]\r\n ? this.labels[m]\r\n : ha(m, this.valueFormatString, this.chart._cultureInfo)),\r\n (a = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: f,\r\n maxHeight: l,\r\n angle: this.labelAngle,\r\n text: this.prefix + a + this.suffix,\r\n backgroundColor: this.labelBackgroundColor,\r\n borderColor: this.labelBorderColor,\r\n cornerRadius: this.labelCornerRadius,\r\n textAlign: this.labelTextAlign,\r\n fontSize: this.labelFontSize,\r\n fontFamily: this.labelFontFamily,\r\n fontWeight: this.labelFontWeight,\r\n fontColor: this.labelFontColor,\r\n fontStyle: this.labelFontStyle,\r\n textBaseline: 'middle',\r\n borderThickness: 0,\r\n })),\r\n this._labels.push({\r\n position: m,\r\n textBlock: a,\r\n effectiveHeight: null,\r\n }));\r\n }\r\n g = q;\r\n for (\r\n c = this.intervalStartPosition;\r\n c <= e;\r\n c = parseFloat(\r\n 1e-12 > this.interval\r\n ? this.logarithmic && this.equidistantInterval\r\n ? c * Math.pow(this.logarithmBase, this.interval)\r\n : c + this.interval\r\n : (this.logarithmic && this.equidistantInterval\r\n ? c * Math.pow(this.logarithmBase, this.interval)\r\n : c + this.interval\r\n ).toFixed(12)\r\n )\r\n ) {\r\n for (; g < p.length && c > p[g].endValue; g++);\r\n a = g < p.length && c >= p[g].startValue && c <= p[g].endValue;\r\n m = c;\r\n a ||\r\n ((a = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.options,\r\n value: m,\r\n label: this.labels[m] ? this.labels[m] : null,\r\n })\r\n : 'axisX' === this.type && this.labels[m]\r\n ? this.labels[m]\r\n : ha(m, this.valueFormatString, this.chart._cultureInfo)),\r\n (a = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: f,\r\n maxHeight: l,\r\n angle: this.labelAngle,\r\n text: this.prefix + a + this.suffix,\r\n textAlign: this.labelTextAlign,\r\n backgroundColor: this.labelBackgroundColor,\r\n borderColor: this.labelBorderColor,\r\n borderThickness: this.labelBorderThickness,\r\n cornerRadius: this.labelCornerRadius,\r\n fontSize: this.labelFontSize,\r\n fontFamily: this.labelFontFamily,\r\n fontWeight: this.labelFontWeight,\r\n fontColor: this.labelFontColor,\r\n fontStyle: this.labelFontStyle,\r\n textBaseline: 'middle',\r\n })),\r\n this._labels.push({\r\n position: m,\r\n textBlock: a,\r\n effectiveHeight: null,\r\n }));\r\n }\r\n } else\r\n for (\r\n this.intervalStartPosition = this.getLabelStartPoint(\r\n new Date(this.viewportMinimum),\r\n this.intervalType,\r\n this.interval\r\n ),\r\n e = Wa(\r\n new Date(this.viewportMaximum),\r\n this.interval,\r\n this.intervalType\r\n ),\r\n g = q,\r\n c = this.intervalStartPosition;\r\n c < e;\r\n Wa(c, b, this.intervalType)\r\n ) {\r\n for (a = c.getTime(); g < p.length && a > p[g].endValue; g++);\r\n m = a;\r\n a = g < p.length && a >= p[g].startValue && a <= p[g].endValue;\r\n a ||\r\n ((a = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.options,\r\n value: new Date(m),\r\n label: this.labels[m] ? this.labels[m] : null,\r\n })\r\n : 'axisX' === this.type && this.labels[m]\r\n ? this.labels[m]\r\n : Ba(m, this.valueFormatString, this.chart._cultureInfo)),\r\n (a = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n maxWidth: f,\r\n backgroundColor: this.labelBackgroundColor,\r\n borderColor: this.labelBorderColor,\r\n borderThickness: this.labelBorderThickness,\r\n cornerRadius: this.labelCornerRadius,\r\n maxHeight: l,\r\n angle: this.labelAngle,\r\n text: this.prefix + a + this.suffix,\r\n textAlign: this.labelTextAlign,\r\n fontSize: this.labelFontSize,\r\n fontFamily: this.labelFontFamily,\r\n fontWeight: this.labelFontWeight,\r\n fontColor: this.labelFontColor,\r\n fontStyle: this.labelFontStyle,\r\n textBaseline: 'middle',\r\n })),\r\n this._labels.push({\r\n position: m,\r\n textBlock: a,\r\n effectiveHeight: null,\r\n breaksLabelType: void 0,\r\n }));\r\n }\r\n if ('bottom' === this._position || 'top' === this._position)\r\n (h =\r\n this.logarithmic &&\r\n !this.equidistantInterval &&\r\n 2 <= this._labels.length\r\n ? (this.lineCoordinates.width *\r\n Math.log(\r\n Math.min(\r\n this._labels[this._labels.length - 1].position /\r\n this._labels[this._labels.length - 2].position,\r\n this._labels[1].position / this._labels[0].position\r\n )\r\n )) /\r\n Math.log(this.range)\r\n : (this.lineCoordinates.width /\r\n (this.logarithmic && this.equidistantInterval\r\n ? Math.log(this.range) / Math.log(this.logarithmBase)\r\n : Math.abs(this.range))) *\r\n K[this.intervalType + 'Duration'] *\r\n this.interval),\r\n (f =\r\n 'undefined' === typeof this.options.labelMaxWidth\r\n ? (0.5 * this.chart.width) >> 0\r\n : this.options.labelMaxWidth),\r\n this.chart.panEnabled ||\r\n (l =\r\n 'undefined' === typeof this.options.labelWrap || this.labelWrap\r\n ? (0.8 * this.chart.height) >> 0\r\n : 1.5 * this.labelFontSize);\r\n else if ('left' === this._position || 'right' === this._position)\r\n (h =\r\n this.logarithmic &&\r\n !this.equidistantInterval &&\r\n 2 <= this._labels.length\r\n ? (this.lineCoordinates.height *\r\n Math.log(\r\n Math.min(\r\n this._labels[this._labels.length - 1].position /\r\n this._labels[this._labels.length - 2].position,\r\n this._labels[1].position / this._labels[0].position\r\n )\r\n )) /\r\n Math.log(this.range)\r\n : (this.lineCoordinates.height /\r\n (this.logarithmic && this.equidistantInterval\r\n ? Math.log(this.range) / Math.log(this.logarithmBase)\r\n : Math.abs(this.range))) *\r\n K[this.intervalType + 'Duration'] *\r\n this.interval),\r\n this.chart.panEnabled ||\r\n (f =\r\n 'undefined' === typeof this.options.labelMaxWidth\r\n ? (0.3 * this.chart.width) >> 0\r\n : this.options.labelMaxWidth),\r\n (l =\r\n 'undefined' === typeof this.options.labelWrap || this.labelWrap\r\n ? (0.3 * this.chart.height) >> 0\r\n : 1.5 * this.labelFontSize);\r\n for (b = 0; b < this._labels.length; b++) {\r\n a = this._labels[b].textBlock;\r\n a.maxWidth = f;\r\n a.maxHeight = l;\r\n var t = a.measureText();\r\n n = t.height;\r\n }\r\n e = [];\r\n q = p = 0;\r\n if (this.labelAutoFit || this.options.labelAutoFit)\r\n if (\r\n (r(this.labelAngle) ||\r\n ((this.labelAngle = ((this.labelAngle % 360) + 360) % 360),\r\n 90 < this.labelAngle && 270 > this.labelAngle\r\n ? (this.labelAngle -= 180)\r\n : 270 <= this.labelAngle &&\r\n 360 >= this.labelAngle &&\r\n (this.labelAngle -= 360)),\r\n 'bottom' === this._position || 'top' === this._position)\r\n )\r\n if (\r\n ((f = (0.9 * h) >> 0),\r\n (q = 0),\r\n !this.chart.panEnabled && 1 <= this._labels.length)\r\n ) {\r\n this.sessionVariables.labelFontSize = this.labelFontSize;\r\n this.sessionVariables.labelMaxWidth = f;\r\n this.sessionVariables.labelMaxHeight = l;\r\n this.sessionVariables.labelAngle = this.labelAngle;\r\n this.sessionVariables.labelWrap = this.labelWrap;\r\n for (c = 0; c < this._labels.length; c++)\r\n if (!this._labels[c].breaksLabelType) {\r\n a = this._labels[c].textBlock;\r\n for (var v, g = a.text.split(' '), b = 0; b < g.length; b++)\r\n (m = g[b]),\r\n (this.ctx.font =\r\n a.fontStyle +\r\n ' ' +\r\n a.fontWeight +\r\n ' ' +\r\n a.fontSize +\r\n 'px ' +\r\n a.fontFamily),\r\n (m = this.ctx.measureText(m)),\r\n m.width > q && ((v = c), (q = m.width));\r\n }\r\n c = 0;\r\n for (\r\n c = this.intervalStartPosition < this.viewportMinimum ? 1 : 0;\r\n c < this._labels.length;\r\n c++\r\n )\r\n if (!this._labels[c].breaksLabelType) {\r\n a = this._labels[c].textBlock;\r\n t = a.measureText();\r\n for (g = c + 1; g < this._labels.length; g++)\r\n if (!this._labels[g].breaksLabelType) {\r\n d = this._labels[g].textBlock;\r\n d = d.measureText();\r\n break;\r\n }\r\n e.push(a.height);\r\n this.sessionVariables.labelMaxHeight = Math.max.apply(Math, e);\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle));\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle));\r\n b =\r\n f * Math.sin((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (l - a.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle));\r\n if (\r\n r(this.options.labelAngle) &&\r\n isNaN(this.options.labelAngle) &&\r\n 0 !== this.options.labelAngle\r\n )\r\n if (\r\n ((this.sessionVariables.labelMaxHeight =\r\n 0 === this.labelAngle\r\n ? l\r\n : Math.min(\r\n (b -\r\n f *\r\n Math.cos(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n )) /\r\n Math.sin(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n ),\r\n b\r\n )),\r\n (m =\r\n (k -\r\n (n + a.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * Math.abs(-25))) /\r\n Math.sin((Math.PI / 180) * Math.abs(-25))),\r\n !r(this.options.labelWrap))\r\n )\r\n this.labelWrap\r\n ? r(this.options.labelMaxWidth)\r\n ? ((this.sessionVariables.labelMaxWidth = Math.min(\r\n Math.max(f, q),\r\n m\r\n )),\r\n (this.sessionVariables.labelWrap = this.labelWrap),\r\n d &&\r\n (t.width + d.width) >> 0 > 2 * f &&\r\n (this.sessionVariables.labelAngle = -25))\r\n : ((this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxWidth = this.options.labelMaxWidth),\r\n (this.sessionVariables.labelAngle =\r\n this.sessionVariables.labelMaxWidth > f\r\n ? -25\r\n : this.sessionVariables.labelAngle))\r\n : r(this.options.labelMaxWidth)\r\n ? ((this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelMaxWidth = f),\r\n d &&\r\n (t.width + d.width) >> 0 > 2 * f &&\r\n ((this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelMaxWidth = m)))\r\n : ((this.sessionVariables.labelAngle =\r\n this.sessionVariables.labelMaxWidth > f\r\n ? -25\r\n : this.sessionVariables.labelAngle),\r\n (this.sessionVariables.labelMaxWidth = this.options.labelMaxWidth),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelWrap = this.labelWrap));\r\n else {\r\n if (r(this.options.labelWrap))\r\n if (!r(this.options.labelMaxWidth))\r\n this.options.labelMaxWidth < f\r\n ? ((this.sessionVariables.labelMaxWidth = this.options.labelMaxWidth),\r\n (this.sessionVariables.labelMaxHeight = b))\r\n : ((this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelMaxWidth = this.options.labelMaxWidth),\r\n (this.sessionVariables.labelMaxHeight = l));\r\n else if (!r(d))\r\n if (\r\n ((b = (t.width + d.width) >> 0),\r\n (g = this.labelFontSize),\r\n q < f)\r\n )\r\n b - 2 * f > p &&\r\n ((p = b - 2 * f),\r\n b >= 2 * f && b < 2.2 * f\r\n ? ((this.sessionVariables.labelMaxWidth = f),\r\n r(this.options.labelFontSize) &&\r\n 12 < g &&\r\n ((g = Math.floor((12 / 13) * g)),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? g\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelAngle = this.labelAngle))\r\n : b >= 2.2 * f && b < 2.8 * f\r\n ? ((this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelMaxWidth = m),\r\n (this.sessionVariables.labelFontSize = g))\r\n : b >= 2.8 * f && b < 3.2 * f\r\n ? ((this.sessionVariables.labelMaxWidth = Math.max(\r\n f,\r\n q\r\n )),\r\n (this.sessionVariables.labelWrap = !0),\r\n r(this.options.labelFontSize) &&\r\n 12 < this.labelFontSize &&\r\n ((this.labelFontSize = Math.floor(\r\n (12 / 13) * this.labelFontSize\r\n )),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? g\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelAngle = this.labelAngle))\r\n : b >= 3.2 * f && b < 3.6 * f\r\n ? ((this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelWrap = !0),\r\n (this.sessionVariables.labelMaxWidth = m),\r\n (this.sessionVariables.labelFontSize = this.labelFontSize))\r\n : b > 3.6 * f && b < 5 * f\r\n ? (r(this.options.labelFontSize) &&\r\n 12 < g &&\r\n ((g = Math.floor((12 / 13) * g)),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? g\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelWrap = !0),\r\n (this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelMaxWidth = m))\r\n : b > 5 * f &&\r\n ((this.sessionVariables.labelWrap = !0),\r\n (this.sessionVariables.labelMaxWidth = f),\r\n (this.sessionVariables.labelFontSize = g),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelAngle = this.labelAngle)));\r\n else if (\r\n v === c &&\r\n ((0 === v &&\r\n q +\r\n this._labels[v + 1].textBlock.measureText()\r\n .width -\r\n 2 * f >\r\n p) ||\r\n (v === this._labels.length - 1 &&\r\n q +\r\n this._labels[v - 1].textBlock.measureText()\r\n .width -\r\n 2 * f >\r\n p) ||\r\n (0 < v &&\r\n v < this._labels.length - 1 &&\r\n q +\r\n this._labels[v + 1].textBlock.measureText()\r\n .width -\r\n 2 * f >\r\n p &&\r\n q +\r\n this._labels[v - 1].textBlock.measureText()\r\n .width -\r\n 2 * f >\r\n p))\r\n )\r\n (p =\r\n 0 === v\r\n ? q +\r\n this._labels[v + 1].textBlock.measureText()\r\n .width -\r\n 2 * f\r\n : q +\r\n this._labels[v - 1].textBlock.measureText()\r\n .width -\r\n 2 * f),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? g\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelWrap = !0),\r\n (this.sessionVariables.labelAngle = -25),\r\n (this.sessionVariables.labelMaxWidth = m);\r\n else if (0 === p)\r\n for (\r\n this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? g\r\n : this.options.labelFontSize,\r\n this.sessionVariables.labelWrap = !0,\r\n b = 0;\r\n b < this._labels.length;\r\n b++\r\n )\r\n (a = this._labels[b].textBlock),\r\n (a.maxWidth = this.sessionVariables.labelMaxWidth = Math.min(\r\n Math.max(f, q),\r\n m\r\n )),\r\n (t = a.measureText()),\r\n b < this._labels.length - 1 &&\r\n ((g = b + 1),\r\n (d = this._labels[g].textBlock),\r\n (d.maxWidth = this.sessionVariables.labelMaxWidth = Math.min(\r\n Math.max(f, q),\r\n m\r\n )),\r\n (d = d.measureText()),\r\n (t.width + d.width) >> 0 > 2 * f &&\r\n (this.sessionVariables.labelAngle = -25));\r\n }\r\n else\r\n ((this.sessionVariables.labelAngle = this.labelAngle),\r\n (this.sessionVariables.labelMaxHeight =\r\n 0 === this.labelAngle\r\n ? l\r\n : Math.min(\r\n (b -\r\n f *\r\n Math.cos(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n )) /\r\n Math.sin(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n ),\r\n b\r\n )),\r\n (m =\r\n 0 != this.labelAngle\r\n ? (k -\r\n (n + a.fontSize / 2) *\r\n Math.cos(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n )) /\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle))\r\n : f),\r\n (this.sessionVariables.labelMaxHeight = this.labelWrap\r\n ? (k -\r\n m *\r\n Math.sin(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n )) /\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle))\r\n : 1.5 * this.labelFontSize),\r\n r(this.options.labelWrap))\r\n ? r(this.options.labelWrap) &&\r\n (this.labelWrap && !r(this.options.labelMaxWidth)\r\n ? ((this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : m),\r\n (this.sessionVariables.labelMaxHeight = l))\r\n : ((this.sessionVariables.labelAngle = this.labelAngle),\r\n (this.sessionVariables.labelMaxWidth = m),\r\n (this.sessionVariables.labelMaxHeight =\r\n b < 0.9 * h ? 0.9 * h : b),\r\n (this.sessionVariables.labelWrap = this.labelWrap)))\r\n : (this.options.labelWrap\r\n ? ((this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : m))\r\n : (r(this.options.labelMaxWidth),\r\n (this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : m),\r\n (this.sessionVariables.labelWrap = this.labelWrap)),\r\n (this.sessionVariables.labelMaxHeight = l));\r\n }\r\n for (b = 0; b < this._labels.length; b++)\r\n (a = this._labels[b].textBlock),\r\n (a.maxWidth = this.labelMaxWidth = this.sessionVariables.labelMaxWidth),\r\n (a.fontSize = this.sessionVariables.labelFontSize),\r\n (a.angle = this.labelAngle = this.sessionVariables.labelAngle),\r\n (a.wrap = this.labelWrap = this.sessionVariables.labelWrap),\r\n (a.maxHeight = this.sessionVariables.labelMaxHeight),\r\n a.measureText();\r\n } else\r\n for (c = 0; c < this._labels.length; c++)\r\n (a = this._labels[c].textBlock),\r\n (a.maxWidth = this.labelMaxWidth = r(this.options.labelMaxWidth)\r\n ? r(this.sessionVariables.labelMaxWidth)\r\n ? (this.sessionVariables.labelMaxWidth = f)\r\n : this.sessionVariables.labelMaxWidth\r\n : this.options.labelMaxWidth),\r\n (a.fontSize = this.labelFontSize = r(this.options.labelFontSize)\r\n ? r(this.sessionVariables.labelFontSize)\r\n ? (this.sessionVariables.labelFontSize = this.labelFontSize)\r\n : this.sessionVariables.labelFontSize\r\n : this.options.labelFontSize),\r\n (a.angle = this.labelAngle = r(this.options.labelAngle)\r\n ? r(this.sessionVariables.labelAngle)\r\n ? (this.sessionVariables.labelAngle = this.labelAngle)\r\n : this.sessionVariables.labelAngle\r\n : this.labelAngle),\r\n (a.wrap = this.labelWrap = r(this.options.labelWrap)\r\n ? r(this.sessionVariables.labelWrap)\r\n ? (this.sessionVariables.labelWrap = this.labelWrap)\r\n : this.sessionVariables.labelWrap\r\n : this.options.labelWrap),\r\n (a.maxHeight = r(this.sessionVariables.labelMaxHeight)\r\n ? (this.sessionVariables.labelMaxHeight = l)\r\n : this.sessionVariables.labelMaxHeight),\r\n a.measureText();\r\n else if ('left' === this._position || 'right' === this._position)\r\n if (\r\n ((f = r(this.options.labelMaxWidth)\r\n ? (0.3 * this.chart.width) >> 0\r\n : this.options.labelMaxWidth),\r\n (l =\r\n 'undefined' === typeof this.options.labelWrap || this.labelWrap\r\n ? (0.3 * this.chart.height) >> 0\r\n : 1.5 * this.labelFontSize),\r\n !this.chart.panEnabled && 1 <= this._labels.length)\r\n ) {\r\n this.sessionVariables.labelFontSize = this.labelFontSize;\r\n this.sessionVariables.labelMaxWidth = f;\r\n this.sessionVariables.labelMaxHeight = l;\r\n this.sessionVariables.labelAngle = r(\r\n this.sessionVariables.labelAngle\r\n )\r\n ? 0\r\n : this.sessionVariables.labelAngle;\r\n this.sessionVariables.labelWrap = this.labelWrap;\r\n for (c = 0; c < this._labels.length; c++)\r\n if (!this._labels[c].breaksLabelType) {\r\n a = this._labels[c].textBlock;\r\n t = a.measureText();\r\n for (g = c + 1; g < this._labels.length; g++)\r\n if (!this._labels[g].breaksLabelType) {\r\n d = this._labels[g].textBlock;\r\n d = d.measureText();\r\n break;\r\n }\r\n e.push(a.height);\r\n this.sessionVariables.labelMaxHeight = Math.max.apply(Math, e);\r\n b =\r\n f * Math.sin((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (l - a.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle));\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle));\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle));\r\n r(this.options.labelAngle) &&\r\n isNaN(this.options.labelAngle) &&\r\n 0 !== this.options.labelAngle\r\n ? r(this.options.labelWrap)\r\n ? r(this.options.labelWrap) &&\r\n (r(this.options.labelMaxWidth)\r\n ? r(d) ||\r\n ((h = (t.height + d.height) >> 0),\r\n h - 2 * l > q &&\r\n ((q = h - 2 * l),\r\n h >= 2 * l && h < 2.4 * l\r\n ? (r(this.options.labelFontSize) &&\r\n 12 < this.labelFontSize &&\r\n ((this.labelFontSize = Math.floor(\r\n (12 / 13) * this.labelFontSize\r\n )),\r\n a.measureText()),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? this.labelFontSize\r\n : this.options.labelFontSize))\r\n : h >= 2.4 * l && h < 2.8 * l\r\n ? ((this.sessionVariables.labelMaxHeight = b),\r\n (this.sessionVariables.labelFontSize = this.labelFontSize),\r\n (this.sessionVariables.labelWrap = !0))\r\n : h >= 2.8 * l && h < 3.2 * l\r\n ? ((this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelWrap = !0),\r\n r(this.options.labelFontSize) &&\r\n 12 < this.labelFontSize &&\r\n ((this.labelFontSize = Math.floor(\r\n (12 / 13) * this.labelFontSize\r\n )),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? this.labelFontSize\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelAngle = r(\r\n this.sessionVariables.labelAngle\r\n )\r\n ? 0\r\n : this.sessionVariables.labelAngle))\r\n : h >= 3.2 * l && h < 3.6 * l\r\n ? ((this.sessionVariables.labelMaxHeight = b),\r\n (this.sessionVariables.labelWrap = !0),\r\n (this.sessionVariables.labelFontSize = this.labelFontSize))\r\n : h > 3.6 * l && h < 10 * l\r\n ? (r(this.options.labelFontSize) &&\r\n 12 < this.labelFontSize &&\r\n ((this.labelFontSize = Math.floor(\r\n (12 / 13) * this.labelFontSize\r\n )),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? this.labelFontSize\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelMaxWidth = f),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelAngle = r(\r\n this.sessionVariables.labelAngle\r\n )\r\n ? 0\r\n : this.sessionVariables.labelAngle))\r\n : h > 10 * l &&\r\n h < 50 * l &&\r\n (r(this.options.labelFontSize) &&\r\n 12 < this.labelFontSize &&\r\n ((this.labelFontSize = Math.floor(\r\n (12 / 13) * this.labelFontSize\r\n )),\r\n a.measureText()),\r\n (this.sessionVariables.labelFontSize = r(\r\n this.options.labelFontSize\r\n )\r\n ? this.labelFontSize\r\n : this.options.labelFontSize),\r\n (this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelMaxWidth = f),\r\n (this.sessionVariables.labelAngle = r(\r\n this.sessionVariables.labelAngle\r\n )\r\n ? 0\r\n : this.sessionVariables.labelAngle))))\r\n : ((this.sessionVariables.labelMaxHeight = l),\r\n (this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : this.sessionVariables.labelMaxWidth)))\r\n : ((this.sessionVariables.labelMaxWidth = this.labelWrap\r\n ? this.options.labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : this.sessionVariables.labelMaxWidth\r\n : this.labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : this.sessionVariables.labelMaxWidth\r\n : f),\r\n (this.sessionVariables.labelMaxHeight = l))\r\n : ((this.sessionVariables.labelAngle = this.labelAngle),\r\n (this.sessionVariables.labelMaxWidth =\r\n 0 === this.labelAngle\r\n ? f\r\n : Math.min(\r\n (b -\r\n l *\r\n Math.sin(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n )) /\r\n Math.cos(\r\n (Math.PI / 180) * Math.abs(this.labelAngle)\r\n ),\r\n l\r\n )),\r\n r(this.options.labelWrap))\r\n ? r(this.options.labelWrap) &&\r\n (this.labelWrap && !r(this.options.labelMaxWidth)\r\n ? ((this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : this.sessionVariables.labelMaxWidth),\r\n (this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxHeight = b))\r\n : ((this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : f),\r\n (this.sessionVariables.labelMaxHeight =\r\n 0 === this.labelAngle ? l : b),\r\n r(this.options.labelMaxWidth) &&\r\n (this.sessionVariables.labelAngle = this.labelAngle)))\r\n : this.options.labelWrap\r\n ? ((this.sessionVariables.labelMaxHeight =\r\n 0 === this.labelAngle ? l : b),\r\n (this.sessionVariables.labelWrap = this.labelWrap),\r\n (this.sessionVariables.labelMaxWidth = f))\r\n : ((this.sessionVariables.labelMaxHeight = l),\r\n r(this.options.labelMaxWidth),\r\n (this.sessionVariables.labelMaxWidth = this.options\r\n .labelMaxWidth\r\n ? this.options.labelMaxWidth\r\n : this.sessionVariables.labelMaxWidth),\r\n (this.sessionVariables.labelWrap = this.labelWrap));\r\n }\r\n for (b = 0; b < this._labels.length; b++)\r\n (a = this._labels[b].textBlock),\r\n (a.maxWidth = this.labelMaxWidth = this.sessionVariables.labelMaxWidth),\r\n (a.fontSize = this.labelFontSize = this.sessionVariables.labelFontSize),\r\n (a.angle = this.labelAngle = this.sessionVariables.labelAngle),\r\n (a.wrap = this.labelWrap = this.sessionVariables.labelWrap),\r\n (a.maxHeight = this.sessionVariables.labelMaxHeight),\r\n a.measureText();\r\n } else\r\n for (c = 0; c < this._labels.length; c++)\r\n (a = this._labels[c].textBlock),\r\n (a.maxWidth = this.labelMaxWidth = r(this.options.labelMaxWidth)\r\n ? r(this.sessionVariables.labelMaxWidth)\r\n ? (this.sessionVariables.labelMaxWidth = f)\r\n : this.sessionVariables.labelMaxWidth\r\n : this.options.labelMaxWidth),\r\n (a.fontSize = this.labelFontSize = r(this.options.labelFontSize)\r\n ? r(this.sessionVariables.labelFontSize)\r\n ? (this.sessionVariables.labelFontSize = this.labelFontSize)\r\n : this.sessionVariables.labelFontSize\r\n : this.options.labelFontSize),\r\n (a.angle = this.labelAngle = r(this.options.labelAngle)\r\n ? r(this.sessionVariables.labelAngle)\r\n ? (this.sessionVariables.labelAngle = this.labelAngle)\r\n : this.sessionVariables.labelAngle\r\n : this.labelAngle),\r\n (a.wrap = this.labelWrap = r(this.options.labelWrap)\r\n ? r(this.sessionVariables.labelWrap)\r\n ? (this.sessionVariables.labelWrap = this.labelWrap)\r\n : this.sessionVariables.labelWrap\r\n : this.options.labelWrap),\r\n (a.maxHeight = r(this.sessionVariables.labelMaxHeight)\r\n ? (this.sessionVariables.labelMaxHeight = l)\r\n : this.sessionVariables.labelMaxHeight),\r\n a.measureText();\r\n for (c = 0; c < this.stripLines.length; c++) {\r\n var f = this.stripLines[c],\r\n A;\r\n if ('outside' === f.labelPlacement) {\r\n l = this.sessionVariables.labelMaxWidth;\r\n if ('bottom' === this._position || 'top' === this._position)\r\n r(f.options.labelWrap) &&\r\n !r(this.sessionVariables.stripLineLabelMaxHeight)\r\n ? (A = this.sessionVariables.stripLineLabelMaxHeight)\r\n : (this.sessionVariables.stripLineLabelMaxHeight = A = f.labelWrap\r\n ? (0.8 * this.chart.height) >> 0\r\n : 1.5 * this.labelFontSize);\r\n if ('left' === this._position || 'right' === this._position)\r\n r(f.options.labelWrap) &&\r\n !r(this.sessionVariables.stripLineLabelMaxHeight)\r\n ? (A = this.sessionVariables.stripLineLabelMaxHeight)\r\n : (this.sessionVariables.stripLineLabelMaxHeight = A = f.labelWrap\r\n ? (0.8 * this.chart.width) >> 0\r\n : 1.5 * this.labelFontSize);\r\n r(f.labelBackgroundColor) && (f.labelBackgroundColor = '#EEEEEE');\r\n } else\r\n (l =\r\n 'bottom' === this._position || 'top' === this._position\r\n ? (0.9 * this.chart.width) >> 0\r\n : (0.9 * this.chart.height) >> 0),\r\n (A =\r\n r(f.options.labelWrap) || f.labelWrap\r\n ? 'bottom' === this._position || 'top' === this._position\r\n ? (0.8 * this.chart.width) >> 0\r\n : (0.8 * this.chart.height) >> 0\r\n : 1.5 * this.labelFontSize),\r\n r(f.labelBackgroundColor) &&\r\n (r(f.startValue) && 0 !== f.startValue\r\n ? (f.labelBackgroundColor = w ? 'transparent' : null)\r\n : (f.labelBackgroundColor = '#EEEEEE'));\r\n a = new ka(this.ctx, {\r\n x: 0,\r\n y: 0,\r\n backgroundColor: f.labelBackgroundColor,\r\n borderColor: f.labelBorderColor,\r\n borderThickness: f.labelBorderThickness,\r\n cornerRadius: f.labelCornerRadius,\r\n maxWidth: f.options.labelMaxWidth ? f.options.labelMaxWidth : l,\r\n maxHeight: A,\r\n angle: this.labelAngle,\r\n text: f.labelFormatter\r\n ? f.labelFormatter({ chart: this.chart, axis: this, stripLine: f })\r\n : f.label,\r\n textAlign: this.labelTextAlign,\r\n fontSize:\r\n 'outside' === f.labelPlacement\r\n ? f.options.labelFontSize\r\n ? f.labelFontSize\r\n : this.labelFontSize\r\n : f.labelFontSize,\r\n fontFamily:\r\n 'outside' === f.labelPlacement\r\n ? f.options.labelFontFamily\r\n ? f.labelFontFamily\r\n : this.labelFontFamily\r\n : f.labelFontFamily,\r\n fontWeight:\r\n 'outside' === f.labelPlacement\r\n ? f.options.labelFontWeight\r\n ? f.labelFontWeight\r\n : this.labelFontWeight\r\n : f.labelFontWeight,\r\n fontColor: f.labelFontColor || f.color,\r\n fontStyle:\r\n 'outside' === f.labelPlacement\r\n ? f.options.labelFontStyle\r\n ? f.labelFontStyle\r\n : this.fontWeight\r\n : f.labelFontStyle,\r\n textBaseline: 'middle',\r\n });\r\n this._stripLineLabels.push({\r\n position: f.value,\r\n textBlock: a,\r\n effectiveHeight: null,\r\n stripLine: f,\r\n });\r\n }\r\n };\r\n A.prototype.createLabelsAndCalculateWidth = function () {\r\n var a = 0,\r\n d = 0;\r\n this._labels = [];\r\n this._stripLineLabels = [];\r\n var c = this.chart.isNavigator ? 0 : 5;\r\n if ('left' === this._position || 'right' === this._position) {\r\n this.createLabels();\r\n if (\r\n 'inside' != this.labelPlacement ||\r\n ('inside' === this.labelPlacement && 0 < this._index)\r\n )\r\n for (d = 0; d < this._labels.length; d++) {\r\n var b = this._labels[d].textBlock,\r\n e = b.measureText(),\r\n f = 0,\r\n f =\r\n 0 === this.labelAngle\r\n ? e.width\r\n : e.width *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (e.height - b.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle));\r\n a < f && (a = f);\r\n this._labels[d].effectiveWidth = f;\r\n }\r\n for (d = 0; d < this._stripLineLabels.length; d++)\r\n 'outside' === this._stripLineLabels[d].stripLine.labelPlacement &&\r\n this._stripLineLabels[d].stripLine.value >= this.viewportMinimum &&\r\n this._stripLineLabels[d].stripLine.value <= this.viewportMaximum &&\r\n ((b = this._stripLineLabels[d].textBlock),\r\n (e = b.measureText()),\r\n (f =\r\n 0 === this.labelAngle\r\n ? e.width\r\n : e.width *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (e.height - b.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle))),\r\n a < f && (a = f),\r\n (this._stripLineLabels[d].effectiveWidth = f));\r\n }\r\n return (\r\n (this.title ? this._titleTextBlock.measureText().height + 2 : 0) +\r\n a +\r\n ('inside' === this.tickPlacement ? 0 : this.tickLength) +\r\n c\r\n );\r\n };\r\n A.prototype.createLabelsAndCalculateHeight = function () {\r\n var a = 0;\r\n this._labels = [];\r\n this._stripLineLabels = [];\r\n var d,\r\n c = 0,\r\n b = this.chart.isNavigator ? 0 : 5;\r\n if ('bottom' === this._position || 'top' === this._position) {\r\n this.createLabels();\r\n if (\r\n 'inside' != this.labelPlacement ||\r\n ('inside' === this.labelPlacement && 0 < this._index)\r\n )\r\n for (c = 0; c < this._labels.length; c++) {\r\n d = this._labels[c].textBlock;\r\n var e = d.measureText(),\r\n f = 0,\r\n f =\r\n 0 === this.labelAngle\r\n ? e.height\r\n : e.width *\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (e.height - d.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle));\r\n a < f && (a = f);\r\n this._labels[c].effectiveHeight = f;\r\n }\r\n for (c = 0; c < this._stripLineLabels.length; c++)\r\n 'outside' === this._stripLineLabels[c].stripLine.labelPlacement &&\r\n this._stripLineLabels[c].stripLine.value >= this.viewportMinimum &&\r\n this._stripLineLabels[c].stripLine.value <= this.viewportMaximum &&\r\n ((d = this._stripLineLabels[c].textBlock),\r\n (e = d.measureText()),\r\n (f =\r\n 0 === this.labelAngle\r\n ? e.height\r\n : e.width *\r\n Math.sin((Math.PI / 180) * Math.abs(this.labelAngle)) +\r\n (e.height - d.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * Math.abs(this.labelAngle))),\r\n a < f && (a = f),\r\n (this._stripLineLabels[c].effectiveHeight = f));\r\n }\r\n return (\r\n (this.title ? this._titleTextBlock.measureText().height + 2 : 0) +\r\n a +\r\n ('inside' === this.tickPlacement ? 0 : this.tickLength) +\r\n b\r\n );\r\n };\r\n A.setLayout = function (a, d, c, b, e, f) {\r\n var l,\r\n h,\r\n n,\r\n k,\r\n m = a[0] ? a[0].chart : d[0].chart,\r\n p = m.isNavigator ? 0 : 10,\r\n q = m._axes;\r\n if (a && 0 < a.length)\r\n for (var g = 0; g < a.length; g++)\r\n a[g] && a[g].calculateAxisParameters();\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++) d[g].calculateAxisParameters();\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++) c[g].calculateAxisParameters();\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++) b[g].calculateAxisParameters();\r\n for (g = 0; g < q.length; g++)\r\n if (q[g] && q[g].scaleBreaks && q[g].scaleBreaks._appliedBreaks.length)\r\n for (\r\n var t = q[g].scaleBreaks._appliedBreaks, w = 0;\r\n w < t.length && !(t[w].startValue > q[g].viewportMaximum);\r\n w++\r\n )\r\n t[w].endValue < q[g].viewportMinimum ||\r\n (r(q[g].scaleBreaks.firstBreakIndex) &&\r\n (q[g].scaleBreaks.firstBreakIndex = w),\r\n t[w].startValue >= q[g].viewPortMinimum &&\r\n (q[g].scaleBreaks.lastBreakIndex = w));\r\n for (\r\n var v = (w = 0),\r\n u = 0,\r\n y = 0,\r\n x = 0,\r\n z = 0,\r\n A = 0,\r\n C,\r\n B,\r\n E = (h = 0),\r\n I,\r\n J,\r\n K,\r\n t = (I = J = K = !1),\r\n g = 0;\r\n g < q.length;\r\n g++\r\n )\r\n q[g] &&\r\n q[g].title &&\r\n (q[g]._titleTextBlock = new ka(q[g].ctx, {\r\n text: q[g].title,\r\n horizontalAlign: 'center',\r\n fontSize: q[g].titleFontSize,\r\n fontFamily: q[g].titleFontFamily,\r\n fontWeight: q[g].titleFontWeight,\r\n fontColor: q[g].titleFontColor,\r\n fontStyle: q[g].titleFontStyle,\r\n borderColor: q[g].titleBorderColor,\r\n borderThickness: q[g].titleBorderThickness,\r\n backgroundColor: q[g].titleBackgroundColor,\r\n cornerRadius: q[g].titleCornerRadius,\r\n textBaseline: 'top',\r\n }));\r\n for (g = 0; g < q.length; g++)\r\n if (q[g].title)\r\n switch (q[g]._position) {\r\n case 'left':\r\n q[g]._titleTextBlock.maxWidth = q[g].titleMaxWidth || f.height;\r\n q[g]._titleTextBlock.maxHeight = q[g].titleWrap\r\n ? 0.8 * f.width\r\n : 1.5 * q[g].titleFontSize;\r\n q[g]._titleTextBlock.angle = -90;\r\n break;\r\n case 'right':\r\n q[g]._titleTextBlock.maxWidth = q[g].titleMaxWidth || f.height;\r\n q[g]._titleTextBlock.maxHeight = q[g].titleWrap\r\n ? 0.8 * f.width\r\n : 1.5 * q[g].titleFontSize;\r\n q[g]._titleTextBlock.angle = 90;\r\n break;\r\n default:\r\n (q[g]._titleTextBlock.maxWidth = q[g].titleMaxWidth || f.width),\r\n (q[g]._titleTextBlock.maxHeight = q[g].titleWrap\r\n ? 0.8 * f.height\r\n : 1.5 * q[g].titleFontSize),\r\n (q[g]._titleTextBlock.angle = 0);\r\n }\r\n if ('normal' === e) {\r\n for (\r\n var y = [], x = [], z = [], A = [], N = [], Q = [], O = [], P = [];\r\n 4 > w;\r\n\r\n ) {\r\n var F = 0,\r\n T = 0,\r\n W = 0,\r\n V = 0,\r\n X = (e = 0),\r\n L = 0,\r\n $ = 0,\r\n U = 0,\r\n Y = 0,\r\n R = 0,\r\n aa = 0;\r\n if (c && 0 < c.length)\r\n for (z = [], g = R = 0; g < c.length; g++)\r\n z.push(\r\n Math.ceil(c[g] ? c[g].createLabelsAndCalculateWidth() : 0)\r\n ),\r\n (R += z[g]),\r\n (L += c[g] && !m.isNavigator ? c[g].margin : 0);\r\n else\r\n z.push(Math.ceil(c[0] ? c[0].createLabelsAndCalculateWidth() : 0));\r\n O.push(z);\r\n if (b && 0 < b.length)\r\n for (A = [], g = aa = 0; g < b.length; g++)\r\n A.push(\r\n Math.ceil(b[g] ? b[g].createLabelsAndCalculateWidth() : 0)\r\n ),\r\n (aa += A[g]),\r\n ($ += b[g] ? b[g].margin : 0);\r\n else\r\n A.push(Math.ceil(b[0] ? b[0].createLabelsAndCalculateWidth() : 0));\r\n P.push(A);\r\n l = Math.round(f.x1 + R + L);\r\n n = Math.round(\r\n f.x2 - aa - $ > m.width - p ? m.width - p : f.x2 - aa - $\r\n );\r\n if (a && 0 < a.length)\r\n for (y = [], g = U = 0; g < a.length; g++)\r\n a[g] && (a[g].lineCoordinates = {}),\r\n (a[g].lineCoordinates.width = Math.abs(n - l)),\r\n a[g].title &&\r\n (a[g]._titleTextBlock.maxWidth =\r\n 0 < a[g].titleMaxWidth &&\r\n a[g].titleMaxWidth < a[g].lineCoordinates.width\r\n ? a[g].titleMaxWidth\r\n : a[g].lineCoordinates.width),\r\n y.push(\r\n Math.ceil(a[g] ? a[g].createLabelsAndCalculateHeight() : 0)\r\n ),\r\n (U += y[g]),\r\n (e += a[g] && !m.isNavigator ? a[g].margin : 0);\r\n else\r\n y.push(Math.ceil(a[0] ? a[0].createLabelsAndCalculateHeight() : 0));\r\n N.push(y);\r\n if (d && 0 < d.length)\r\n for (x = [], g = Y = 0; g < d.length; g++)\r\n d[g] && (d[g].lineCoordinates = {}),\r\n (d[g].lineCoordinates.width = Math.abs(n - l)),\r\n d[g].title &&\r\n (d[g]._titleTextBlock.maxWidth =\r\n 0 < d[g].titleMaxWidth &&\r\n d[g].titleMaxWidth < d[g].lineCoordinates.width\r\n ? d[g].titleMaxWidth\r\n : d[g].lineCoordinates.width),\r\n x.push(\r\n Math.ceil(d[g] ? d[g].createLabelsAndCalculateHeight() : 0)\r\n ),\r\n (Y += x[g]),\r\n (X += d[g] && !m.isNavigator ? d[g].margin : 0);\r\n else\r\n x.push(Math.ceil(d[0] ? d[0].createLabelsAndCalculateHeight() : 0));\r\n Q.push(x);\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n a[g] &&\r\n ((a[g].lineCoordinates.x1 = l),\r\n (n = Math.round(\r\n f.x2 - aa - $ > m.width - p ? m.width - p : f.x2 - aa - $\r\n )),\r\n a[g]._labels &&\r\n 1 < a[g]._labels.length &&\r\n ((h = k = 0),\r\n (k = a[g]._labels[1]),\r\n (h =\r\n 'dateTime' === a[g].valueType\r\n ? a[g]._labels[a[g]._labels.length - 2]\r\n : a[g]._labels[a[g]._labels.length - 1]),\r\n (v =\r\n k.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(k.textBlock.angle)) +\r\n (k.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(k.textBlock.angle))),\r\n (u =\r\n h.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(h.textBlock.angle)) +\r\n (h.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(h.textBlock.angle)))),\r\n !a[g] ||\r\n !a[g].labelAutoFit ||\r\n r(C) ||\r\n r(B) ||\r\n m.isNavigator ||\r\n m.stockChart ||\r\n ((h = 0),\r\n 0 < a[g].labelAngle\r\n ? B + u > n &&\r\n (h += 0 < a[g].labelAngle ? B + u - n - aa : 0)\r\n : 0 > a[g].labelAngle\r\n ? C - v < l &&\r\n C - v < a[g].viewportMinimum &&\r\n (E =\r\n l -\r\n (L +\r\n a[g].tickLength +\r\n z +\r\n C -\r\n v +\r\n a[g].labelFontSize / 2))\r\n : 0 === a[g].labelAngle &&\r\n (B + u > n && (h = B + u / 2 - n - aa),\r\n C - v < l &&\r\n C - v < a[g].viewportMinimum &&\r\n (E = l - L - a[g].tickLength - z - C + v / 2)),\r\n a[g].viewportMaximum === a[g].maximum &&\r\n a[g].viewportMinimum === a[g].minimum &&\r\n 0 < a[g].labelAngle &&\r\n 0 < h\r\n ? (n -= h)\r\n : a[g].viewportMaximum === a[g].maximum &&\r\n a[g].viewportMinimum === a[g].minimum &&\r\n 0 > a[g].labelAngle &&\r\n 0 < E\r\n ? (l += E)\r\n : a[g].viewportMaximum === a[g].maximum &&\r\n a[g].viewportMinimum === a[g].minimum &&\r\n 0 === a[g].labelAngle &&\r\n (0 < E && (l += E), 0 < h && (n -= h))),\r\n m.panEnabled\r\n ? (U = r(m.sessionVariables.axisX.height)\r\n ? (m.sessionVariables.axisX.height = U)\r\n : m.sessionVariables.axisX.height)\r\n : (m.sessionVariables.axisX.height = U),\r\n (h = Math.round(f.y2 - U - e + F)),\r\n (k = Math.round(f.y2)),\r\n (a[g].lineCoordinates.x2 = n),\r\n (a[g].lineCoordinates.width = n - l),\r\n (a[g].lineCoordinates.y1 = h),\r\n (a[g].lineCoordinates.y2 = h + a[g].lineThickness / 2),\r\n 'inside' === a[g].labelPlacement &&\r\n 0 < g &&\r\n ((a[g].lineCoordinates.y1 =\r\n a[g].lineCoordinates.y1 +\r\n y[g] -\r\n (a[g]._titleTextBlock ? a[g]._titleTextBlock.height : 0) -\r\n ('inside' === a[g].tickPlacement ? a[g].tickLength : 0)),\r\n (a[g].lineCoordinates.y2 =\r\n a[g].lineCoordinates.y1 + a[g].lineThickness / 2)),\r\n (a[g].bounds = {\r\n x1: l,\r\n y1: h,\r\n x2: n,\r\n y2: k - (U + e - y[g] - F),\r\n width: n - l,\r\n height: k - h,\r\n })),\r\n (F += y[g] + a[g].margin);\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n (d[g].lineCoordinates.x1 = Math.round(f.x1 + R + L)),\r\n (d[g].lineCoordinates.x2 = Math.round(\r\n f.x2 - aa - $ > m.width - p ? m.width - p : f.x2 - aa - $\r\n )),\r\n (d[g].lineCoordinates.width = Math.abs(n - l)),\r\n d[g]._labels &&\r\n 1 < d[g]._labels.length &&\r\n ((k = d[g]._labels[1]),\r\n (h =\r\n 'dateTime' === d[g].valueType\r\n ? d[g]._labels[d[g]._labels.length - 2]\r\n : d[g]._labels[d[g]._labels.length - 1]),\r\n (v =\r\n k.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(k.textBlock.angle)) +\r\n (k.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(k.textBlock.angle))),\r\n (u =\r\n h.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(h.textBlock.angle)) +\r\n (h.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(h.textBlock.angle)))),\r\n m.panEnabled\r\n ? (Y = r(m.sessionVariables.axisX2.height)\r\n ? (m.sessionVariables.axisX2.height = Y)\r\n : m.sessionVariables.axisX2.height)\r\n : (m.sessionVariables.axisX2.height = Y),\r\n (h = Math.round(f.y1)),\r\n (k = Math.round(f.y2 + d[g].margin)),\r\n (d[g].lineCoordinates.y1 = h + Y + X - T),\r\n (d[g].lineCoordinates.y2 = h),\r\n 'inside' === d[g].labelPlacement &&\r\n 0 < g &&\r\n (d[g].lineCoordinates.y1 =\r\n d[g - 1].bounds.y1 -\r\n x[g] +\r\n (d[g]._titleTextBlock ? d[g]._titleTextBlock.height : 0)),\r\n (d[g].bounds = {\r\n x1: l,\r\n y1: h + (Y + X - x[g] - T),\r\n x2: n,\r\n y2: k,\r\n width: n - l,\r\n height: k - h,\r\n }),\r\n (T += x[g] + d[g].margin);\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n (L = m.isNavigator ? 0 : 10),\r\n c[g] &&\r\n ((l = Math.round(\r\n a[0] ? a[0].lineCoordinates.x1 : d[0].lineCoordinates.x1\r\n )),\r\n (L =\r\n c[g]._labels && 0 < c[g]._labels.length\r\n ? c[g]._labels[c[g]._labels.length - 1].textBlock.height /\r\n 2\r\n : p),\r\n (h = Math.round(\r\n f.y1 + Y + X < Math.max(L, p)\r\n ? Math.max(L, p)\r\n : f.y1 + Y + X\r\n )),\r\n (n = Math.round(\r\n a[0] ? a[0].lineCoordinates.x1 : d[0].lineCoordinates.x1\r\n )),\r\n (L =\r\n 0 < a.length\r\n ? 0\r\n : c[g]._labels && 0 < c[g]._labels.length\r\n ? c[g]._labels[0].textBlock.height / 2\r\n : p),\r\n (k = Math.round(f.y2 - U - e - L)),\r\n (c[g].lineCoordinates = {\r\n x1: l - W,\r\n y1: h,\r\n x2: n - W,\r\n y2: k,\r\n height: Math.abs(k - h),\r\n }),\r\n 'inside' === c[g].labelPlacement &&\r\n 0 < g &&\r\n ((c[g].lineCoordinates.x1 =\r\n c[g].lineCoordinates.x1 -\r\n (z[g] -\r\n (c[g]._titleTextBlock\r\n ? c[g]._titleTextBlock.height\r\n : 0)) +\r\n ('outside' === c[g].tickPlacement ? c[g].tickLength : 0)),\r\n (c[g].lineCoordinates.x2 =\r\n c[g].lineCoordinates.x1 + c[g].lineThickness / 2)),\r\n (c[g].bounds = {\r\n x1: l - (z[g] + W),\r\n y1: h,\r\n x2: n,\r\n y2: k,\r\n width: n - l,\r\n height: k - h,\r\n }),\r\n c[g].title &&\r\n (c[g]._titleTextBlock.maxWidth =\r\n 0 < c[g].titleMaxWidth &&\r\n c[g].titleMaxWidth < c[g].lineCoordinates.height\r\n ? c[g].titleMaxWidth\r\n : c[g].lineCoordinates.height),\r\n (W += z[g] + c[g].margin));\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n b[g] &&\r\n ((l = Math.round(\r\n a[0] ? a[0].lineCoordinates.x2 : d[0].lineCoordinates.x2\r\n )),\r\n (n = Math.round(l)),\r\n (L =\r\n b[g]._labels && 0 < b[g]._labels.length\r\n ? b[g]._labels[b[g]._labels.length - 1].textBlock.height / 2\r\n : 0),\r\n (h = Math.round(\r\n f.y1 + Y + X < Math.max(L, p) ? Math.max(L, p) : f.y1 + Y + X\r\n )),\r\n (L =\r\n 0 < a.length\r\n ? 0\r\n : b[g]._labels && 0 < b[g]._labels.length\r\n ? b[g]._labels[0].textBlock.height / 2\r\n : 0),\r\n (k = Math.round(f.y2 - (U + e + L))),\r\n (b[g].lineCoordinates = {\r\n x1: l + V,\r\n y1: h,\r\n x2: l + V,\r\n y2: k,\r\n height: Math.abs(k - h),\r\n }),\r\n 'inside' === b[g].labelPlacement &&\r\n 0 < g &&\r\n ((b[g].lineCoordinates.x1 =\r\n b[g].lineCoordinates.x1 +\r\n (A[g] -\r\n (b[g]._titleTextBlock\r\n ? b[g]._titleTextBlock.height\r\n : 0)) -\r\n ('outside' === b[g].tickPlacement ? b[g].tickLength : 0) -\r\n 2),\r\n (b[g].lineCoordinates.x2 =\r\n b[g].lineCoordinates.x1 + b[g].lineThickness / 2)),\r\n (b[g].bounds = {\r\n x1: l,\r\n y1: h,\r\n x2: n + (A[g] + V),\r\n y2: k,\r\n width: n - l,\r\n height: k - h,\r\n }),\r\n b[g].title &&\r\n (b[g]._titleTextBlock.maxWidth =\r\n 0 < b[g].titleMaxWidth &&\r\n b[g].titleMaxWidth < b[g].lineCoordinates.height\r\n ? b[g].titleMaxWidth\r\n : b[g].lineCoordinates.height),\r\n (V += A[g] + b[g].margin));\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n a[g] &&\r\n (a[g].calculateValueToPixelConversionParameters(),\r\n a[g].calculateBreaksSizeInValues(),\r\n a[g]._labels &&\r\n 1 < a[g]._labels.length &&\r\n ((C =\r\n (a[g].logarithmic\r\n ? Math.log(\r\n a[g]._labels[1].position / a[g].viewportMinimum\r\n ) / a[g].conversionParameters.lnLogarithmBase\r\n : a[g]._labels[1].position - a[g].viewportMinimum) *\r\n Math.abs(a[g].conversionParameters.pixelPerUnit) +\r\n a[g].lineCoordinates.x1),\r\n (l =\r\n a[g]._labels[\r\n a[g]._labels.length -\r\n ('dateTime' === a[g].valueType ? 2 : 1)\r\n ].position),\r\n (l = a[g].getApparentDifference(a[g].viewportMinimum, l)),\r\n (B = a[g].logarithmic\r\n ? (1 < l\r\n ? (Math.log(l) /\r\n a[g].conversionParameters.lnLogarithmBase) *\r\n Math.abs(a[g].conversionParameters.pixelPerUnit)\r\n : 0) + a[g].lineCoordinates.x1\r\n : (0 < l\r\n ? l * Math.abs(a[g].conversionParameters.pixelPerUnit)\r\n : 0) + a[g].lineCoordinates.x1)));\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n d[g].calculateValueToPixelConversionParameters(),\r\n d[g].calculateBreaksSizeInValues(),\r\n d[g]._labels &&\r\n 1 < d[g]._labels.length &&\r\n ((C =\r\n (d[g].logarithmic\r\n ? Math.log(\r\n d[g]._labels[1].position / d[g].viewportMinimum\r\n ) / d[g].conversionParameters.lnLogarithmBase\r\n : d[g]._labels[1].position - d[g].viewportMinimum) *\r\n Math.abs(d[g].conversionParameters.pixelPerUnit) +\r\n d[g].lineCoordinates.x1),\r\n (l =\r\n d[g]._labels[\r\n d[g]._labels.length -\r\n ('dateTime' === d[g].valueType ? 2 : 1)\r\n ].position),\r\n (l = d[g].getApparentDifference(d[g].viewportMinimum, l)),\r\n (B = d[g].logarithmic\r\n ? (1 < l\r\n ? (Math.log(l) /\r\n d[g].conversionParameters.lnLogarithmBase) *\r\n Math.abs(d[g].conversionParameters.pixelPerUnit)\r\n : 0) + d[g].lineCoordinates.x1\r\n : (0 < l\r\n ? l * Math.abs(d[g].conversionParameters.pixelPerUnit)\r\n : 0) + d[g].lineCoordinates.x1));\r\n for (g = 0; g < q.length; g++)\r\n 'axisY' === q[g].type &&\r\n (q[g].calculateValueToPixelConversionParameters(),\r\n q[g].calculateBreaksSizeInValues());\r\n if (0 < w) {\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n t = N[w - 1][g] === N[w][g] ? !0 : !1;\r\n else t = !0;\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n I = Q[w - 1][g] === Q[w][g] ? !0 : !1;\r\n else I = !0;\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n J = O[w - 1][g] === O[w][g] ? !0 : !1;\r\n else J = !0;\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n K = P[w - 1][g] === P[w][g] ? !0 : !1;\r\n else K = !0;\r\n }\r\n if (t && I && J && K) break;\r\n w++;\r\n }\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n a[g].calculateStripLinesThicknessInValues(),\r\n a[g].calculateBreaksInPixels();\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n d[g].calculateStripLinesThicknessInValues(),\r\n d[g].calculateBreaksInPixels();\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n c[g].calculateStripLinesThicknessInValues(),\r\n c[g].calculateBreaksInPixels();\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n b[g].calculateStripLinesThicknessInValues(),\r\n b[g].calculateBreaksInPixels();\r\n } else {\r\n p = [];\r\n C = [];\r\n E = [];\r\n v = [];\r\n B = [];\r\n u = [];\r\n N = [];\r\n for (Q = []; 4 > w; ) {\r\n U = V = T = W = $ = L = X = e = P = O = F = Y = 0;\r\n if (a && 0 < a.length)\r\n for (E = [], g = V = 0; g < a.length; g++)\r\n E.push(\r\n Math.ceil(a[g] ? a[g].createLabelsAndCalculateWidth() : 0)\r\n ),\r\n (V += E[g]),\r\n (e += a[g] && !m.isNavigator ? a[g].margin : 0);\r\n else\r\n E.push(Math.ceil(a[0] ? a[0].createLabelsAndCalculateWidth() : 0));\r\n N.push(E);\r\n if (d && 0 < d.length)\r\n for (v = [], g = U = 0; g < d.length; g++)\r\n v.push(\r\n Math.ceil(d[g] ? d[g].createLabelsAndCalculateWidth() : 0)\r\n ),\r\n (U += v[g]),\r\n (X += d[g] ? d[g].margin : 0);\r\n else\r\n v.push(Math.ceil(d[0] ? d[0].createLabelsAndCalculateWidth() : 0));\r\n Q.push(v);\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n (c[g].lineCoordinates = {}),\r\n (l = Math.round(f.x1 + V + e)),\r\n (n = Math.round(\r\n f.x2 - U - X > m.width - 10 ? m.width - 10 : f.x2 - U - X\r\n )),\r\n c[g].labelAutoFit &&\r\n !r(y) &&\r\n (0 < !a.length &&\r\n (l =\r\n 0 > c[g].labelAngle\r\n ? Math.max(l, y)\r\n : 0 === c[g].labelAngle\r\n ? Math.max(l, y / 2)\r\n : l),\r\n 0 < !d.length &&\r\n (n =\r\n 0 < c[g].labelAngle\r\n ? n - x / 2\r\n : 0 === c[g].labelAngle\r\n ? n - x / 2\r\n : n)),\r\n (c[g].lineCoordinates.x1 = l),\r\n (c[g].lineCoordinates.x2 = n),\r\n (c[g].lineCoordinates.width = Math.abs(n - l)),\r\n c[g].title &&\r\n (c[g]._titleTextBlock.maxWidth =\r\n 0 < c[g].titleMaxWidth &&\r\n c[g].titleMaxWidth < c[g].lineCoordinates.width\r\n ? c[g].titleMaxWidth\r\n : c[g].lineCoordinates.width);\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n (b[g].lineCoordinates = {}),\r\n (l = Math.round(f.x1 + V + e)),\r\n (n = Math.round(\r\n f.x2 - U - X > b[g].chart.width - 10\r\n ? b[g].chart.width - 10\r\n : f.x2 - U - X\r\n )),\r\n b[g] &&\r\n b[g].labelAutoFit &&\r\n !r(z) &&\r\n (0 < !a.length &&\r\n (l =\r\n 0 < b[g].labelAngle\r\n ? Math.max(l, z)\r\n : 0 === b[g].labelAngle\r\n ? Math.max(l, z / 2)\r\n : l),\r\n 0 < !d.length && (n -= A / 2)),\r\n (b[g].lineCoordinates.x1 = l),\r\n (b[g].lineCoordinates.x2 = n),\r\n (b[g].lineCoordinates.width = Math.abs(n - l)),\r\n b[g].title &&\r\n (b[g]._titleTextBlock.maxWidth =\r\n 0 < b[g].titleMaxWidth &&\r\n b[g].titleMaxWidth < b[g].lineCoordinates.width\r\n ? b[g].titleMaxWidth\r\n : b[g].lineCoordinates.width);\r\n if (c && 0 < c.length)\r\n for (p = [], g = W = 0; g < c.length; g++)\r\n p.push(\r\n Math.ceil(c[g] ? c[g].createLabelsAndCalculateHeight() : 0)\r\n ),\r\n (W += p[g] + c[g].margin),\r\n (L += c[g].margin);\r\n else\r\n p.push(Math.ceil(c[0] ? c[0].createLabelsAndCalculateHeight() : 0));\r\n B.push(p);\r\n if (b && 0 < b.length)\r\n for (C = [], g = T = 0; g < b.length; g++)\r\n C.push(\r\n Math.ceil(b[g] ? b[g].createLabelsAndCalculateHeight() : 0)\r\n ),\r\n (T += C[g]),\r\n ($ += b[g].margin);\r\n else\r\n C.push(Math.ceil(b[0] ? b[0].createLabelsAndCalculateHeight() : 0));\r\n u.push(C);\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n 0 < c[g]._labels.length &&\r\n ((k = c[g]._labels[0]),\r\n (h = c[g]._labels[c[g]._labels.length - 1]),\r\n (y =\r\n k.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(k.textBlock.angle)) +\r\n (k.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(k.textBlock.angle))),\r\n (x =\r\n h.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(h.textBlock.angle)) +\r\n (h.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(h.textBlock.angle))));\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n b[g] &&\r\n 0 < b[g]._labels.length &&\r\n ((k = b[g]._labels[0]),\r\n (h = b[g]._labels[b[g]._labels.length - 1]),\r\n (z =\r\n k.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(k.textBlock.angle)) +\r\n (k.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(k.textBlock.angle))),\r\n (A =\r\n h.textBlock.width *\r\n Math.cos((Math.PI / 180) * Math.abs(h.textBlock.angle)) +\r\n (h.textBlock.height - h.textBlock.fontSize / 2) *\r\n Math.sin((Math.PI / 180) * Math.abs(h.textBlock.angle))));\r\n if (m.panEnabled)\r\n for (g = 0; g < c.length; g++)\r\n p[g] = r(m.sessionVariables.axisY.height)\r\n ? (m.sessionVariables.axisY.height = p[g])\r\n : m.sessionVariables.axisY.height;\r\n else\r\n for (g = 0; g < c.length; g++)\r\n m.sessionVariables.axisY.height = p[g];\r\n if (c && 0 < c.length)\r\n for (g = c.length - 1; 0 <= g; g--)\r\n (h = Math.round(f.y2)),\r\n (k = Math.round(\r\n f.y2 > c[g].chart.height ? c[g].chart.height : f.y2\r\n )),\r\n (c[g].lineCoordinates.y1 = h - (p[g] + c[g].margin + Y)),\r\n (c[g].lineCoordinates.y2 = h - (p[g] + c[g].margin + Y)),\r\n 'inside' === c[g].labelPlacement &&\r\n 0 < g &&\r\n ((c[g].lineCoordinates.y1 =\r\n c[g].lineCoordinates.y1 +\r\n p[g] -\r\n (c[g]._titleTextBlock ? c[g]._titleTextBlock.height : 0) -\r\n ('inside' === c[g].tickPlacement ? c[g].tickLength : 0)),\r\n (c[g].lineCoordinates.y2 =\r\n c[g].lineCoordinates.y1 + c[g].lineThickness / 2)),\r\n (c[g].bounds = {\r\n x1: l,\r\n y1: h - (p[g] + Y + c[g].margin),\r\n x2: n,\r\n y2: k - (Y + c[g].margin),\r\n width: n - l,\r\n height: p[g],\r\n }),\r\n c[g].title &&\r\n (c[g]._titleTextBlock.maxWidth =\r\n 0 < c[g].titleMaxWidth &&\r\n c[g].titleMaxWidth < c[g].lineCoordinates.width\r\n ? c[g].titleMaxWidth\r\n : c[g].lineCoordinates.width),\r\n (Y += p[g] + c[g].margin);\r\n if (b && 0 < b.length)\r\n for (g = b.length - 1; 0 <= g; g--)\r\n b[g] &&\r\n ((h = Math.round(f.y1)),\r\n (k = Math.round(f.y1 + (C[g] + b[g].margin + F))),\r\n (b[g].lineCoordinates.y1 = k),\r\n (b[g].lineCoordinates.y2 = k),\r\n 'inside' === b[g].labelPlacement &&\r\n 0 < g &&\r\n (b[g].lineCoordinates.y1 =\r\n k -\r\n C[g] +\r\n (b[g]._titleTextBlock ? b[g]._titleTextBlock.height : 0)),\r\n (b[g].bounds = {\r\n x1: l,\r\n y1: h + (b[g].margin + F),\r\n x2: n,\r\n y2: k,\r\n width: n - l,\r\n height: T,\r\n }),\r\n b[g].title &&\r\n (b[g]._titleTextBlock.maxWidth =\r\n 0 < b[g].titleMaxWidth &&\r\n b[g].titleMaxWidth < b[g].lineCoordinates.width\r\n ? b[g].titleMaxWidth\r\n : b[g].lineCoordinates.width),\r\n (F += C[g] + b[g].margin));\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++) {\r\n L =\r\n a[g]._labels && 0 < a[g]._labels.length\r\n ? a[g]._labels[0].textBlock.fontSize / 2\r\n : 0;\r\n l = Math.round(f.x1 + e);\r\n h =\r\n b && 0 < b.length\r\n ? Math.round(\r\n b[0]\r\n ? b[0].lineCoordinates.y2\r\n : f.y1 < Math.max(L, 10)\r\n ? Math.max(L, 10)\r\n : f.y1\r\n )\r\n : f.y1 < Math.max(L, 10)\r\n ? Math.max(L, 10)\r\n : f.y1;\r\n n = Math.round(f.x1 + V + e);\r\n k =\r\n c && 0 < c.length\r\n ? Math.round(\r\n c[0]\r\n ? c[0].lineCoordinates.y1\r\n : f.y2 - W > m.height - Math.max(L, 10)\r\n ? m.height - Math.max(L, 10)\r\n : f.y2 - W\r\n )\r\n : f.y2 > m.height - Math.max(L, 10)\r\n ? m.height - Math.max(L, 10)\r\n : f.y2;\r\n if (c && 0 < c.length)\r\n for (L = 0; L < c.length; L++)\r\n c[L] &&\r\n c[L].labelAutoFit &&\r\n ((n =\r\n 0 > c[L].labelAngle\r\n ? Math.max(n, y)\r\n : 0 === c[L].labelAngle\r\n ? Math.max(n, y / 2)\r\n : n),\r\n (l =\r\n 0 > c[L].labelAngle || 0 === c[L].labelAngle\r\n ? n - V\r\n : l));\r\n if (b && 0 < b.length)\r\n for (L = 0; L < b.length; L++)\r\n b[L] &&\r\n b[L].labelAutoFit &&\r\n ((n = b[L].lineCoordinates.x1), (l = n - V));\r\n a[g].lineCoordinates = {\r\n x1: n - O,\r\n y1: h,\r\n x2: n - O,\r\n y2: k,\r\n height: Math.abs(k - h),\r\n };\r\n 'inside' === a[g].labelPlacement &&\r\n 0 < g &&\r\n ((a[g].lineCoordinates.x1 =\r\n a[g].lineCoordinates.x1 -\r\n (E[g] -\r\n (a[g]._titleTextBlock ? a[g]._titleTextBlock.height : 0)) +\r\n ('outside' === a[g].tickPlacement ? a[g].tickLength : 0)),\r\n (a[g].lineCoordinates.x2 =\r\n a[g].lineCoordinates.x1 + a[g].lineThickness / 2));\r\n a[g].bounds = {\r\n x1: n - (E[g] + O),\r\n y1: h,\r\n x2: n,\r\n y2: k,\r\n width: n - l,\r\n height: k - h,\r\n };\r\n a[g].title &&\r\n (a[g]._titleTextBlock.maxWidth =\r\n 0 < a[g].titleMaxWidth &&\r\n a[g].titleMaxWidth < a[g].lineCoordinates.height\r\n ? a[g].titleMaxWidth\r\n : a[g].lineCoordinates.height);\r\n a[g].calculateValueToPixelConversionParameters();\r\n a[g].calculateBreaksSizeInValues();\r\n O += E[g] + a[g].margin;\r\n }\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++) {\r\n L =\r\n d[g]._labels && 0 < d[g]._labels.length\r\n ? d[g]._labels[0].textBlock.fontSize / 2\r\n : 0;\r\n l = Math.round(f.x1 - e);\r\n h =\r\n b && 0 < b.length\r\n ? Math.round(\r\n b[0]\r\n ? b[0].lineCoordinates.y2\r\n : f.y1 < Math.max(L, 10)\r\n ? Math.max(L, 10)\r\n : f.y1\r\n )\r\n : f.y1 < Math.max(L, 10)\r\n ? Math.max(L, 10)\r\n : f.y1;\r\n n = Math.round(f.x2 - U - X);\r\n k =\r\n c && 0 < c.length\r\n ? Math.round(\r\n c[0]\r\n ? c[0].lineCoordinates.y1\r\n : f.y2 - W > m.height - Math.max(L, 10)\r\n ? m.height - Math.max(L, 10)\r\n : f.y2 - W\r\n )\r\n : f.y2 > m.height - Math.max(L, 10)\r\n ? m.height - Math.max(L, 10)\r\n : f.y2;\r\n if (c && 0 < c.length)\r\n for (L = 0; L < c.length; L++)\r\n c[L] &&\r\n c[L].labelAutoFit &&\r\n ((n =\r\n 0 > c[L].labelAngle\r\n ? Math.max(n, y)\r\n : 0 === c[L].labelAngle\r\n ? Math.max(n, y / 2)\r\n : n),\r\n (l =\r\n 0 > c[L].labelAngle || 0 === c[L].labelAngle\r\n ? n - U\r\n : l));\r\n if (b && 0 < b.length)\r\n for (L = 0; L < b.length; L++)\r\n b[L] &&\r\n b[L].labelAutoFit &&\r\n ((n = b[L].lineCoordinates.x2), (l = n - U));\r\n d[g].lineCoordinates = {\r\n x1: n + P,\r\n y1: h,\r\n x2: n + P,\r\n y2: k,\r\n height: Math.abs(k - h),\r\n };\r\n 'inside' === d[g].labelPlacement &&\r\n 0 < g &&\r\n ((d[g].lineCoordinates.x1 =\r\n d[g].lineCoordinates.x1 +\r\n (v[g] -\r\n (d[g]._titleTextBlock ? d[g]._titleTextBlock.height : 0) -\r\n 2) -\r\n ('outside' === d[g].tickPlacement ? d[g].tickLength : 0)),\r\n (d[g].lineCoordinates.x2 =\r\n d[g].lineCoordinates.x1 + d[g].lineThickness / 2));\r\n d[g].bounds = {\r\n x1: d[g].lineCoordinates.x1,\r\n y1: h,\r\n x2: n + v[g] + P,\r\n y2: k,\r\n width: n - l,\r\n height: k - h,\r\n };\r\n d[g].title &&\r\n (d[g]._titleTextBlock.maxWidth =\r\n 0 < d[g].titleMaxWidth &&\r\n d[g].titleMaxWidth < d[g].lineCoordinates.height\r\n ? d[g].titleMaxWidth\r\n : d[g].lineCoordinates.height);\r\n d[g].calculateValueToPixelConversionParameters();\r\n d[g].calculateBreaksSizeInValues();\r\n P += v[g] + d[g].margin;\r\n }\r\n for (g = 0; g < q.length; g++)\r\n 'axisY' === q[g].type &&\r\n (q[g].calculateValueToPixelConversionParameters(),\r\n q[g].calculateBreaksSizeInValues());\r\n if (0 < w) {\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n t = N[w - 1][g] === N[w][g] ? !0 : !1;\r\n else t = !0;\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n I = Q[w - 1][g] === Q[w][g] ? !0 : !1;\r\n else I = !0;\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n J = B[w - 1][g] === B[w][g] ? !0 : !1;\r\n else J = !0;\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n K = u[w - 1][g] === u[w][g] ? !0 : !1;\r\n else K = !0;\r\n }\r\n if (t && I && J && K) break;\r\n w++;\r\n }\r\n if (c && 0 < c.length)\r\n for (g = 0; g < c.length; g++)\r\n c[g].calculateStripLinesThicknessInValues(),\r\n c[g].calculateBreaksInPixels();\r\n if (b && 0 < b.length)\r\n for (g = 0; g < b.length; g++)\r\n b[g].calculateStripLinesThicknessInValues(),\r\n b[g].calculateBreaksInPixels();\r\n if (a && 0 < a.length)\r\n for (g = 0; g < a.length; g++)\r\n a[g].calculateStripLinesThicknessInValues(),\r\n a[g].calculateBreaksInPixels();\r\n if (d && 0 < d.length)\r\n for (g = 0; g < d.length; g++)\r\n d[g].calculateStripLinesThicknessInValues(),\r\n d[g].calculateBreaksInPixels();\r\n }\r\n };\r\n A.render = function (a, d, c, b, e) {\r\n var f = a[0] ? a[0].chart : d[0].chart;\r\n e = f.ctx;\r\n f.alignVerticalAxes && f.alignVerticalAxes();\r\n e.save();\r\n e.beginPath();\r\n a[0] &&\r\n e.rect(5, a[0].bounds.y1, a[0].chart.width - 10, a[0].bounds.height);\r\n d[0] &&\r\n e.rect(\r\n 5,\r\n d[d.length - 1].bounds.y1,\r\n d[0].chart.width - 10,\r\n d[0].bounds.height\r\n );\r\n e.clip();\r\n if (a && 0 < a.length)\r\n for (var l = 0; l < a.length; l++) a[l].renderLabelsTicksAndTitle();\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++) d[l].renderLabelsTicksAndTitle();\r\n e.restore();\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++) c[l].renderLabelsTicksAndTitle();\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++) b[l].renderLabelsTicksAndTitle();\r\n f.preparePlotArea();\r\n f = f.plotArea;\r\n e.save();\r\n e.beginPath();\r\n e.rect(f.x1, f.y1, Math.abs(f.x2 - f.x1), Math.abs(f.y2 - f.y1));\r\n e.clip();\r\n if (a && 0 < a.length)\r\n for (l = 0; l < a.length; l++)\r\n a[l].renderStripLinesOfThicknessType('value');\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++)\r\n d[l].renderStripLinesOfThicknessType('value');\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++)\r\n c[l].renderStripLinesOfThicknessType('value');\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++)\r\n b[l].renderStripLinesOfThicknessType('value');\r\n if (a && 0 < a.length)\r\n for (l = 0; l < a.length; l++) a[l].renderInterlacedColors();\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++) d[l].renderInterlacedColors();\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++) c[l].renderInterlacedColors();\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++) b[l].renderInterlacedColors();\r\n e.restore();\r\n if (a && 0 < a.length)\r\n for (l = 0; l < a.length; l++)\r\n a[l].renderGrid(),\r\n w && (a[l].createMask(), a[l].renderBreaksBackground());\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++)\r\n d[l].renderGrid(),\r\n w && (d[l].createMask(), d[l].renderBreaksBackground());\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++)\r\n c[l].renderGrid(),\r\n w && (c[l].createMask(), c[l].renderBreaksBackground());\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++)\r\n b[l].renderGrid(),\r\n w && (b[l].createMask(), b[l].renderBreaksBackground());\r\n if (a && 0 < a.length)\r\n for (l = 0; l < a.length; l++) a[l].renderAxisLine();\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++) d[l].renderAxisLine();\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++) c[l].renderAxisLine();\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++) b[l].renderAxisLine();\r\n if (a && 0 < a.length)\r\n for (l = 0; l < a.length; l++)\r\n a[l].renderStripLinesOfThicknessType('pixel');\r\n if (d && 0 < d.length)\r\n for (l = 0; l < d.length; l++)\r\n d[l].renderStripLinesOfThicknessType('pixel');\r\n if (c && 0 < c.length)\r\n for (l = 0; l < c.length; l++)\r\n c[l].renderStripLinesOfThicknessType('pixel');\r\n if (b && 0 < b.length)\r\n for (l = 0; l < b.length; l++)\r\n b[l].renderStripLinesOfThicknessType('pixel');\r\n };\r\n A.prototype.calculateStripLinesThicknessInValues = function () {\r\n for (var a = 0; a < this.stripLines.length; a++)\r\n if (\r\n null !== this.stripLines[a].startValue &&\r\n null !== this.stripLines[a].endValue\r\n ) {\r\n var d = Math.min(\r\n this.stripLines[a].startValue,\r\n this.stripLines[a].endValue\r\n ),\r\n c = Math.max(\r\n this.stripLines[a].startValue,\r\n this.stripLines[a].endValue\r\n ),\r\n d = this.getApparentDifference(d, c);\r\n this.stripLines[a].value = this.logarithmic\r\n ? this.stripLines[a].value *\r\n Math.sqrt(\r\n Math.log(\r\n Math.max(\r\n this.stripLines[a].startValue,\r\n this.stripLines[a].endValue\r\n ) /\r\n Math.min(\r\n this.stripLines[a].startValue,\r\n this.stripLines[a].endValue\r\n )\r\n ) / Math.log(d)\r\n )\r\n : this.stripLines[a].value +\r\n (Math.abs(\r\n this.stripLines[a].endValue - this.stripLines[a].startValue\r\n ) -\r\n d) /\r\n 2;\r\n this.stripLines[a].thickness = d;\r\n this.stripLines[a]._thicknessType = 'value';\r\n }\r\n };\r\n A.prototype.calculateBreaksSizeInValues = function () {\r\n for (\r\n var a =\r\n 'left' === this._position || 'right' === this._position\r\n ? this.lineCoordinates.height || this.chart.height\r\n : this.lineCoordinates.width || this.chart.width,\r\n d = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [],\r\n c =\r\n this.conversionParameters.pixelPerUnit ||\r\n a /\r\n (this.logarithmic\r\n ? this.conversionParameters.maximum /\r\n this.conversionParameters.minimum\r\n : this.conversionParameters.maximum -\r\n this.conversionParameters.minimum),\r\n b = this.scaleBreaks && !r(this.scaleBreaks.options.spacing),\r\n e,\r\n f = 0;\r\n f < d.length;\r\n f++\r\n )\r\n (e = b || !r(d[f].options.spacing)),\r\n (d[f].spacing =\r\n Sa(d[f].spacing, a, 8, e ? 0.1 * a : 8, e ? 0 : 3) << 0),\r\n (d[f].size = 0 > d[f].spacing ? 0 : Math.abs(d[f].spacing / c)),\r\n this.logarithmic &&\r\n (d[f].size = Math.pow(this.logarithmBase, d[f].size));\r\n };\r\n A.prototype.calculateBreaksInPixels = function () {\r\n if (!(this.scaleBreaks && 0 >= this.scaleBreaks._appliedBreaks.length)) {\r\n var a = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [];\r\n a.length &&\r\n (this.scaleBreaks.firstBreakIndex = this.scaleBreaks.lastBreakIndex = null);\r\n for (\r\n var d = 0;\r\n d < a.length &&\r\n !(a[d].startValue > this.conversionParameters.maximum);\r\n d++\r\n )\r\n a[d].endValue < this.conversionParameters.minimum ||\r\n (r(this.scaleBreaks.firstBreakIndex) &&\r\n (this.scaleBreaks.firstBreakIndex = d),\r\n a[d].startValue >= this.conversionParameters.minimum &&\r\n ((a[d].startPixel = this.convertValueToPixel(a[d].startValue)),\r\n (this.scaleBreaks.lastBreakIndex = d)),\r\n a[d].endValue <= this.conversionParameters.maximum &&\r\n (a[d].endPixel = this.convertValueToPixel(a[d].endValue)));\r\n }\r\n };\r\n A.prototype.renderLabelsTicksAndTitle = function () {\r\n var a = this,\r\n d = !1,\r\n c = 0,\r\n b = 0,\r\n e = 1,\r\n f = 0;\r\n 0 !== this.labelAngle && 360 !== this.labelAngle && (e = 1.2);\r\n if ('undefined' === typeof this.options.interval) {\r\n if ('bottom' === this._position || 'top' === this._position)\r\n if (\r\n this.logarithmic &&\r\n !this.equidistantInterval &&\r\n this.labelAutoFit\r\n ) {\r\n for (\r\n var c = [],\r\n e = 0 !== this.labelAngle && 360 !== this.labelAngle ? 1 : 1.2,\r\n l,\r\n h = this.viewportMaximum,\r\n n = this.lineCoordinates.width / Math.log(this.range),\r\n k = this._labels.length - 1;\r\n 0 <= k;\r\n k--\r\n ) {\r\n p = this._labels[k];\r\n if (p.position < this.viewportMinimum) break;\r\n p.position > this.viewportMaximum ||\r\n !(\r\n k === this._labels.length - 1 ||\r\n l < (Math.log(h / p.position) * n) / e\r\n ) ||\r\n (c.push(p),\r\n (h = p.position),\r\n (l =\r\n p.textBlock.width *\r\n Math.abs(Math.cos((Math.PI / 180) * this.labelAngle)) +\r\n p.textBlock.height *\r\n Math.abs(Math.sin((Math.PI / 180) * this.labelAngle))));\r\n }\r\n this._labels = c;\r\n } else {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n ((l =\r\n p.textBlock.width *\r\n Math.abs(Math.cos((Math.PI / 180) * this.labelAngle)) +\r\n p.textBlock.height *\r\n Math.abs(Math.sin((Math.PI / 180) * this.labelAngle))),\r\n (c += l));\r\n c > this.lineCoordinates.width * e && this.labelAutoFit && (d = !0);\r\n }\r\n if ('left' === this._position || 'right' === this._position)\r\n if (\r\n this.logarithmic &&\r\n !this.equidistantInterval &&\r\n this.labelAutoFit\r\n ) {\r\n for (\r\n var c = [],\r\n m,\r\n h = this.viewportMaximum,\r\n n = this.lineCoordinates.height / Math.log(this.range),\r\n k = this._labels.length - 1;\r\n 0 <= k;\r\n k--\r\n ) {\r\n p = this._labels[k];\r\n if (p.position < this.viewportMinimum) break;\r\n p.position > this.viewportMaximum ||\r\n !(\r\n k === this._labels.length - 1 ||\r\n m < Math.log(h / p.position) * n\r\n ) ||\r\n (c.push(p),\r\n (h = p.position),\r\n (m =\r\n p.textBlock.height *\r\n Math.abs(Math.cos((Math.PI / 180) * this.labelAngle)) +\r\n p.textBlock.width *\r\n Math.abs(Math.sin((Math.PI / 180) * this.labelAngle))));\r\n }\r\n this._labels = c;\r\n } else {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n ((m =\r\n p.textBlock.height *\r\n Math.abs(Math.cos((Math.PI / 180) * this.labelAngle)) +\r\n p.textBlock.width *\r\n Math.abs(Math.sin((Math.PI / 180) * this.labelAngle))),\r\n (b += m));\r\n b > this.lineCoordinates.height * e &&\r\n this.labelAutoFit &&\r\n (d = !0);\r\n }\r\n }\r\n this.logarithmic &&\r\n !this.equidistantInterval &&\r\n this.labelAutoFit &&\r\n this._labels.sort(function (a, b) {\r\n return a.position - b.position;\r\n });\r\n var k = 0,\r\n p,\r\n q;\r\n if ('bottom' === this._position) {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n p.position > this.viewportMaximum ||\r\n ((q = this.getPixelCoordinatesOnAxis(p.position)),\r\n this.tickThickness &&\r\n 'inside' != this.tickPlacement &&\r\n ((this.ctx.lineWidth = this.tickThickness),\r\n (this.ctx.strokeStyle = this.tickColor),\r\n (b =\r\n 1 === this.ctx.lineWidth % 2 ? (q.x << 0) + 0.5 : q.x << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(b, q.y << 0),\r\n this.ctx.lineTo(b, (q.y + this.tickLength) << 0),\r\n this.ctx.stroke()),\r\n (d && 0 !== f++ % 2 && this.labelAutoFit) ||\r\n (0 === p.textBlock.angle\r\n ? ((q.x -= p.textBlock.width / 2),\r\n (q.y =\r\n 'inside' === this.labelPlacement\r\n ? q.y -\r\n (('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n p.textBlock.height -\r\n p.textBlock.fontSize / 2)\r\n : q.y +\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n p.textBlock.fontSize / 2 +\r\n 5))\r\n : ((q.x =\r\n 'inside' === this.labelPlacement\r\n ? 0 > this.labelAngle\r\n ? q.x\r\n : q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : q.x -\r\n (0 > this.labelAngle\r\n ? p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : 0)),\r\n (q.y =\r\n 'inside' === this.labelPlacement\r\n ? 0 > this.labelAngle\r\n ? q.y -\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) -\r\n 5\r\n : q.y -\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) -\r\n Math.abs(\r\n p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle) +\r\n 5\r\n )\r\n : q.y +\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n Math.abs(\r\n 0 > this.labelAngle\r\n ? p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n 5\r\n : 5\r\n ))),\r\n (p.textBlock.x = q.x),\r\n (p.textBlock.y = q.y)));\r\n 'inside' === this.tickPlacement &&\r\n this.chart.addEventListener(\r\n 'dataAnimationEnd',\r\n function () {\r\n for (k = 0; k < a._labels.length; k++)\r\n if (\r\n ((p = a._labels[k]),\r\n !(\r\n p.position < a.viewportMinimum ||\r\n p.position > a.viewportMaximum\r\n ) &&\r\n ((q = a.getPixelCoordinatesOnAxis(p.position)),\r\n a.tickThickness))\r\n ) {\r\n a.ctx.lineWidth = a.tickThickness;\r\n a.ctx.strokeStyle = a.tickColor;\r\n var b =\r\n 1 === a.ctx.lineWidth % 2 ? (q.x << 0) + 0.5 : q.x << 0;\r\n a.ctx.save();\r\n a.ctx.beginPath();\r\n a.ctx.moveTo(b, q.y << 0);\r\n a.ctx.lineTo(b, (q.y - a.tickLength) << 0);\r\n a.ctx.stroke();\r\n a.ctx.restore();\r\n }\r\n },\r\n this\r\n );\r\n this.title &&\r\n (this._titleTextBlock.measureText(),\r\n (this._titleTextBlock.x =\r\n this.lineCoordinates.x1 +\r\n this.lineCoordinates.width / 2 -\r\n this._titleTextBlock.width / 2),\r\n (this._titleTextBlock.y =\r\n this.bounds.y2 - this._titleTextBlock.height - 3),\r\n (this.titleMaxWidth = this._titleTextBlock.maxWidth),\r\n this._titleTextBlock.render(!0));\r\n } else if ('top' === this._position) {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n p.position > this.viewportMaximum ||\r\n ((q = this.getPixelCoordinatesOnAxis(p.position)),\r\n this.tickThickness &&\r\n 'inside' != this.tickPlacement &&\r\n ((this.ctx.lineWidth = this.tickThickness),\r\n (this.ctx.strokeStyle = this.tickColor),\r\n (b =\r\n 1 === this.ctx.lineWidth % 2 ? (q.x << 0) + 0.5 : q.x << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(b, q.y << 0),\r\n this.ctx.lineTo(b, (q.y - this.tickLength) << 0),\r\n this.ctx.stroke()),\r\n (d && 0 !== f++ % 2 && this.labelAutoFit) ||\r\n (0 === p.textBlock.angle\r\n ? ((q.x -= p.textBlock.width / 2),\r\n (q.y =\r\n 'inside' === this.labelPlacement\r\n ? q.y +\r\n this.labelFontSize / 2 +\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n 5\r\n : q.y -\r\n (('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n p.textBlock.height -\r\n p.textBlock.fontSize / 2)))\r\n : ((q.x =\r\n 'inside' === this.labelPlacement\r\n ? 0 < this.labelAngle\r\n ? q.x\r\n : q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : q.x +\r\n (p.textBlock.height - this.labelFontSize) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n (0 < this.labelAngle\r\n ? p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : 0)),\r\n (q.y =\r\n 'inside' === this.labelPlacement\r\n ? 0 < this.labelAngle\r\n ? q.y +\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n 5\r\n : q.y -\r\n p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle) +\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n 5\r\n : q.y -\r\n (('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n ((p.textBlock.height - p.textBlock.fontSize / 2) *\r\n Math.cos((Math.PI / 180) * this.labelAngle) +\r\n (0 < this.labelAngle\r\n ? p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle)\r\n : 0))))),\r\n (p.textBlock.x = q.x),\r\n (p.textBlock.y = q.y)));\r\n 'inside' === this.tickPlacement &&\r\n this.chart.addEventListener(\r\n 'dataAnimationEnd',\r\n function () {\r\n for (k = 0; k < a._labels.length; k++)\r\n if (\r\n ((p = a._labels[k]),\r\n !(\r\n p.position < a.viewportMinimum ||\r\n p.position > a.viewportMaximum\r\n ) &&\r\n ((q = a.getPixelCoordinatesOnAxis(p.position)),\r\n a.tickThickness))\r\n ) {\r\n a.ctx.lineWidth = a.tickThickness;\r\n a.ctx.strokeStyle = a.tickColor;\r\n var b =\r\n 1 === a.ctx.lineWidth % 2 ? (q.x << 0) + 0.5 : q.x << 0;\r\n a.ctx.save();\r\n a.ctx.beginPath();\r\n a.ctx.moveTo(b, q.y << 0);\r\n a.ctx.lineTo(b, (q.y + a.tickLength) << 0);\r\n a.ctx.stroke();\r\n a.ctx.restore();\r\n }\r\n },\r\n this\r\n );\r\n this.title &&\r\n (this._titleTextBlock.measureText(),\r\n (this._titleTextBlock.x =\r\n this.lineCoordinates.x1 +\r\n this.lineCoordinates.width / 2 -\r\n this._titleTextBlock.width / 2),\r\n (this._titleTextBlock.y = this.bounds.y1 + 1),\r\n (this.titleMaxWidth = this._titleTextBlock.maxWidth),\r\n this._titleTextBlock.render(!0));\r\n } else if ('left' === this._position) {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n p.position > this.viewportMaximum ||\r\n ((q = this.getPixelCoordinatesOnAxis(p.position)),\r\n this.tickThickness &&\r\n 'inside' != this.tickPlacement &&\r\n ((this.ctx.lineWidth = this.tickThickness),\r\n (this.ctx.strokeStyle = this.tickColor),\r\n (b =\r\n 1 === this.ctx.lineWidth % 2 ? (q.y << 0) + 0.5 : q.y << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(q.x << 0, b),\r\n this.ctx.lineTo((q.x - this.tickLength) << 0, b),\r\n this.ctx.stroke()),\r\n (d && 0 !== f++ % 2 && this.labelAutoFit) ||\r\n (0 === this.labelAngle\r\n ? ((p.textBlock.y = q.y),\r\n (p.textBlock.x =\r\n 'inside' === this.labelPlacement\r\n ? q.x +\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n 5\r\n : q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) -\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) -\r\n 5))\r\n : ((p.textBlock.y =\r\n 'inside' === this.labelPlacement\r\n ? q.y\r\n : q.y -\r\n p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle)),\r\n (p.textBlock.x =\r\n 'inside' === this.labelPlacement\r\n ? q.x +\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) +\r\n 5\r\n : 0 < this.labelAngle\r\n ? q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) -\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) -\r\n 5\r\n : q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) +\r\n (p.textBlock.height - p.textBlock.fontSize / 2 - 5) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength)))));\r\n 'inside' === this.tickPlacement &&\r\n this.chart.addEventListener(\r\n 'dataAnimationEnd',\r\n function () {\r\n for (k = 0; k < a._labels.length; k++)\r\n if (\r\n ((p = a._labels[k]),\r\n !(\r\n p.position < a.viewportMinimum ||\r\n p.position > a.viewportMaximum\r\n ) &&\r\n ((q = a.getPixelCoordinatesOnAxis(p.position)),\r\n a.tickThickness))\r\n ) {\r\n a.ctx.lineWidth = a.tickThickness;\r\n a.ctx.strokeStyle = a.tickColor;\r\n var b =\r\n 1 === a.ctx.lineWidth % 2 ? (q.y << 0) + 0.5 : q.y << 0;\r\n a.ctx.save();\r\n a.ctx.beginPath();\r\n a.ctx.moveTo(q.x << 0, b);\r\n a.ctx.lineTo((q.x + a.tickLength) << 0, b);\r\n a.ctx.stroke();\r\n a.ctx.restore();\r\n }\r\n },\r\n this\r\n );\r\n this.title &&\r\n (this._titleTextBlock.measureText(),\r\n (this._titleTextBlock.x = this.bounds.x1 + 1),\r\n (this._titleTextBlock.y =\r\n this.lineCoordinates.height / 2 +\r\n this._titleTextBlock.width / 2 +\r\n this.lineCoordinates.y1),\r\n (this.titleMaxWidth = this._titleTextBlock.maxWidth),\r\n this._titleTextBlock.render(!0));\r\n } else if ('right' === this._position) {\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n p.position > this.viewportMaximum ||\r\n ((q = this.getPixelCoordinatesOnAxis(p.position)),\r\n this.tickThickness &&\r\n 'inside' != this.tickPlacement &&\r\n ((this.ctx.lineWidth = this.tickThickness),\r\n (this.ctx.strokeStyle = this.tickColor),\r\n (b =\r\n 1 === this.ctx.lineWidth % 2 ? (q.y << 0) + 0.5 : q.y << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(q.x << 0, b),\r\n this.ctx.lineTo((q.x + this.tickLength) << 0, b),\r\n this.ctx.stroke()),\r\n (d && 0 !== f++ % 2 && this.labelAutoFit) ||\r\n (0 === this.labelAngle\r\n ? ((p.textBlock.y = q.y),\r\n (p.textBlock.x =\r\n 'inside' === this.labelPlacement\r\n ? q.x -\r\n p.textBlock.width -\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) -\r\n 5\r\n : q.x +\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n 5))\r\n : ((p.textBlock.y =\r\n 'inside' === this.labelPlacement\r\n ? q.y -\r\n p.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle)\r\n : 0 > this.labelAngle\r\n ? q.y\r\n : q.y -\r\n (p.textBlock.height - p.textBlock.fontSize / 2 - 5) *\r\n Math.cos((Math.PI / 180) * this.labelAngle)),\r\n (p.textBlock.x =\r\n 'inside' === this.labelPlacement\r\n ? q.x -\r\n p.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) -\r\n ('inside' === this.tickPlacement\r\n ? this.tickLength\r\n : 0) -\r\n 5\r\n : 0 < this.labelAngle\r\n ? q.x +\r\n (p.textBlock.height - p.textBlock.fontSize / 2 - 5) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) +\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength)\r\n : q.x +\r\n ('inside' === this.tickPlacement\r\n ? 0\r\n : this.tickLength) +\r\n 5))));\r\n 'inside' === this.tickPlacement &&\r\n this.chart.addEventListener(\r\n 'dataAnimationEnd',\r\n function () {\r\n for (k = 0; k < a._labels.length; k++)\r\n if (\r\n ((p = a._labels[k]),\r\n !(\r\n p.position < a.viewportMinimum ||\r\n p.position > a.viewportMaximum\r\n ) &&\r\n ((q = a.getPixelCoordinatesOnAxis(p.position)),\r\n a.tickThickness))\r\n ) {\r\n a.ctx.lineWidth = a.tickThickness;\r\n a.ctx.strokeStyle = a.tickColor;\r\n var b =\r\n 1 === a.ctx.lineWidth % 2 ? (q.y << 0) + 0.5 : q.y << 0;\r\n a.ctx.save();\r\n a.ctx.beginPath();\r\n a.ctx.moveTo(q.x << 0, b);\r\n a.ctx.lineTo((q.x - a.tickLength) << 0, b);\r\n a.ctx.stroke();\r\n a.ctx.restore();\r\n }\r\n },\r\n this\r\n );\r\n this.title &&\r\n (this._titleTextBlock.measureText(),\r\n (this._titleTextBlock.x = this.bounds.x2 - 1),\r\n (this._titleTextBlock.y =\r\n this.lineCoordinates.height / 2 -\r\n this._titleTextBlock.width / 2 +\r\n this.lineCoordinates.y1),\r\n (this.titleMaxWidth = this._titleTextBlock.maxWidth),\r\n this._titleTextBlock.render(!0));\r\n }\r\n f = 0;\r\n if ('inside' === this.labelPlacement)\r\n this.chart.addEventListener(\r\n 'dataAnimationEnd',\r\n function () {\r\n for (k = 0; k < a._labels.length; k++)\r\n (p = a._labels[k]),\r\n p.position < a.viewportMinimum ||\r\n p.position > a.viewportMaximum ||\r\n (d && 0 !== f++ % 2 && a.labelAutoFit) ||\r\n (a.ctx.save(),\r\n a.ctx.beginPath(),\r\n p.textBlock.render(!0),\r\n a.ctx.restore());\r\n },\r\n this\r\n );\r\n else\r\n for (k = 0; k < this._labels.length; k++)\r\n (p = this._labels[k]),\r\n p.position < this.viewportMinimum ||\r\n p.position > this.viewportMaximum ||\r\n (d && 0 !== f++ % 2 && this.labelAutoFit) ||\r\n p.textBlock.render(!0);\r\n };\r\n A.prototype.renderInterlacedColors = function () {\r\n var a = this.chart.plotArea.ctx,\r\n d,\r\n c,\r\n b = this.chart.plotArea,\r\n e = 0;\r\n d = !0;\r\n if (\r\n ('bottom' === this._position || 'top' === this._position) &&\r\n this.interlacedColor\r\n )\r\n for (\r\n a.fillStyle = this.interlacedColor, e = 0;\r\n e < this._labels.length;\r\n e++\r\n )\r\n d\r\n ? ((d = this.getPixelCoordinatesOnAxis(this._labels[e].position)),\r\n (c =\r\n e + 1 > this._labels.length - 1\r\n ? this.getPixelCoordinatesOnAxis(this.viewportMaximum)\r\n : this.getPixelCoordinatesOnAxis(\r\n this._labels[e + 1].position\r\n )),\r\n a.fillRect(\r\n Math.min(c.x, d.x),\r\n b.y1,\r\n Math.abs(c.x - d.x),\r\n Math.abs(b.y1 - b.y2)\r\n ),\r\n (d = !1))\r\n : (d = !0);\r\n else if (\r\n ('left' === this._position || 'right' === this._position) &&\r\n this.interlacedColor\r\n )\r\n for (\r\n a.fillStyle = this.interlacedColor, e = 0;\r\n e < this._labels.length;\r\n e++\r\n )\r\n d\r\n ? ((c = this.getPixelCoordinatesOnAxis(this._labels[e].position)),\r\n (d =\r\n e + 1 > this._labels.length - 1\r\n ? this.getPixelCoordinatesOnAxis(this.viewportMaximum)\r\n : this.getPixelCoordinatesOnAxis(\r\n this._labels[e + 1].position\r\n )),\r\n a.fillRect(\r\n b.x1,\r\n Math.min(c.y, d.y),\r\n Math.abs(b.x1 - b.x2),\r\n Math.abs(d.y - c.y)\r\n ),\r\n (d = !1))\r\n : (d = !0);\r\n a.beginPath();\r\n };\r\n A.prototype.renderStripLinesOfThicknessType = function (a) {\r\n if (this.stripLines && 0 < this.stripLines.length && a) {\r\n for (\r\n var d = this,\r\n c,\r\n b = 0,\r\n e = 0,\r\n f = !1,\r\n l = !1,\r\n h = [],\r\n n = [],\r\n l = !1,\r\n b = 0;\r\n b < this.stripLines.length;\r\n b++\r\n ) {\r\n var k = this.stripLines[b];\r\n k._thicknessType === a &&\r\n (('pixel' === a &&\r\n (k.value < this.viewportMinimum ||\r\n k.value > this.viewportMaximum ||\r\n r(k.value) ||\r\n isNaN(this.range))) ||\r\n ('value' === a &&\r\n ((k.startValue <= this.viewportMinimum &&\r\n k.endValue <= this.viewportMinimum) ||\r\n (k.startValue >= this.viewportMaximum &&\r\n k.endValue >= this.viewportMaximum) ||\r\n r(k.startValue) ||\r\n r(k.endValue) ||\r\n isNaN(this.range))) ||\r\n h.push(k));\r\n }\r\n for (b = 0; b < this._stripLineLabels.length; b++)\r\n if (\r\n ((k = this.stripLines[b]),\r\n (c = this._stripLineLabels[b]),\r\n !(\r\n c.position < this.viewportMinimum ||\r\n c.position > this.viewportMaximum ||\r\n isNaN(this.range)\r\n ))\r\n ) {\r\n a = this.getPixelCoordinatesOnAxis(c.position);\r\n if ('outside' === c.stripLine.labelPlacement)\r\n if (\r\n (k &&\r\n ((this.ctx.strokeStyle = k.color),\r\n 'pixel' === k._thicknessType &&\r\n (this.ctx.lineWidth = k.thickness)),\r\n 'bottom' === this._position)\r\n ) {\r\n var m =\r\n 1 === this.ctx.lineWidth % 2 ? (a.x << 0) + 0.5 : a.x << 0;\r\n this.ctx.beginPath();\r\n this.ctx.moveTo(m, a.y << 0);\r\n this.ctx.lineTo(m, (a.y + this.tickLength) << 0);\r\n this.ctx.stroke();\r\n 0 === this.labelAngle\r\n ? ((a.x -= c.textBlock.width / 2),\r\n (a.y += this.tickLength + c.textBlock.fontSize / 2 + 5))\r\n : ((a.x -=\r\n 0 > this.labelAngle\r\n ? c.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : 0),\r\n (a.y +=\r\n this.tickLength +\r\n Math.abs(\r\n 0 > this.labelAngle\r\n ? c.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n 5\r\n : 5\r\n )));\r\n } else\r\n 'top' === this._position\r\n ? ((m =\r\n 1 === this.ctx.lineWidth % 2\r\n ? (a.x << 0) + 0.5\r\n : a.x << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(m, a.y << 0),\r\n this.ctx.lineTo(m, (a.y - this.tickLength) << 0),\r\n this.ctx.stroke(),\r\n 0 === this.labelAngle\r\n ? ((a.x -= c.textBlock.width / 2),\r\n (a.y -=\r\n this.tickLength +\r\n c.textBlock.height -\r\n c.textBlock.fontSize / 2))\r\n : ((a.x +=\r\n (c.textBlock.height -\r\n this.tickLength -\r\n this.labelFontSize / 2) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n (0 < this.labelAngle\r\n ? c.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle)\r\n : 0)),\r\n (a.y -=\r\n this.tickLength +\r\n (c.textBlock.height *\r\n Math.cos((Math.PI / 180) * this.labelAngle) +\r\n (0 < this.labelAngle\r\n ? c.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle)\r\n : 0)))))\r\n : 'left' === this._position\r\n ? ((m =\r\n 1 === this.ctx.lineWidth % 2\r\n ? (a.y << 0) + 0.5\r\n : a.y << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(a.x << 0, m),\r\n this.ctx.lineTo((a.x - this.tickLength) << 0, m),\r\n this.ctx.stroke(),\r\n 0 === this.labelAngle\r\n ? (a.x =\r\n a.x -\r\n c.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) -\r\n this.tickLength -\r\n 5)\r\n : ((a.y -=\r\n c.textBlock.width *\r\n Math.sin((Math.PI / 180) * this.labelAngle)),\r\n (a.x =\r\n 0 < this.labelAngle\r\n ? a.x -\r\n c.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) -\r\n this.tickLength -\r\n 5\r\n : a.x -\r\n c.textBlock.width *\r\n Math.cos((Math.PI / 180) * this.labelAngle) +\r\n (c.textBlock.height -\r\n c.textBlock.fontSize / 2 -\r\n 5) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) -\r\n this.tickLength)))\r\n : 'right' === this._position &&\r\n ((m =\r\n 1 === this.ctx.lineWidth % 2\r\n ? (a.y << 0) + 0.5\r\n : a.y << 0),\r\n this.ctx.beginPath(),\r\n this.ctx.moveTo(a.x << 0, m),\r\n this.ctx.lineTo((a.x + this.tickLength) << 0, m),\r\n this.ctx.stroke(),\r\n 0 === this.labelAngle\r\n ? (a.x = a.x + this.tickLength + 5)\r\n : ((a.y =\r\n 0 > this.labelAngle\r\n ? a.y\r\n : a.y -\r\n (c.textBlock.height -\r\n c.textBlock.fontSize / 2 -\r\n 5) *\r\n Math.cos((Math.PI / 180) * this.labelAngle)),\r\n (a.x =\r\n 0 < this.labelAngle\r\n ? a.x +\r\n (c.textBlock.height -\r\n c.textBlock.fontSize / 2 -\r\n 5) *\r\n Math.sin((Math.PI / 180) * this.labelAngle) +\r\n this.tickLength\r\n : a.x + this.tickLength + 5)));\r\n else\r\n (c.textBlock.angle = -90),\r\n 'bottom' === this._position\r\n ? ((c.textBlock.maxWidth = this.options.stripLines[b]\r\n .labelMaxWidth\r\n ? this.options.stripLines[b].labelMaxWidth\r\n : this.chart.plotArea.height - 3),\r\n c.textBlock.measureText(),\r\n a.x - c.textBlock.height > this.chart.plotArea.x1\r\n ? r(k.startValue)\r\n ? (a.x -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.x -=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 +\r\n 3)\r\n : ((c.textBlock.angle = 90),\r\n r(k.startValue)\r\n ? (a.x +=\r\n c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.x +=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 +\r\n 3)),\r\n (a.y =\r\n -90 === c.textBlock.angle\r\n ? 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.y2 - 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.y2 +\r\n this.chart.plotArea.y1 +\r\n c.textBlock.width) /\r\n 2\r\n : this.chart.plotArea.y1 + c.textBlock.width + 3\r\n : 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.y2 - c.textBlock.width - 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.y2 +\r\n this.chart.plotArea.y1 -\r\n c.textBlock.width) /\r\n 2\r\n : this.chart.plotArea.y1 + 3))\r\n : 'top' === this._position\r\n ? ((c.textBlock.maxWidth = this.options.stripLines[b]\r\n .labelMaxWidth\r\n ? this.options.stripLines[b].labelMaxWidth\r\n : this.chart.plotArea.height - 3),\r\n c.textBlock.measureText(),\r\n a.x - c.textBlock.height > this.chart.plotArea.x1\r\n ? r(k.startValue)\r\n ? (a.x -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.x -=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 +\r\n 3)\r\n : ((c.textBlock.angle = 90),\r\n r(k.startValue)\r\n ? (a.x +=\r\n c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.x +=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 +\r\n 3)),\r\n (a.y =\r\n -90 === c.textBlock.angle\r\n ? 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.y1 + c.textBlock.width + 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.y2 +\r\n this.chart.plotArea.y1 +\r\n c.textBlock.width) /\r\n 2\r\n : this.chart.plotArea.y2 - 3\r\n : 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.y1 + 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.y2 +\r\n this.chart.plotArea.y1 -\r\n c.textBlock.width) /\r\n 2\r\n : this.chart.plotArea.y2 - c.textBlock.width - 3))\r\n : 'left' === this._position\r\n ? ((c.textBlock.maxWidth = this.options.stripLines[b]\r\n .labelMaxWidth\r\n ? this.options.stripLines[b].labelMaxWidth\r\n : this.chart.plotArea.width - 3),\r\n (c.textBlock.angle = 0),\r\n c.textBlock.measureText(),\r\n a.y - c.textBlock.height > this.chart.plotArea.y1\r\n ? r(k.startValue)\r\n ? (a.y -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.y -=\r\n c.textBlock.height / 2 - c.textBlock.fontSize + 3)\r\n : a.y - c.textBlock.height < this.chart.plotArea.y2\r\n ? (a.y += c.textBlock.fontSize / 2 + 3)\r\n : r(k.startValue)\r\n ? (a.y -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.y -=\r\n c.textBlock.height / 2 - c.textBlock.fontSize + 3),\r\n (a.x =\r\n 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.x1 + 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.x2 + this.chart.plotArea.x1) /\r\n 2 -\r\n c.textBlock.width / 2\r\n : this.chart.plotArea.x2 - c.textBlock.width - 3))\r\n : 'right' === this._position &&\r\n ((c.textBlock.maxWidth = this.options.stripLines[b]\r\n .labelMaxWidth\r\n ? this.options.stripLines[b].labelMaxWidth\r\n : this.chart.plotArea.width - 3),\r\n (c.textBlock.angle = 0),\r\n c.textBlock.measureText(),\r\n a.y - +c.textBlock.height > this.chart.plotArea.y1\r\n ? r(k.startValue)\r\n ? (a.y -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.y -=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 -\r\n 3)\r\n : a.y - c.textBlock.height < this.chart.plotArea.y2\r\n ? (a.y += c.textBlock.fontSize / 2 + 3)\r\n : r(k.startValue)\r\n ? (a.y -= c.textBlock.height - c.textBlock.fontSize / 2)\r\n : (a.y -=\r\n c.textBlock.height / 2 -\r\n c.textBlock.fontSize / 2 +\r\n 3),\r\n (a.x =\r\n 'near' === c.stripLine.labelAlign\r\n ? this.chart.plotArea.x2 - c.textBlock.width - 3\r\n : 'center' === c.stripLine.labelAlign\r\n ? (this.chart.plotArea.x2 + this.chart.plotArea.x1) /\r\n 2 -\r\n c.textBlock.width / 2\r\n : this.chart.plotArea.x1 + 3));\r\n c.textBlock.x = a.x;\r\n c.textBlock.y = a.y;\r\n n.push(c);\r\n }\r\n if (!l) {\r\n l = !1;\r\n this.ctx.save();\r\n this.ctx.beginPath();\r\n this.ctx.rect(\r\n this.chart.plotArea.x1,\r\n this.chart.plotArea.y1,\r\n this.chart.plotArea.width,\r\n this.chart.plotArea.height\r\n );\r\n this.ctx.clip();\r\n for (b = 0; b < h.length; b++)\r\n (k = h[b]),\r\n k.showOnTop\r\n ? f ||\r\n ((f = !0),\r\n this.chart.addEventListener(\r\n 'dataAnimationIterationEnd',\r\n function () {\r\n this.ctx.save();\r\n this.ctx.beginPath();\r\n this.ctx.rect(\r\n this.chart.plotArea.x1,\r\n this.chart.plotArea.y1,\r\n this.chart.plotArea.width,\r\n this.chart.plotArea.height\r\n );\r\n this.ctx.clip();\r\n for (e = 0; e < h.length; e++)\r\n (k = h[e]), k.showOnTop && k.render();\r\n this.ctx.restore();\r\n },\r\n k\r\n ))\r\n : k.render();\r\n for (b = 0; b < n.length; b++)\r\n (c = n[b]),\r\n c.stripLine.showOnTop\r\n ? l ||\r\n ((l = !0),\r\n this.chart.addEventListener(\r\n 'dataAnimationIterationEnd',\r\n function () {\r\n for (e = 0; e < n.length; e++)\r\n (c = n[e]),\r\n 'inside' === c.stripLine.labelPlacement &&\r\n c.stripLine.showOnTop &&\r\n (d.ctx.save(),\r\n d.ctx.beginPath(),\r\n d.ctx.rect(\r\n d.chart.plotArea.x1,\r\n d.chart.plotArea.y1,\r\n d.chart.plotArea.width,\r\n d.chart.plotArea.height\r\n ),\r\n d.ctx.clip(),\r\n c.textBlock.render(!0),\r\n d.ctx.restore());\r\n },\r\n c.textBlock\r\n ))\r\n : 'inside' === c.stripLine.labelPlacement &&\r\n c.textBlock.render(!0);\r\n this.ctx.restore();\r\n l = !0;\r\n }\r\n if (l)\r\n for (l = !1, b = 0; b < n.length; b++)\r\n (c = n[b]),\r\n 'outside' === c.stripLine.labelPlacement &&\r\n c.textBlock.render(!0);\r\n }\r\n };\r\n A.prototype.renderBreaksBackground = function () {\r\n this.chart._breaksCanvas &&\r\n this.scaleBreaks &&\r\n 0 < this.scaleBreaks._appliedBreaks.length &&\r\n this.maskCanvas &&\r\n (this.chart._breaksCanvasCtx.save(),\r\n this.chart._breaksCanvasCtx.beginPath(),\r\n this.chart._breaksCanvasCtx.rect(\r\n this.chart.plotArea.x1,\r\n this.chart.plotArea.y1,\r\n this.chart.plotArea.width,\r\n this.chart.plotArea.height\r\n ),\r\n this.chart._breaksCanvasCtx.clip(),\r\n this.chart._breaksCanvasCtx.drawImage(\r\n this.maskCanvas,\r\n 0,\r\n 0,\r\n this.chart.width,\r\n this.chart.height\r\n ),\r\n this.chart._breaksCanvasCtx.restore());\r\n };\r\n A.prototype.createMask = function () {\r\n if (this.scaleBreaks && 0 < this.scaleBreaks._appliedBreaks.length) {\r\n var a = this.scaleBreaks._appliedBreaks;\r\n w\r\n ? ((this.maskCanvas = va(this.chart.width, this.chart.height)),\r\n (this.maskCtx = this.maskCanvas.getContext('2d')))\r\n : ((this.maskCanvas = this.chart.plotArea.canvas),\r\n (this.maskCtx = this.chart.plotArea.ctx));\r\n this.maskCtx.save();\r\n this.maskCtx.beginPath();\r\n this.maskCtx.rect(\r\n this.chart.plotArea.x1,\r\n this.chart.plotArea.y1,\r\n this.chart.plotArea.width,\r\n this.chart.plotArea.height\r\n );\r\n this.maskCtx.clip();\r\n for (var d = 0; d < a.length; d++)\r\n a[d].endValue < this.viewportMinimum ||\r\n a[d].startValue > this.viewportMaximum ||\r\n isNaN(this.range) ||\r\n a[d].render(this.maskCtx);\r\n this.maskCtx.restore();\r\n }\r\n };\r\n A.prototype.renderCrosshair = function (a, d) {\r\n isFinite(this.minimum) &&\r\n isFinite(this.maximum) &&\r\n (this.crosshair.render(a, d),\r\n this.crosshair.dispatchEvent(\r\n 'updated',\r\n {\r\n chart: this.chart,\r\n crosshair: this.options,\r\n axis: this,\r\n value: this.crosshair.value,\r\n },\r\n this\r\n ));\r\n };\r\n A.prototype.showCrosshair = function (a) {\r\n r(a) ||\r\n a < this.viewportMinimum ||\r\n a > this.viewportMaximum ||\r\n ('top' === this._position || 'bottom' === this._position\r\n ? this.crosshair.render(this.convertValueToPixel(a), null, a)\r\n : this.crosshair.render(null, this.convertValueToPixel(a), a));\r\n };\r\n A.prototype.renderGrid = function () {\r\n if (this.gridThickness && 0 < this.gridThickness) {\r\n var a = this.chart.ctx;\r\n a.save();\r\n var d,\r\n c = this.chart.plotArea;\r\n a.lineWidth = this.gridThickness;\r\n a.strokeStyle = this.gridColor;\r\n a.setLineDash &&\r\n a.setLineDash(J(this.gridDashType, this.gridThickness));\r\n if ('bottom' === this._position || 'top' === this._position)\r\n for (b = 0; b < this._labels.length; b++)\r\n this._labels[b].position < this.viewportMinimum ||\r\n this._labels[b].position > this.viewportMaximum ||\r\n this._labels[b].breaksLabelType ||\r\n (a.beginPath(),\r\n (d = this.getPixelCoordinatesOnAxis(this._labels[b].position)),\r\n (d = 1 === a.lineWidth % 2 ? (d.x << 0) + 0.5 : d.x << 0),\r\n a.moveTo(d, c.y1 << 0),\r\n a.lineTo(d, c.y2 << 0),\r\n a.stroke());\r\n else if ('left' === this._position || 'right' === this._position)\r\n for (var b = 0; b < this._labels.length; b++)\r\n this._labels[b].position < this.viewportMinimum ||\r\n this._labels[b].position > this.viewportMaximum ||\r\n this._labels[b].breaksLabelType ||\r\n (a.beginPath(),\r\n (d = this.getPixelCoordinatesOnAxis(this._labels[b].position)),\r\n (d = 1 === a.lineWidth % 2 ? (d.y << 0) + 0.5 : d.y << 0),\r\n a.moveTo(c.x1 << 0, d),\r\n a.lineTo(c.x2 << 0, d),\r\n a.stroke());\r\n a.restore();\r\n }\r\n };\r\n A.prototype.renderAxisLine = function () {\r\n var a = this.chart.ctx,\r\n d = w ? this.chart._preRenderCtx : a,\r\n c = Math.ceil(this.tickThickness / (this.reversed ? -2 : 2)),\r\n b = Math.ceil(this.tickThickness / (this.reversed ? 2 : -2)),\r\n e,\r\n f;\r\n d.save();\r\n if ('bottom' === this._position || 'top' === this._position) {\r\n if (this.lineThickness) {\r\n this.reversed\r\n ? ((e = this.lineCoordinates.x2), (f = this.lineCoordinates.x1))\r\n : ((e = this.lineCoordinates.x1), (f = this.lineCoordinates.x2));\r\n d.lineWidth = this.lineThickness;\r\n d.strokeStyle = this.lineColor ? this.lineColor : 'black';\r\n d.setLineDash &&\r\n d.setLineDash(J(this.lineDashType, this.lineThickness));\r\n var l =\r\n 1 === this.lineThickness % 2\r\n ? (this.lineCoordinates.y1 << 0) + 0.5\r\n : this.lineCoordinates.y1 << 0;\r\n d.beginPath();\r\n if (this.scaleBreaks && !r(this.scaleBreaks.firstBreakIndex))\r\n if (r(this.scaleBreaks.lastBreakIndex))\r\n e =\r\n this.scaleBreaks._appliedBreaks[\r\n this.scaleBreaks.firstBreakIndex\r\n ].endPixel + b;\r\n else\r\n for (\r\n var h = this.scaleBreaks.firstBreakIndex;\r\n h <= this.scaleBreaks.lastBreakIndex;\r\n h++\r\n )\r\n d.moveTo(e, l),\r\n d.lineTo(\r\n this.scaleBreaks._appliedBreaks[h].startPixel + c,\r\n l\r\n ),\r\n (e = this.scaleBreaks._appliedBreaks[h].endPixel + b);\r\n e && (d.moveTo(e, l), d.lineTo(f, l));\r\n d.stroke();\r\n }\r\n } else if (\r\n ('left' === this._position || 'right' === this._position) &&\r\n this.lineThickness\r\n ) {\r\n this.reversed\r\n ? ((e = this.lineCoordinates.y1), (f = this.lineCoordinates.y2))\r\n : ((e = this.lineCoordinates.y2), (f = this.lineCoordinates.y1));\r\n d.lineWidth = this.lineThickness;\r\n d.strokeStyle = this.lineColor;\r\n d.setLineDash &&\r\n d.setLineDash(J(this.lineDashType, this.lineThickness));\r\n l =\r\n 1 === this.lineThickness % 2\r\n ? (this.lineCoordinates.x1 << 0) + 0.5\r\n : this.lineCoordinates.x1 << 0;\r\n d.beginPath();\r\n if (this.scaleBreaks && !r(this.scaleBreaks.firstBreakIndex))\r\n if (r(this.scaleBreaks.lastBreakIndex))\r\n e =\r\n this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex]\r\n .endPixel + c;\r\n else\r\n for (\r\n h = this.scaleBreaks.firstBreakIndex;\r\n h <= this.scaleBreaks.lastBreakIndex;\r\n h++\r\n )\r\n d.moveTo(l, e),\r\n d.lineTo(l, this.scaleBreaks._appliedBreaks[h].startPixel + b),\r\n (e = this.scaleBreaks._appliedBreaks[h].endPixel + c);\r\n e && (d.moveTo(l, e), d.lineTo(l, f));\r\n d.stroke();\r\n }\r\n w &&\r\n (a.drawImage(\r\n this.chart._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.chart.width,\r\n this.chart.height\r\n ),\r\n this.chart._breaksCanvasCtx &&\r\n this.chart._breaksCanvasCtx.drawImage(\r\n this.chart._preRenderCanvas,\r\n 0,\r\n 0,\r\n this.chart.width,\r\n this.chart.height\r\n ),\r\n d.clearRect(0, 0, this.chart.width, this.chart.height));\r\n d.restore();\r\n };\r\n A.prototype.getPixelCoordinatesOnAxis = function (a) {\r\n var d = {};\r\n if ('bottom' === this._position || 'top' === this._position)\r\n (d.x = this.convertValueToPixel(a)), (d.y = this.lineCoordinates.y1);\r\n if ('left' === this._position || 'right' === this._position)\r\n (d.y = this.convertValueToPixel(a)), (d.x = this.lineCoordinates.x2);\r\n return d;\r\n };\r\n A.prototype.convertPixelToValue = function (a) {\r\n if ('undefined' === typeof a) return null;\r\n var d = 0,\r\n c = 0,\r\n b,\r\n d = !0,\r\n e = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [],\r\n c =\r\n 'number' === typeof a\r\n ? a\r\n : 'left' === this._position || 'right' === this._position\r\n ? a.y\r\n : a.x;\r\n if (this.logarithmic) {\r\n a = b = Math.pow(\r\n this.logarithmBase,\r\n (c - this.conversionParameters.reference) /\r\n this.conversionParameters.pixelPerUnit\r\n );\r\n if (\r\n (c <= this.conversionParameters.reference ===\r\n ('left' === this._position || 'right' === this._position)) !==\r\n this.reversed\r\n )\r\n for (c = 0; c < e.length; c++) {\r\n if (!(e[c].endValue < this.conversionParameters.minimum))\r\n if (d)\r\n if (e[c].startValue < this.conversionParameters.minimum) {\r\n if (\r\n 1 < e[c].size &&\r\n this.conversionParameters.minimum *\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n Math.log(b) / Math.log(e[c].size)\r\n ) <\r\n e[c].endValue\r\n ) {\r\n a = Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n Math.log(b) / Math.log(e[c].size)\r\n );\r\n break;\r\n } else\r\n (a *=\r\n e[c].endValue /\r\n this.conversionParameters.minimum /\r\n Math.pow(\r\n e[c].size,\r\n Math.log(\r\n e[c].endValue / this.conversionParameters.minimum\r\n ) / Math.log(e[c].endValue / e[c].startValue)\r\n )),\r\n (b /= Math.pow(\r\n e[c].size,\r\n Math.log(\r\n e[c].endValue / this.conversionParameters.minimum\r\n ) / Math.log(e[c].endValue / e[c].startValue)\r\n ));\r\n d = !1;\r\n } else if (\r\n b >\r\n e[c].startValue / this.conversionParameters.minimum\r\n ) {\r\n b /= e[c].startValue / this.conversionParameters.minimum;\r\n if (b < e[c].size) {\r\n a *=\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n 1 === e[c].size ? 1 : Math.log(b) / Math.log(e[c].size)\r\n ) / b;\r\n break;\r\n } else a *= e[c].endValue / e[c].startValue / e[c].size;\r\n b /= e[c].size;\r\n d = !1;\r\n } else break;\r\n else if (b > e[c].startValue / e[c - 1].endValue) {\r\n b /= e[c].startValue / e[c - 1].endValue;\r\n if (b < e[c].size) {\r\n a *=\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n 1 === e[c].size ? 1 : Math.log(b) / Math.log(e[c].size)\r\n ) / b;\r\n break;\r\n } else a *= e[c].endValue / e[c].startValue / e[c].size;\r\n b /= e[c].size;\r\n } else break;\r\n }\r\n else\r\n for (c = e.length - 1; 0 <= c; c--)\r\n if (!(e[c].startValue > this.conversionParameters.minimum))\r\n if (d)\r\n if (e[c].endValue > this.conversionParameters.minimum) {\r\n if (\r\n 1 < e[c].size &&\r\n this.conversionParameters.minimum *\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n Math.log(b) / Math.log(e[c].size)\r\n ) >\r\n e[c].startValue\r\n ) {\r\n a = Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n Math.log(b) / Math.log(e[c].size)\r\n );\r\n break;\r\n } else\r\n (a *=\r\n (e[c].startValue / this.conversionParameters.minimum) *\r\n Math.pow(\r\n e[c].size,\r\n Math.log(\r\n e[c].startValue / this.conversionParameters.minimum\r\n ) / Math.log(e[c].endValue / e[c].startValue)\r\n ) *\r\n b),\r\n (b *= Math.pow(\r\n e[c].size,\r\n Math.log(\r\n this.conversionParameters.minimum / e[c].startValue\r\n ) / Math.log(e[c].endValue / e[c].startValue)\r\n ));\r\n d = !1;\r\n } else if (\r\n b <\r\n e[c].endValue / this.conversionParameters.minimum\r\n ) {\r\n b /= e[c].endValue / this.conversionParameters.minimum;\r\n if (b > 1 / e[c].size) {\r\n a *=\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n 1 >= e[c].size ? 1 : Math.log(b) / Math.log(e[c].size)\r\n ) * b;\r\n break;\r\n } else a /= e[c].endValue / e[c].startValue / e[c].size;\r\n b *= e[c].size;\r\n d = !1;\r\n } else break;\r\n else if (b < e[c].endValue / e[c + 1].startValue) {\r\n b /= e[c].endValue / e[c + 1].startValue;\r\n if (b > 1 / e[c].size) {\r\n a *=\r\n Math.pow(\r\n e[c].endValue / e[c].startValue,\r\n 1 >= e[c].size ? 1 : Math.log(b) / Math.log(e[c].size)\r\n ) * b;\r\n break;\r\n } else a /= e[c].endValue / e[c].startValue / e[c].size;\r\n b *= e[c].size;\r\n } else break;\r\n d = a * this.viewportMinimum;\r\n } else {\r\n a = b =\r\n (c - this.conversionParameters.reference) /\r\n this.conversionParameters.pixelPerUnit;\r\n if (\r\n (c <= this.conversionParameters.reference ===\r\n ('left' === this._position || 'right' === this._position)) !==\r\n this.reversed\r\n )\r\n for (c = 0; c < e.length; c++) {\r\n if (!(e[c].endValue < this.conversionParameters.minimum))\r\n if (d)\r\n if (e[c].startValue < this.conversionParameters.minimum) {\r\n if (\r\n e[c].size &&\r\n this.conversionParameters.minimum +\r\n (b * (e[c].endValue - e[c].startValue)) / e[c].size <\r\n e[c].endValue\r\n ) {\r\n a =\r\n 0 >= e[c].size\r\n ? 0\r\n : (b * (e[c].endValue - e[c].startValue)) / e[c].size;\r\n break;\r\n } else\r\n (a +=\r\n e[c].endValue -\r\n this.conversionParameters.minimum -\r\n (e[c].size *\r\n (e[c].endValue - this.conversionParameters.minimum)) /\r\n (e[c].endValue - e[c].startValue)),\r\n (b -=\r\n (e[c].size *\r\n (e[c].endValue - this.conversionParameters.minimum)) /\r\n (e[c].endValue - e[c].startValue));\r\n d = !1;\r\n } else if (\r\n b >\r\n e[c].startValue - this.conversionParameters.minimum\r\n ) {\r\n b -= e[c].startValue - this.conversionParameters.minimum;\r\n if (b < e[c].size) {\r\n a +=\r\n (e[c].endValue - e[c].startValue) *\r\n (0 === e[c].size ? 1 : b / e[c].size) -\r\n b;\r\n break;\r\n } else a += e[c].endValue - e[c].startValue - e[c].size;\r\n b -= e[c].size;\r\n d = !1;\r\n } else break;\r\n else if (b > e[c].startValue - e[c - 1].endValue) {\r\n b -= e[c].startValue - e[c - 1].endValue;\r\n if (b < e[c].size) {\r\n a +=\r\n (e[c].endValue - e[c].startValue) *\r\n (0 === e[c].size ? 1 : b / e[c].size) -\r\n b;\r\n break;\r\n } else a += e[c].endValue - e[c].startValue - e[c].size;\r\n b -= e[c].size;\r\n } else break;\r\n }\r\n else\r\n for (c = e.length - 1; 0 <= c; c--)\r\n if (!(e[c].startValue > this.conversionParameters.minimum))\r\n if (d)\r\n if (e[c].endValue > this.conversionParameters.minimum)\r\n if (\r\n e[c].size &&\r\n this.conversionParameters.minimum +\r\n (b * (e[c].endValue - e[c].startValue)) / e[c].size >\r\n e[c].startValue\r\n ) {\r\n a =\r\n 0 >= e[c].size\r\n ? 0\r\n : (b * (e[c].endValue - e[c].startValue)) / e[c].size;\r\n break;\r\n } else\r\n (a +=\r\n e[c].startValue -\r\n this.conversionParameters.minimum +\r\n (e[c].size *\r\n (this.conversionParameters.minimum - e[c].startValue)) /\r\n (e[c].endValue - e[c].startValue)),\r\n (b +=\r\n (e[c].size *\r\n (this.conversionParameters.minimum -\r\n e[c].startValue)) /\r\n (e[c].endValue - e[c].startValue)),\r\n (d = !1);\r\n else if (\r\n b <\r\n e[c].endValue - this.conversionParameters.minimum\r\n ) {\r\n b -= e[c].endValue - this.conversionParameters.minimum;\r\n if (b > -1 * e[c].size) {\r\n a +=\r\n (e[c].endValue - e[c].startValue) *\r\n (0 === e[c].size ? 1 : b / e[c].size) +\r\n b;\r\n break;\r\n } else a -= e[c].endValue - e[c].startValue - e[c].size;\r\n b += e[c].size;\r\n d = !1;\r\n } else break;\r\n else if (b < e[c].endValue - e[c + 1].startValue) {\r\n b -= e[c].endValue - e[c + 1].startValue;\r\n if (b > -1 * e[c].size) {\r\n a +=\r\n (e[c].endValue - e[c].startValue) *\r\n (0 === e[c].size ? 1 : b / e[c].size) +\r\n b;\r\n break;\r\n } else a -= e[c].endValue - e[c].startValue - e[c].size;\r\n b += e[c].size;\r\n } else break;\r\n d = this.conversionParameters.minimum + a;\r\n }\r\n return d;\r\n };\r\n A.prototype.convertValueToPixel = function (a) {\r\n a = this.getApparentDifference(this.conversionParameters.minimum, a, a);\r\n return this.logarithmic\r\n ? (this.conversionParameters.reference +\r\n (this.conversionParameters.pixelPerUnit *\r\n Math.log(a / this.conversionParameters.minimum)) /\r\n this.conversionParameters.lnLogarithmBase +\r\n 0.5) <<\r\n 0\r\n : 'axisX' === this.type\r\n ? (this.conversionParameters.reference +\r\n this.conversionParameters.pixelPerUnit *\r\n (a - this.conversionParameters.minimum) +\r\n 0.5) <<\r\n 0\r\n : this.conversionParameters.reference +\r\n this.conversionParameters.pixelPerUnit *\r\n (a - this.conversionParameters.minimum) +\r\n 0.5;\r\n };\r\n A.prototype.getApparentDifference = function (a, d, c, b) {\r\n var e = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [];\r\n if (this.logarithmic) {\r\n c = r(c) ? d / a : c;\r\n for (var f = 0; f < e.length && !(d < e[f].startValue); f++)\r\n a > e[f].endValue ||\r\n (a <= e[f].startValue && d >= e[f].endValue\r\n ? (c = (c / e[f].endValue) * e[f].startValue * e[f].size)\r\n : a >= e[f].startValue && d >= e[f].endValue\r\n ? (c =\r\n (c / e[f].endValue) *\r\n a *\r\n Math.pow(\r\n e[f].size,\r\n Math.log(e[f].endValue / a) /\r\n Math.log(e[f].endValue / e[f].startValue)\r\n ))\r\n : a <= e[f].startValue && d <= e[f].endValue\r\n ? (c =\r\n (c / d) *\r\n e[f].startValue *\r\n Math.pow(\r\n e[f].size,\r\n Math.log(d / e[f].startValue) /\r\n Math.log(e[f].endValue / e[f].startValue)\r\n ))\r\n : !b &&\r\n a > e[f].startValue &&\r\n d < e[f].endValue &&\r\n (c =\r\n a *\r\n Math.pow(\r\n e[f].size,\r\n Math.log(d / a) / Math.log(e[f].endValue / e[f].startValue)\r\n )));\r\n } else\r\n for (\r\n c = r(c) ? Math.abs(d - a) : c, f = 0;\r\n f < e.length && !(d < e[f].startValue);\r\n f++\r\n )\r\n a > e[f].endValue ||\r\n (a <= e[f].startValue && d >= e[f].endValue\r\n ? (c = c - e[f].endValue + e[f].startValue + e[f].size)\r\n : a > e[f].startValue && d >= e[f].endValue\r\n ? (c =\r\n c -\r\n e[f].endValue +\r\n a +\r\n (e[f].size * (e[f].endValue - a)) /\r\n (e[f].endValue - e[f].startValue))\r\n : a <= e[f].startValue && d < e[f].endValue\r\n ? (c =\r\n c -\r\n d +\r\n e[f].startValue +\r\n (e[f].size * (d - e[f].startValue)) /\r\n (e[f].endValue - e[f].startValue))\r\n : !b &&\r\n a > e[f].startValue &&\r\n d < e[f].endValue &&\r\n (c =\r\n a +\r\n (e[f].size * (d - a)) / (e[f].endValue - e[f].startValue)));\r\n return c;\r\n };\r\n A.prototype.setViewPortRange = function (a, d) {\r\n this.sessionVariables.newViewportMinimum = this.viewportMinimum = Math.min(\r\n a,\r\n d\r\n );\r\n this.sessionVariables.newViewportMaximum = this.viewportMaximum = Math.max(\r\n a,\r\n d\r\n );\r\n };\r\n A.prototype.getXValueAt = function (a) {\r\n if (!a) return null;\r\n var d = null;\r\n 'left' === this._position\r\n ? (d = this.convertPixelToValue(a.y))\r\n : 'bottom' === this._position && (d = this.convertPixelToValue(a.x));\r\n return d;\r\n };\r\n A.prototype.calculateValueToPixelConversionParameters = function (a) {\r\n a = this.scaleBreaks ? this.scaleBreaks._appliedBreaks : [];\r\n var d = { pixelPerUnit: null, minimum: null, reference: null },\r\n c = this.lineCoordinates.width,\r\n b = this.lineCoordinates.height,\r\n c = 'bottom' === this._position || 'top' === this._position ? c : b,\r\n b = Math.abs(this.range);\r\n if (this.logarithmic)\r\n for (\r\n var e = 0;\r\n e < a.length && !(this.viewportMaximum < a[e].startValue);\r\n e++\r\n )\r\n this.viewportMinimum > a[e].endValue ||\r\n (this.viewportMinimum >= a[e].startValue &&\r\n this.viewportMaximum <= a[e].endValue\r\n ? (c = 0)\r\n : this.viewportMinimum <= a[e].startValue &&\r\n this.viewportMaximum >= a[e].endValue\r\n ? ((b = (b / a[e].endValue) * a[e].startValue),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c * (1 - parseFloat(a[e].spacing) / 100)\r\n : c - Math.min(a[e].spacing, 0.1 * c)))\r\n : this.viewportMinimum > a[e].startValue &&\r\n this.viewportMaximum >= a[e].endValue\r\n ? ((b = (b / a[e].endValue) * this.viewportMinimum),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c *\r\n (1 -\r\n ((parseFloat(a[e].spacing) / 100) *\r\n Math.log(a[e].endValue / this.viewportMinimum)) /\r\n Math.log(a[e].endValue / a[e].startValue))\r\n : c -\r\n (Math.min(a[e].spacing, 0.1 * c) *\r\n Math.log(a[e].endValue / this.viewportMinimum)) /\r\n Math.log(a[e].endValue / a[e].startValue)))\r\n : this.viewportMinimum <= a[e].startValue &&\r\n this.viewportMaximum < a[e].endValue &&\r\n ((b = (b / this.viewportMaximum) * a[e].startValue),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c *\r\n (1 -\r\n ((parseFloat(a[e].spacing) / 100) *\r\n Math.log(this.viewportMaximum / a[e].startValue)) /\r\n Math.log(a[e].endValue / a[e].startValue))\r\n : c -\r\n (Math.min(a[e].spacing, 0.1 * c) *\r\n Math.log(this.viewportMaximum / a[e].startValue)) /\r\n Math.log(a[e].endValue / a[e].startValue))));\r\n else\r\n for (\r\n e = 0;\r\n e < a.length && !(this.viewportMaximum < a[e].startValue);\r\n e++\r\n )\r\n this.viewportMinimum > a[e].endValue ||\r\n (this.viewportMinimum >= a[e].startValue &&\r\n this.viewportMaximum <= a[e].endValue\r\n ? (c = 0)\r\n : this.viewportMinimum <= a[e].startValue &&\r\n this.viewportMaximum >= a[e].endValue\r\n ? ((b = b - a[e].endValue + a[e].startValue),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c * (1 - parseFloat(a[e].spacing) / 100)\r\n : c - Math.min(a[e].spacing, 0.1 * c)))\r\n : this.viewportMinimum > a[e].startValue &&\r\n this.viewportMaximum >= a[e].endValue\r\n ? ((b = b - a[e].endValue + this.viewportMinimum),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c *\r\n (1 -\r\n ((parseFloat(a[e].spacing) / 100) *\r\n (a[e].endValue - this.viewportMinimum)) /\r\n (a[e].endValue - a[e].startValue))\r\n : c -\r\n (Math.min(a[e].spacing, 0.1 * c) *\r\n (a[e].endValue - this.viewportMinimum)) /\r\n (a[e].endValue - a[e].startValue)))\r\n : this.viewportMinimum <= a[e].startValue &&\r\n this.viewportMaximum < a[e].endValue &&\r\n ((b = b - this.viewportMaximum + a[e].startValue),\r\n (c =\r\n 0 < a[e].spacing.toString().indexOf('%')\r\n ? c *\r\n (1 -\r\n ((parseFloat(a[e].spacing) / 100) *\r\n (this.viewportMaximum - a[e].startValue)) /\r\n (a[e].endValue - a[e].startValue))\r\n : c -\r\n (Math.min(a[e].spacing, 0.1 * c) *\r\n (this.viewportMaximum - a[e].startValue)) /\r\n (a[e].endValue - a[e].startValue))));\r\n d.minimum = this.viewportMinimum;\r\n d.maximum = this.viewportMaximum;\r\n d.range = b;\r\n if ('bottom' === this._position || 'top' === this._position)\r\n this.logarithmic\r\n ? ((d.lnLogarithmBase = Math.log(this.logarithmBase)),\r\n (d.pixelPerUnit =\r\n ((this.reversed ? -1 : 1) * c * d.lnLogarithmBase) /\r\n Math.log(Math.abs(b))))\r\n : (d.pixelPerUnit = ((this.reversed ? -1 : 1) * c) / Math.abs(b)),\r\n (d.reference = this.reversed\r\n ? this.lineCoordinates.x2\r\n : this.lineCoordinates.x1);\r\n if ('left' === this._position || 'right' === this._position)\r\n this.logarithmic\r\n ? ((d.lnLogarithmBase = Math.log(this.logarithmBase)),\r\n (d.pixelPerUnit =\r\n ((this.reversed ? 1 : -1) * c * d.lnLogarithmBase) /\r\n Math.log(Math.abs(b))))\r\n : (d.pixelPerUnit = ((this.reversed ? 1 : -1) * c) / Math.abs(b)),\r\n (d.reference = this.reversed\r\n ? this.lineCoordinates.y1\r\n : this.lineCoordinates.y2);\r\n this.conversionParameters = d;\r\n };\r\n A.prototype.calculateAxisParameters = function () {\r\n if (this.logarithmic) this.calculateLogarithmicAxisParameters();\r\n else {\r\n var a = this.chart.layoutManager.getFreeSpace(),\r\n d = !1,\r\n c = !1;\r\n 'bottom' === this._position || 'top' === this._position\r\n ? ((this.maxWidth = a.width), (this.maxHeight = a.height))\r\n : ((this.maxWidth = a.height), (this.maxHeight = a.width));\r\n var a =\r\n 'axisX' === this.type\r\n ? 'xySwapped' === this.chart.plotInfo.axisPlacement\r\n ? 62\r\n : 70\r\n : 'xySwapped' === this.chart.plotInfo.axisPlacement\r\n ? 50\r\n : 40,\r\n b = 4;\r\n 'axisX' === this.type && (b = 600 > this.maxWidth ? 8 : 6);\r\n var a = Math.max(b, Math.floor(this.maxWidth / a)),\r\n e,\r\n f,\r\n l,\r\n b = 0;\r\n !r(this.options.viewportMinimum) &&\r\n !r(this.options.viewportMaximum) &&\r\n this.options.viewportMinimum >= this.options.viewportMaximum &&\r\n (this.viewportMinimum = this.viewportMaximum = null);\r\n if (\r\n r(this.options.viewportMinimum) &&\r\n !r(this.sessionVariables.newViewportMinimum) &&\r\n !isNaN(this.sessionVariables.newViewportMinimum)\r\n )\r\n this.viewportMinimum = this.sessionVariables.newViewportMinimum;\r\n else if (null === this.viewportMinimum || isNaN(this.viewportMinimum))\r\n this.viewportMinimum = this.minimum;\r\n if (\r\n r(this.options.viewportMaximum) &&\r\n !r(this.sessionVariables.newViewportMaximum) &&\r\n !isNaN(this.sessionVariables.newViewportMaximum)\r\n )\r\n this.viewportMaximum = this.sessionVariables.newViewportMaximum;\r\n else if (null === this.viewportMaximum || isNaN(this.viewportMaximum))\r\n this.viewportMaximum = this.maximum;\r\n if (this.scaleBreaks)\r\n for (b = 0; b < this.scaleBreaks._appliedBreaks.length; b++)\r\n if (\r\n ((!r(this.sessionVariables.newViewportMinimum) &&\r\n this.sessionVariables.newViewportMinimum >=\r\n this.scaleBreaks._appliedBreaks[b].startValue) ||\r\n (!r(this.options.minimum) &&\r\n this.options.minimum >=\r\n this.scaleBreaks._appliedBreaks[b].startValue) ||\r\n (!r(this.options.viewportMinimum) &&\r\n this.viewportMinimum >=\r\n this.scaleBreaks._appliedBreaks[b].startValue)) &&\r\n ((!r(this.sessionVariables.newViewportMaximum) &&\r\n this.sessionVariables.newViewportMaximum <=\r\n this.scaleBreaks._appliedBreaks[b].endValue) ||\r\n (!r(this.options.maximum) &&\r\n this.options.maximum <=\r\n this.scaleBreaks._appliedBreaks[b].endValue) ||\r\n (!r(this.options.viewportMaximum) &&\r\n this.viewportMaximum <=\r\n this.scaleBreaks._appliedBreaks[b].endValue))\r\n ) {\r\n this.scaleBreaks._appliedBreaks.splice(b, 1);\r\n break;\r\n }\r\n if ('axisX' === this.type) {\r\n if (this.dataSeries && 0 < this.dataSeries.length)\r\n for (e = 0; e < this.dataSeries.length; e++)\r\n 'dateTime' === this.dataSeries[e].xValueType && (c = !0);\r\n e =\r\n null !== this.viewportMinimum\r\n ? this.viewportMinimum\r\n : this.dataInfo.viewPortMin;\r\n f =\r\n null !== this.viewportMaximum\r\n ? this.viewportMaximum\r\n : this.dataInfo.viewPortMax;\r\n 0 === f - e &&\r\n ((b =\r\n 'undefined' === typeof this.options.interval\r\n ? 0.4\r\n : this.options.interval),\r\n (f += b),\r\n (e -= b));\r\n Infinity !== this.dataInfo.minDiff\r\n ? (l = this.dataInfo.minDiff)\r\n : 1 < f - e\r\n ? (l = 0.5 * Math.abs(f - e))\r\n : ((l = 1), c && (d = !0));\r\n } else\r\n 'axisY' === this.type &&\r\n ((e =\r\n null !== this.viewportMinimum\r\n ? this.viewportMinimum\r\n : this.dataInfo.viewPortMin),\r\n (f =\r\n null !== this.viewportMaximum\r\n ? this.viewportMaximum\r\n : this.dataInfo.viewPortMax),\r\n isFinite(e) || isFinite(f)\r\n ? isFinite(e)\r\n ? isFinite(f) || (f = e)\r\n : (e = f)\r\n : ((f =\r\n 'undefined' === typeof this.options.interval\r\n ? -Infinity\r\n : this.options.interval),\r\n (e =\r\n 'undefined' !== typeof this.options.interval ||\r\n isFinite(this.dataInfo.minDiff)\r\n ? 0\r\n : Infinity)),\r\n 0 === e && 0 === f\r\n ? ((f += 9), (e = 0))\r\n : 0 === f - e\r\n ? ((b = Math.min(Math.abs(0.01 * Math.abs(f)), 5)),\r\n (f += b),\r\n (e -= b))\r\n : e > f\r\n ? ((b = Math.min(\r\n 0.01 * Math.abs(this.getApparentDifference(f, e, null, !0)),\r\n 5\r\n )),\r\n 0 <= f ? (e = f - b) : (f = isFinite(e) ? e + b : 0))\r\n : ((b = Math.min(\r\n 0.01 * Math.abs(this.getApparentDifference(e, f, null, !0)),\r\n 0.05\r\n )),\r\n 0 !== f && (f += b),\r\n 0 !== e && (e -= b)),\r\n (l =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : 1 < f - e\r\n ? 0.5 * Math.abs(f - e)\r\n : 1),\r\n this.includeZero &&\r\n (null === this.viewportMinimum || isNaN(this.viewportMinimum)) &&\r\n 0 < e &&\r\n (e = 0),\r\n this.includeZero &&\r\n (null === this.viewportMaximum || isNaN(this.viewportMaximum)) &&\r\n 0 > f &&\r\n (f = 0));\r\n b = this.getApparentDifference(\r\n isNaN(this.viewportMinimum) || null === this.viewportMinimum\r\n ? e\r\n : this.viewportMinimum,\r\n isNaN(this.viewportMaximum) || null === this.viewportMaximum\r\n ? f\r\n : this.viewportMaximum,\r\n null,\r\n !0\r\n );\r\n if ('axisX' === this.type && c) {\r\n this.valueType = 'dateTime';\r\n this.intervalType ||\r\n (b / 1 <= a\r\n ? ((this.interval = 1), (this.intervalType = 'millisecond'))\r\n : b / 2 <= a\r\n ? ((this.interval = 2), (this.intervalType = 'millisecond'))\r\n : b / 5 <= a\r\n ? ((this.interval = 5), (this.intervalType = 'millisecond'))\r\n : b / 10 <= a\r\n ? ((this.interval = 10), (this.intervalType = 'millisecond'))\r\n : b / 20 <= a\r\n ? ((this.interval = 20), (this.intervalType = 'millisecond'))\r\n : b / 50 <= a\r\n ? ((this.interval = 50), (this.intervalType = 'millisecond'))\r\n : b / 100 <= a\r\n ? ((this.interval = 100), (this.intervalType = 'millisecond'))\r\n : b / 200 <= a\r\n ? ((this.interval = 200), (this.intervalType = 'millisecond'))\r\n : b / 250 <= a\r\n ? ((this.interval = 250), (this.intervalType = 'millisecond'))\r\n : b / 300 <= a\r\n ? ((this.interval = 300), (this.intervalType = 'millisecond'))\r\n : b / 400 <= a\r\n ? ((this.interval = 400), (this.intervalType = 'millisecond'))\r\n : b / 500 <= a\r\n ? ((this.interval = 500), (this.intervalType = 'millisecond'))\r\n : b / (1 * K.secondDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'second'))\r\n : b / (2 * K.secondDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'second'))\r\n : b / (5 * K.secondDuration) <= a\r\n ? ((this.interval = 5), (this.intervalType = 'second'))\r\n : b / (10 * K.secondDuration) <= a\r\n ? ((this.interval = 10), (this.intervalType = 'second'))\r\n : b / (15 * K.secondDuration) <= a\r\n ? ((this.interval = 15), (this.intervalType = 'second'))\r\n : b / (20 * K.secondDuration) <= a\r\n ? ((this.interval = 20), (this.intervalType = 'second'))\r\n : b / (30 * K.secondDuration) <= a\r\n ? ((this.interval = 30), (this.intervalType = 'second'))\r\n : b / (1 * K.minuteDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'minute'))\r\n : b / (2 * K.minuteDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'minute'))\r\n : b / (5 * K.minuteDuration) <= a\r\n ? ((this.interval = 5), (this.intervalType = 'minute'))\r\n : b / (10 * K.minuteDuration) <= a\r\n ? ((this.interval = 10), (this.intervalType = 'minute'))\r\n : b / (15 * K.minuteDuration) <= a\r\n ? ((this.interval = 15), (this.intervalType = 'minute'))\r\n : b / (20 * K.minuteDuration) <= a\r\n ? ((this.interval = 20), (this.intervalType = 'minute'))\r\n : b / (30 * K.minuteDuration) <= a\r\n ? ((this.interval = 30), (this.intervalType = 'minute'))\r\n : b / (1 * K.hourDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'hour'))\r\n : b / (2 * K.hourDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'hour'))\r\n : b / (3 * K.hourDuration) <= a\r\n ? ((this.interval = 3), (this.intervalType = 'hour'))\r\n : b / (6 * K.hourDuration) <= a\r\n ? ((this.interval = 6), (this.intervalType = 'hour'))\r\n : b / (1 * K.dayDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'day'))\r\n : b / (2 * K.dayDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'day'))\r\n : b / (4 * K.dayDuration) <= a\r\n ? ((this.interval = 4), (this.intervalType = 'day'))\r\n : b / (1 * K.weekDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'week'))\r\n : b / (2 * K.weekDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'week'))\r\n : b / (3 * K.weekDuration) <= a\r\n ? ((this.interval = 3), (this.intervalType = 'week'))\r\n : b / (1 * K.monthDuration) <= a\r\n ? ((this.interval = 1), (this.intervalType = 'month'))\r\n : b / (2 * K.monthDuration) <= a\r\n ? ((this.interval = 2), (this.intervalType = 'month'))\r\n : b / (3 * K.monthDuration) <= a\r\n ? ((this.interval = 3), (this.intervalType = 'month'))\r\n : b / (6 * K.monthDuration) <= a\r\n ? ((this.interval = 6), (this.intervalType = 'month'))\r\n : ((this.interval =\r\n b / (1 * K.yearDuration) <= a\r\n ? 1\r\n : b / (2 * K.yearDuration) <= a\r\n ? 2\r\n : b / (4 * K.yearDuration) <= a\r\n ? 4\r\n : Math.floor(\r\n A.getNiceNumber(b / (a - 1), !0) / K.yearDuration\r\n )),\r\n (this.intervalType = 'year')));\r\n if (null === this.viewportMinimum || isNaN(this.viewportMinimum))\r\n this.viewportMinimum = e - l / 2;\r\n if (null === this.viewportMaximum || isNaN(this.viewportMaximum))\r\n this.viewportMaximum = f + l / 2;\r\n d\r\n ? (this.autoValueFormatString = 'MMM DD YYYY HH:mm')\r\n : 'year' === this.intervalType\r\n ? (this.autoValueFormatString = 'YYYY')\r\n : 'month' === this.intervalType\r\n ? (this.autoValueFormatString = 'MMM YYYY')\r\n : 'week' === this.intervalType\r\n ? (this.autoValueFormatString = 'MMM DD YYYY')\r\n : 'day' === this.intervalType\r\n ? (this.autoValueFormatString = 'MMM DD YYYY')\r\n : 'hour' === this.intervalType\r\n ? (this.autoValueFormatString = 'hh:mm TT')\r\n : 'minute' === this.intervalType\r\n ? (this.autoValueFormatString = 'hh:mm TT')\r\n : 'second' === this.intervalType\r\n ? (this.autoValueFormatString = 'hh:mm:ss TT')\r\n : 'millisecond' === this.intervalType &&\r\n (this.autoValueFormatString = \"fff'ms'\");\r\n this.valueFormatString ||\r\n (this.valueFormatString = this.autoValueFormatString);\r\n } else {\r\n this.intervalType = 'number';\r\n b = A.getNiceNumber(b, !1);\r\n this.interval =\r\n this.options && 0 < this.options.interval\r\n ? this.options.interval\r\n : A.getNiceNumber(b / (a - 1), !0);\r\n if (null === this.viewportMinimum || isNaN(this.viewportMinimum))\r\n this.viewportMinimum =\r\n 'axisX' === this.type\r\n ? e - l / 2\r\n : Math.floor(e / this.interval) * this.interval;\r\n if (null === this.viewportMaximum || isNaN(this.viewportMaximum))\r\n this.viewportMaximum =\r\n 'axisX' === this.type\r\n ? f + l / 2\r\n : Math.ceil(f / this.interval) * this.interval;\r\n 0 === this.viewportMaximum &&\r\n 0 === this.viewportMinimum &&\r\n (0 === this.options.viewportMinimum\r\n ? (this.viewportMaximum += 10)\r\n : 0 === this.options.viewportMaximum &&\r\n (this.viewportMinimum -= 10),\r\n this.options &&\r\n 'undefined' === typeof this.options.interval &&\r\n (this.interval = A.getNiceNumber(\r\n (this.viewportMaximum - this.viewportMinimum) / (a - 1),\r\n !0\r\n )));\r\n }\r\n if (null === this.minimum || null === this.maximum)\r\n if (\r\n ('axisX' === this.type\r\n ? ((e = null !== this.minimum ? this.minimum : this.dataInfo.min),\r\n (f = null !== this.maximum ? this.maximum : this.dataInfo.max),\r\n 0 === f - e &&\r\n ((b =\r\n 'undefined' === typeof this.options.interval\r\n ? 0.4\r\n : this.options.interval),\r\n (f += b),\r\n (e -= b)),\r\n (l =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : 1 < f - e\r\n ? 0.5 * Math.abs(f - e)\r\n : 1))\r\n : 'axisY' === this.type &&\r\n ((e = null !== this.minimum ? this.minimum : this.dataInfo.min),\r\n (f = null !== this.maximum ? this.maximum : this.dataInfo.max),\r\n isFinite(e) || isFinite(f)\r\n ? 0 === e && 0 === f\r\n ? ((f += 9), (e = 0))\r\n : 0 === f - e\r\n ? ((b = Math.min(Math.abs(0.01 * Math.abs(f)), 5)),\r\n (f += b),\r\n (e -= b))\r\n : e > f\r\n ? ((b = Math.min(\r\n 0.01 *\r\n Math.abs(this.getApparentDifference(f, e, null, !0)),\r\n 5\r\n )),\r\n 0 <= f ? (e = f - b) : (f = isFinite(e) ? e + b : 0))\r\n : ((b = Math.min(\r\n 0.01 *\r\n Math.abs(this.getApparentDifference(e, f, null, !0)),\r\n 0.05\r\n )),\r\n 0 !== f && (f += b),\r\n 0 !== e && (e -= b))\r\n : ((f =\r\n 'undefined' === typeof this.options.interval\r\n ? -Infinity\r\n : this.options.interval),\r\n (e =\r\n 'undefined' !== typeof this.options.interval ||\r\n isFinite(this.dataInfo.minDiff)\r\n ? 0\r\n : Infinity)),\r\n (l =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : 1 < f - e\r\n ? 0.5 * Math.abs(f - e)\r\n : 1),\r\n this.includeZero &&\r\n (null === this.minimum || isNaN(this.minimum)) &&\r\n 0 < e &&\r\n (e = 0),\r\n this.includeZero &&\r\n (null === this.maximum || isNaN(this.maximum)) &&\r\n 0 > f &&\r\n (f = 0)),\r\n Math.abs(this.getApparentDifference(e, f, null, !0)),\r\n 'axisX' === this.type && c)\r\n ) {\r\n this.valueType = 'dateTime';\r\n if (null === this.minimum || isNaN(this.minimum))\r\n (this.minimum = e - l / 2),\r\n (this.minimum = Math.min(\r\n this.minimum,\r\n null === this.sessionVariables.viewportMinimum ||\r\n isNaN(this.sessionVariables.viewportMinimum)\r\n ? Infinity\r\n : this.sessionVariables.viewportMinimum\r\n ));\r\n if (null === this.maximum || isNaN(this.maximum))\r\n (this.maximum = f + l / 2),\r\n (this.maximum = Math.max(\r\n this.maximum,\r\n null === this.sessionVariables.viewportMaximum ||\r\n isNaN(this.sessionVariables.viewportMaximum)\r\n ? -Infinity\r\n : this.sessionVariables.viewportMaximum\r\n ));\r\n } else\r\n (this.intervalType = this.valueType = 'number'),\r\n null === this.minimum &&\r\n ((this.minimum =\r\n 'axisX' === this.type\r\n ? e - l / 2\r\n : Math.floor(e / this.interval) * this.interval),\r\n (this.minimum = Math.min(\r\n this.minimum,\r\n null === this.sessionVariables.viewportMinimum ||\r\n isNaN(this.sessionVariables.viewportMinimum)\r\n ? Infinity\r\n : this.sessionVariables.viewportMinimum\r\n ))),\r\n null === this.maximum &&\r\n ((this.maximum =\r\n 'axisX' === this.type\r\n ? f + l / 2\r\n : Math.ceil(f / this.interval) * this.interval),\r\n (this.maximum = Math.max(\r\n this.maximum,\r\n null === this.sessionVariables.viewportMaximum ||\r\n isNaN(this.sessionVariables.viewportMaximum)\r\n ? -Infinity\r\n : this.sessionVariables.viewportMaximum\r\n ))),\r\n 0 === this.maximum &&\r\n 0 === this.minimum &&\r\n (0 === this.options.minimum\r\n ? (this.maximum += 10)\r\n : 0 === this.options.maximum && (this.minimum -= 10));\r\n r(this.sessionVariables.newViewportMinimum) &&\r\n (this.viewportMinimum = Math.max(this.viewportMinimum, this.minimum));\r\n r(this.sessionVariables.newViewportMaximum) &&\r\n (this.viewportMaximum = Math.min(this.viewportMaximum, this.maximum));\r\n this.range = this.viewportMaximum - this.viewportMinimum;\r\n this.intervalStartPosition =\r\n 'axisX' === this.type && c\r\n ? this.getLabelStartPoint(\r\n new Date(this.viewportMinimum),\r\n this.intervalType,\r\n this.interval\r\n )\r\n : Math.floor(\r\n (this.viewportMinimum + 0.2 * this.interval) / this.interval\r\n ) * this.interval;\r\n this.valueFormatString ||\r\n (this.valueFormatString = A.generateValueFormatString(this.range, 2));\r\n }\r\n };\r\n A.prototype.calculateLogarithmicAxisParameters = function () {\r\n var a = this.chart.layoutManager.getFreeSpace(),\r\n d = Math.log(this.logarithmBase),\r\n c;\r\n 'bottom' === this._position || 'top' === this._position\r\n ? ((this.maxWidth = a.width), (this.maxHeight = a.height))\r\n : ((this.maxWidth = a.height), (this.maxHeight = a.width));\r\n var a =\r\n 'axisX' === this.type\r\n ? 500 > this.maxWidth\r\n ? 7\r\n : Math.max(7, Math.floor(this.maxWidth / 100))\r\n : Math.max(Math.floor(this.maxWidth / 50), 3),\r\n b,\r\n e,\r\n f,\r\n l;\r\n l = 1;\r\n if (null === this.viewportMinimum || isNaN(this.viewportMinimum))\r\n this.viewportMinimum = this.minimum;\r\n if (null === this.viewportMaximum || isNaN(this.viewportMaximum))\r\n this.viewportMaximum = this.maximum;\r\n if (this.scaleBreaks)\r\n for (l = 0; l < this.scaleBreaks._appliedBreaks.length; l++)\r\n if (\r\n ((!r(this.sessionVariables.newViewportMinimum) &&\r\n this.sessionVariables.newViewportMinimum >=\r\n this.scaleBreaks._appliedBreaks[l].startValue) ||\r\n (!r(this.options.minimum) &&\r\n this.options.minimum >=\r\n this.scaleBreaks._appliedBreaks[l].startValue) ||\r\n (!r(this.options.viewportMinimum) &&\r\n this.viewportMinimum >=\r\n this.scaleBreaks._appliedBreaks[l].startValue)) &&\r\n ((!r(this.sessionVariables.newViewportMaximum) &&\r\n this.sessionVariables.newViewportMaximum <=\r\n this.scaleBreaks._appliedBreaks[l].endValue) ||\r\n (!r(this.options.maximum) &&\r\n this.options.maximum <=\r\n this.scaleBreaks._appliedBreaks[l].endValue) ||\r\n (!r(this.options.viewportMaximum) &&\r\n this.viewportMaximum <=\r\n this.scaleBreaks._appliedBreaks[l].endValue))\r\n ) {\r\n this.scaleBreaks._appliedBreaks.splice(l, 1);\r\n break;\r\n }\r\n 'axisX' === this.type\r\n ? ((b =\r\n null !== this.viewportMinimum\r\n ? this.viewportMinimum\r\n : this.dataInfo.viewPortMin),\r\n (e =\r\n null !== this.viewportMaximum\r\n ? this.viewportMaximum\r\n : this.dataInfo.viewPortMax),\r\n 1 === e / b &&\r\n ((l = Math.pow(\r\n this.logarithmBase,\r\n 'undefined' === typeof this.options.interval\r\n ? 0.4\r\n : this.options.interval\r\n )),\r\n (e *= l),\r\n (b /= l)),\r\n (f =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : e / b > this.logarithmBase\r\n ? (e / b) * Math.pow(this.logarithmBase, 0.5)\r\n : this.logarithmBase))\r\n : 'axisY' === this.type &&\r\n ((b =\r\n null !== this.viewportMinimum\r\n ? this.viewportMinimum\r\n : this.dataInfo.viewPortMin),\r\n (e =\r\n null !== this.viewportMaximum\r\n ? this.viewportMaximum\r\n : this.dataInfo.viewPortMax),\r\n 0 >= b && !isFinite(e)\r\n ? ((e =\r\n 'undefined' === typeof this.options.interval\r\n ? 0\r\n : this.options.interval),\r\n (b = 1))\r\n : 0 >= b\r\n ? (b = e)\r\n : isFinite(e) || (e = b),\r\n 1 === b && 1 === e\r\n ? ((e *= this.logarithmBase - 1 / this.logarithmBase), (b = 1))\r\n : 1 === e / b\r\n ? ((l = Math.min(\r\n e * Math.pow(this.logarithmBase, 0.01),\r\n Math.pow(this.logarithmBase, 5)\r\n )),\r\n (e *= l),\r\n (b /= l))\r\n : b > e\r\n ? ((l = Math.min(\r\n (b / e) * Math.pow(this.logarithmBase, 0.01),\r\n Math.pow(this.logarithmBase, 5)\r\n )),\r\n 1 <= e ? (b = e / l) : (e = b * l))\r\n : ((l = Math.min(\r\n (e / b) * Math.pow(this.logarithmBase, 0.01),\r\n Math.pow(this.logarithmBase, 0.04)\r\n )),\r\n 1 !== e && (e *= l),\r\n 1 !== b && (b /= l)),\r\n (f =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : e / b > this.logarithmBase\r\n ? (e / b) * Math.pow(this.logarithmBase, 0.5)\r\n : this.logarithmBase),\r\n this.includeZero &&\r\n (null === this.viewportMinimum || isNaN(this.viewportMinimum)) &&\r\n 1 < b &&\r\n (b = 1),\r\n this.includeZero &&\r\n (null === this.viewportMaximum || isNaN(this.viewportMaximum)) &&\r\n 1 > e &&\r\n (e = 1));\r\n l =\r\n (isNaN(this.viewportMaximum) || null === this.viewportMaximum\r\n ? e\r\n : this.viewportMaximum) /\r\n (isNaN(this.viewportMinimum) || null === this.viewportMinimum\r\n ? b\r\n : this.viewportMinimum);\r\n var h =\r\n (isNaN(this.viewportMaximum) || null === this.viewportMaximum\r\n ? e\r\n : this.viewportMaximum) -\r\n (isNaN(this.viewportMinimum) || null === this.viewportMinimum\r\n ? b\r\n : this.viewportMinimum);\r\n this.intervalType = 'number';\r\n l = Math.pow(\r\n this.logarithmBase,\r\n A.getNiceNumber(Math.abs(Math.log(l) / d), !1)\r\n );\r\n this.options && 0 < this.options.interval\r\n ? (this.interval = this.options.interval)\r\n : ((this.interval = A.getNiceExponent(Math.log(l) / d / (a - 1), !0)),\r\n (c = A.getNiceNumber(h / (a - 1), !0)));\r\n if (null === this.viewportMinimum || isNaN(this.viewportMinimum))\r\n this.viewportMinimum =\r\n 'axisX' === this.type\r\n ? b / Math.sqrt(f)\r\n : Math.pow(\r\n this.logarithmBase,\r\n this.interval * Math.floor(Math.log(b) / d / this.interval)\r\n );\r\n if (null === this.viewportMaximum || isNaN(this.viewportMaximum))\r\n this.viewportMaximum =\r\n 'axisX' === this.type\r\n ? e * Math.sqrt(f)\r\n : Math.pow(\r\n this.logarithmBase,\r\n this.interval * Math.ceil(Math.log(e) / d / this.interval)\r\n );\r\n 1 === this.viewportMaximum &&\r\n 1 === this.viewportMinimum &&\r\n (1 === this.options.viewportMinimum\r\n ? (this.viewportMaximum *=\r\n this.logarithmBase - 1 / this.logarithmBase)\r\n : 1 === this.options.viewportMaximum &&\r\n (this.viewportMinimum /=\r\n this.logarithmBase - 1 / this.logarithmBase),\r\n this.options &&\r\n 'undefined' === typeof this.options.interval &&\r\n ((this.interval = A.getNiceExponent(\r\n Math.ceil(Math.log(l) / d) / (a - 1)\r\n )),\r\n (c = A.getNiceNumber(\r\n (this.viewportMaximum - this.viewportMinimum) / (a - 1),\r\n !0\r\n ))));\r\n if (null === this.minimum || null === this.maximum)\r\n 'axisX' === this.type\r\n ? ((b = null !== this.minimum ? this.minimum : this.dataInfo.min),\r\n (e = null !== this.maximum ? this.maximum : this.dataInfo.max),\r\n 1 === e / b &&\r\n ((l = Math.pow(\r\n this.logarithmBase,\r\n 'undefined' === typeof this.options.interval\r\n ? 0.4\r\n : this.options.interval\r\n )),\r\n (e *= l),\r\n (b /= l)),\r\n (f =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : e / b > this.logarithmBase\r\n ? (e / b) * Math.pow(this.logarithmBase, 0.5)\r\n : this.logarithmBase))\r\n : 'axisY' === this.type &&\r\n ((b = null !== this.minimum ? this.minimum : this.dataInfo.min),\r\n (e = null !== this.maximum ? this.maximum : this.dataInfo.max),\r\n isFinite(b) || isFinite(e)\r\n ? 1 === b && 1 === e\r\n ? ((e *= this.logarithmBase), (b /= this.logarithmBase))\r\n : 1 === e / b\r\n ? ((l = Math.pow(this.logarithmBase, this.interval)),\r\n (e *= l),\r\n (b /= l))\r\n : b > e\r\n ? ((l = Math.min(0.01 * (b / e), 5)),\r\n 1 <= e ? (b = e / l) : (e = b * l))\r\n : ((l = Math.min(\r\n (e / b) * Math.pow(this.logarithmBase, 0.01),\r\n Math.pow(this.logarithmBase, 0.04)\r\n )),\r\n 1 !== e && (e *= l),\r\n 1 !== b && (b /= l))\r\n : ((e =\r\n 'undefined' === typeof this.options.interval\r\n ? 0\r\n : this.options.interval),\r\n (b = 1)),\r\n (f =\r\n Infinity !== this.dataInfo.minDiff\r\n ? this.dataInfo.minDiff\r\n : e / b > this.logarithmBase\r\n ? (e / b) * Math.pow(this.logarithmBase, 0.5)\r\n : this.logarithmBase),\r\n this.includeZero &&\r\n (null === this.minimum || isNaN(this.minimum)) &&\r\n 1 < b &&\r\n (b = 1),\r\n this.includeZero &&\r\n (null === this.maximum || isNaN(this.maximum)) &&\r\n 1 > e &&\r\n (e = 1)),\r\n (this.intervalType = 'number'),\r\n null === this.minimum &&\r\n ((this.minimum =\r\n 'axisX' === this.type\r\n ? b / Math.sqrt(f)\r\n : Math.pow(\r\n this.logarithmBase,\r\n this.interval * Math.floor(Math.log(b) / d / this.interval)\r\n )),\r\n r(\r\n null === this.sessionVariables.viewportMinimum ||\r\n isNaN(this.sessionVariables.viewportMinimum)\r\n ? 'undefined' ===\r\n typeof this.sessionVariables.newViewportMinimum\r\n ? Infinity\r\n : this.sessionVariables.newViewportMinimum\r\n : this.sessionVariables.viewportMinimum\r\n ) ||\r\n (this.minimum = Math.min(\r\n this.minimum,\r\n null === this.sessionVariables.viewportMinimum ||\r\n isNaN(this.sessionVariables.viewportMinimum)\r\n ? 'undefined' ===\r\n typeof this.sessionVariables.newViewportMinimum\r\n ? Infinity\r\n : this.sessionVariables.newViewportMinimum\r\n : this.sessionVariables.viewportMinimum\r\n ))),\r\n null === this.maximum &&\r\n ((this.maximum =\r\n 'axisX' === this.type\r\n ? e * Math.sqrt(f)\r\n : Math.pow(\r\n this.logarithmBase,\r\n this.interval * Math.ceil(Math.log(e) / d / this.interval)\r\n )),\r\n r(\r\n null === this.sessionVariables.viewportMaximum ||\r\n isNaN(this.sessionVariables.viewportMaximum)\r\n ? 'undefined' ===\r\n typeof this.sessionVariables.newViewportMaximum\r\n ? 0\r\n : this.sessionVariables.newViewportMaximum\r\n : this.sessionVariables.viewportMaximum\r\n ) ||\r\n (this.maximum = Math.max(\r\n this.maximum,\r\n null === this.sessionVariables.viewportMaximum ||\r\n isNaN(this.sessionVariables.viewportMaximum)\r\n ? 'undefined' ===\r\n typeof this.sessionVariables.newViewportMaximum\r\n ? 0\r\n : this.sessionVariables.newViewportMaximum\r\n : this.sessionVariables.viewportMaximum\r\n ))),\r\n 1 === this.maximum &&\r\n 1 === this.minimum &&\r\n (1 === this.options.minimum\r\n ? (this.maximum *= this.logarithmBase - 1 / this.logarithmBase)\r\n : 1 === this.options.maximum &&\r\n (this.minimum /= this.logarithmBase - 1 / this.logarithmBase));\r\n this.viewportMinimum = Math.max(this.viewportMinimum, this.minimum);\r\n this.viewportMaximum = Math.min(this.viewportMaximum, this.maximum);\r\n this.viewportMinimum > this.viewportMaximum &&\r\n ((!this.options.viewportMinimum && !this.options.minimum) ||\r\n this.options.viewportMaximum ||\r\n this.options.maximum\r\n ? this.options.viewportMinimum ||\r\n this.options.minimum ||\r\n (!this.options.viewportMaximum && !this.options.maximum) ||\r\n (this.viewportMinimum = this.minimum =\r\n (this.options.viewportMaximum || this.options.maximum) /\r\n Math.pow(this.logarithmBase, 2 * Math.ceil(this.interval)))\r\n : (this.viewportMaximum = this.maximum =\r\n this.options.viewportMinimum || this.options.minimum));\r\n b = Math.pow(\r\n this.logarithmBase,\r\n Math.floor(Math.log(this.viewportMinimum) / (d * this.interval) + 0.2) *\r\n this.interval\r\n );\r\n this.range = this.viewportMaximum / this.viewportMinimum;\r\n this.noTicks = a;\r\n if (\r\n !this.options.interval &&\r\n this.range <\r\n Math.pow(\r\n this.logarithmBase,\r\n 8 > this.viewportMaximum || 3 > a ? 2 : 3\r\n )\r\n ) {\r\n for (\r\n d = Math.floor(this.viewportMinimum / c + 0.5) * c;\r\n d < this.viewportMinimum;\r\n\r\n )\r\n d += c;\r\n this.equidistantInterval = !1;\r\n this.intervalStartPosition = d;\r\n this.interval = c;\r\n } else\r\n this.options.interval ||\r\n ((c = Math.ceil(this.interval)),\r\n this.range > this.interval &&\r\n ((this.interval = c),\r\n (b = Math.pow(\r\n this.logarithmBase,\r\n Math.floor(\r\n Math.log(this.viewportMinimum) / (d * this.interval) + 0.2\r\n ) * this.interval\r\n )))),\r\n (this.equidistantInterval = !0),\r\n (this.intervalStartPosition = b);\r\n if (\r\n !this.valueFormatString &&\r\n ((this.valueFormatString = '#,##0.##'), 1 > this.viewportMinimum)\r\n ) {\r\n d =\r\n Math.floor(Math.abs(Math.log(this.viewportMinimum) / Math.LN10)) + 2;\r\n if (isNaN(d) || !isFinite(d)) d = 2;\r\n if (2 < d) for (l = 0; l < d - 2; l++) this.valueFormatString += '#';\r\n }\r\n };\r\n A.generateValueFormatString = function (a, d) {\r\n var c = '#,##0.',\r\n b = d;\r\n 1 > a &&\r\n ((b += Math.floor(Math.abs(Math.log(a) / Math.LN10))),\r\n isNaN(b) || !isFinite(b)) &&\r\n (b = d);\r\n for (var e = 0; e < b; e++) c += '#';\r\n return c;\r\n };\r\n A.getNiceExponent = function (a, d) {\r\n var c = Math.floor(Math.log(a) / Math.LN10),\r\n b = a / Math.pow(10, c),\r\n b = 0 > c ? (1 >= b ? 1 : 5 >= b ? 5 : 10) : Math.max(Math.floor(b), 1);\r\n return -20 > c\r\n ? Number(b * Math.pow(10, c))\r\n : Number((b * Math.pow(10, c)).toFixed(20));\r\n };\r\n A.getNiceNumber = function (a, d) {\r\n var c = Math.floor(Math.log(a) / Math.LN10),\r\n b = a / Math.pow(10, c),\r\n b = d\r\n ? 1.5 > b\r\n ? 1\r\n : 3 > b\r\n ? 2\r\n : 7 > b\r\n ? 5\r\n : 10\r\n : 1 >= b\r\n ? 1\r\n : 2 >= b\r\n ? 2\r\n : 5 >= b\r\n ? 5\r\n : 10;\r\n return -20 > c\r\n ? Number(b * Math.pow(10, c))\r\n : Number((b * Math.pow(10, c)).toFixed(20));\r\n };\r\n A.prototype.getLabelStartPoint = function () {\r\n var a = K[this.intervalType + 'Duration'] * this.interval,\r\n a = new Date(Math.floor(this.viewportMinimum / a) * a);\r\n if ('millisecond' !== this.intervalType)\r\n if ('second' === this.intervalType)\r\n 0 < a.getMilliseconds() &&\r\n (a.setSeconds(a.getSeconds() + 1), a.setMilliseconds(0));\r\n else if ('minute' === this.intervalType) {\r\n if (0 < a.getSeconds() || 0 < a.getMilliseconds())\r\n a.setMinutes(a.getMinutes() + 1),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0);\r\n } else if ('hour' === this.intervalType) {\r\n if (\r\n 0 < a.getMinutes() ||\r\n 0 < a.getSeconds() ||\r\n 0 < a.getMilliseconds()\r\n )\r\n a.setHours(a.getHours() + 1),\r\n a.setMinutes(0),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0);\r\n } else if ('day' === this.intervalType) {\r\n if (\r\n 0 < a.getHours() ||\r\n 0 < a.getMinutes() ||\r\n 0 < a.getSeconds() ||\r\n 0 < a.getMilliseconds()\r\n )\r\n a.setDate(a.getDate() + 1),\r\n a.setHours(0),\r\n a.setMinutes(0),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0);\r\n } else if ('week' === this.intervalType) {\r\n if (\r\n 0 < a.getDay() ||\r\n 0 < a.getHours() ||\r\n 0 < a.getMinutes() ||\r\n 0 < a.getSeconds() ||\r\n 0 < a.getMilliseconds()\r\n )\r\n a.setDate(a.getDate() + (7 - a.getDay())),\r\n a.setHours(0),\r\n a.setMinutes(0),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0);\r\n } else if ('month' === this.intervalType) {\r\n if (\r\n 1 < a.getDate() ||\r\n 0 < a.getHours() ||\r\n 0 < a.getMinutes() ||\r\n 0 < a.getSeconds() ||\r\n 0 < a.getMilliseconds()\r\n )\r\n a.setMonth(a.getMonth() + 1),\r\n a.setDate(1),\r\n a.setHours(0),\r\n a.setMinutes(0),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0);\r\n } else\r\n 'year' === this.intervalType &&\r\n (0 < a.getMonth() ||\r\n 1 < a.getDate() ||\r\n 0 < a.getHours() ||\r\n 0 < a.getMinutes() ||\r\n 0 < a.getSeconds() ||\r\n 0 < a.getMilliseconds()) &&\r\n (a.setFullYear(a.getFullYear() + 1),\r\n a.setMonth(0),\r\n a.setDate(1),\r\n a.setHours(0),\r\n a.setMinutes(0),\r\n a.setSeconds(0),\r\n a.setMilliseconds(0));\r\n return a;\r\n };\r\n qa(ea, $);\r\n qa(ga, $);\r\n ga.prototype.createUserOptions = function (a) {\r\n if ('undefined' !== typeof a || this.options._isPlaceholder) {\r\n var d = 0;\r\n this.parent.options._isPlaceholder && this.parent.createUserOptions();\r\n this.options._isPlaceholder ||\r\n (Da(this.parent[this.optionsName]),\r\n (d = this.parent.options[this.optionsName].indexOf(this.options)));\r\n this.options = 'undefined' === typeof a ? {} : a;\r\n this.parent.options[this.optionsName][d] = this.options;\r\n }\r\n };\r\n ga.prototype.render = function (a) {\r\n if (\r\n 0 !== this.spacing ||\r\n (0 !== this.options.lineThickness &&\r\n ('undefined' !== typeof this.options.lineThickness ||\r\n 0 !== this.parent.lineThickness))\r\n ) {\r\n var d = this.ctx,\r\n c = this.ctx.globalAlpha;\r\n this.ctx = a || this.ctx;\r\n this.ctx.save();\r\n this.ctx.beginPath();\r\n this.ctx.rect(\r\n this.chart.plotArea.x1,\r\n this.chart.plotArea.y1,\r\n this.chart.plotArea.width,\r\n this.chart.plotArea.height\r\n );\r\n this.ctx.clip();\r\n var b = this.scaleBreaks.parent.getPixelCoordinatesOnAxis(\r\n this.startValue\r\n ),\r\n e = this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);\r\n this.ctx.strokeStyle = this.lineColor;\r\n this.ctx.fillStyle = this.color;\r\n this.ctx.beginPath();\r\n this.ctx.globalAlpha = 1;\r\n Q(this.id);\r\n var f, l, h, n, k, m;\r\n a = Math.max(this.spacing, 3);\r\n var p = Math.max(0, this.lineThickness);\r\n this.ctx.lineWidth = p;\r\n this.ctx.setLineDash && this.ctx.setLineDash(J(this.lineDashType, p));\r\n if (\r\n 'bottom' === this.scaleBreaks.parent._position ||\r\n 'top' === this.scaleBreaks.parent._position\r\n )\r\n if (\r\n ((b = 1 === p % 2 ? (b.x << 0) + 0.5 : b.x << 0),\r\n (l = 1 === p % 2 ? (e.x << 0) + 0.5 : e.x << 0),\r\n 'top' === this.scaleBreaks.parent._position\r\n ? ((e = this.chart.plotArea.y1),\r\n (h = (this.chart.plotArea.y2 + p / 2 + 0.5) << 0))\r\n : ((e = this.chart.plotArea.y2),\r\n (h = (this.chart.plotArea.y1 - p / 2 + 0.5) << 0),\r\n (a *= -1)),\r\n (this.bounds = { x1: b - p / 2, y1: e, x2: l + p / 2, y2: h }),\r\n this.ctx.moveTo(b, e),\r\n 'straight' === this.type ||\r\n ('top' === this.scaleBreaks.parent._position && 0 >= a) ||\r\n ('bottom' === this.scaleBreaks.parent._position && 0 <= a))\r\n )\r\n this.ctx.lineTo(b, h), this.ctx.lineTo(l, h), this.ctx.lineTo(l, e);\r\n else if ('wavy' === this.type) {\r\n n = b;\r\n k = e;\r\n f = 0.5;\r\n m = (h - k) / a / 3;\r\n for (var q = 0; q < m; q++)\r\n this.ctx.bezierCurveTo(\r\n n + f * a,\r\n k + a,\r\n n + f * a,\r\n k + 2 * a,\r\n n,\r\n k + 3 * a\r\n ),\r\n (k += 3 * a),\r\n (f *= -1);\r\n this.ctx.bezierCurveTo(\r\n n + f * a,\r\n k + a,\r\n n + f * a,\r\n k + 2 * a,\r\n n,\r\n k + 3 * a\r\n );\r\n n = l;\r\n f *= -1;\r\n this.ctx.lineTo(n, k);\r\n for (q = 0; q < m; q++)\r\n this.ctx.bezierCurveTo(\r\n n + f * a,\r\n k - a,\r\n n + f * a,\r\n k - 2 * a,\r\n n,\r\n k - 3 * a\r\n ),\r\n (k -= 3 * a),\r\n (f *= -1);\r\n } else {\r\n if ('zigzag' === this.type) {\r\n f = -1;\r\n k = e + a;\r\n n = b + a;\r\n m = (h - k) / a / 2;\r\n for (q = 0; q < m; q++)\r\n this.ctx.lineTo(n, k),\r\n (n += 2 * f * a),\r\n (k += 2 * a),\r\n (f *= -1);\r\n this.ctx.lineTo(n, k);\r\n n += l - b;\r\n for (q = 0; q < m + 1; q++)\r\n this.ctx.lineTo(n, k),\r\n (n += 2 * f * a),\r\n (k -= 2 * a),\r\n (f *= -1);\r\n this.ctx.lineTo(n + f * a, k + a);\r\n }\r\n }\r\n else if (\r\n 'left' === this.scaleBreaks.parent._position ||\r\n 'right' === this.scaleBreaks.parent._position\r\n )\r\n if (\r\n ((e = 1 === p % 2 ? (e.y << 0) + 0.5 : e.y << 0),\r\n (h = 1 === p % 2 ? (b.y << 0) + 0.5 : b.y << 0),\r\n 'left' === this.scaleBreaks.parent._position\r\n ? ((b = this.chart.plotArea.x1),\r\n (l = (this.chart.plotArea.x2 + p / 2 + 0.5) << 0))\r\n : ((b = this.chart.plotArea.x2),\r\n (l = (this.chart.plotArea.x1 - p / 2 + 0.5) << 0),\r\n (a *= -1)),\r\n (this.bounds = { x1: b, y1: e - p / 2, x2: l, y2: h + p / 2 }),\r\n this.ctx.moveTo(b, e),\r\n 'straight' === this.type ||\r\n ('left' === this.scaleBreaks.parent._position && 0 >= a) ||\r\n ('right' === this.scaleBreaks.parent._position && 0 <= a))\r\n )\r\n this.ctx.lineTo(l, e), this.ctx.lineTo(l, h), this.ctx.lineTo(b, h);\r\n else if ('wavy' === this.type) {\r\n n = b;\r\n k = e;\r\n f = 0.5;\r\n m = (l - n) / a / 3;\r\n for (q = 0; q < m; q++)\r\n this.ctx.bezierCurveTo(\r\n n + a,\r\n k + f * a,\r\n n + 2 * a,\r\n k + f * a,\r\n n + 3 * a,\r\n k\r\n ),\r\n (n += 3 * a),\r\n (f *= -1);\r\n this.ctx.bezierCurveTo(\r\n n + a,\r\n k + f * a,\r\n n + 2 * a,\r\n k + f * a,\r\n n + 3 * a,\r\n k\r\n );\r\n k = h;\r\n f *= -1;\r\n this.ctx.lineTo(n, k);\r\n for (q = 0; q < m; q++)\r\n this.ctx.bezierCurveTo(\r\n n - a,\r\n k + f * a,\r\n n - 2 * a,\r\n k + f * a,\r\n n - 3 * a,\r\n k\r\n ),\r\n (n -= 3 * a),\r\n (f *= -1);\r\n } else if ('zigzag' === this.type) {\r\n f = 1;\r\n k = e - a;\r\n n = b + a;\r\n m = (l - n) / a / 2;\r\n for (q = 0; q < m; q++)\r\n this.ctx.lineTo(n, k), (k += 2 * f * a), (n += 2 * a), (f *= -1);\r\n this.ctx.lineTo(n, k);\r\n k += h - e;\r\n for (q = 0; q < m + 1; q++)\r\n this.ctx.lineTo(n, k), (k += 2 * f * a), (n -= 2 * a), (f *= -1);\r\n this.ctx.lineTo(n + a, k + f * a);\r\n }\r\n 0 < p && this.ctx.stroke();\r\n this.ctx.closePath();\r\n this.ctx.globalAlpha = this.fillOpacity;\r\n this.ctx.globalCompositeOperation = 'destination-over';\r\n this.ctx.fill();\r\n this.ctx.restore();\r\n this.ctx.globalAlpha = c;\r\n this.ctx = d;\r\n }\r\n };\r\n qa(P, $);\r\n P.prototype.createUserOptions = function (a) {\r\n if ('undefined' !== typeof a || this.options._isPlaceholder) {\r\n var d = 0;\r\n this.parent.options._isPlaceholder && this.parent.createUserOptions();\r\n this.options._isPlaceholder ||\r\n (Da(this.parent.stripLines),\r\n (d = this.parent.options.stripLines.indexOf(this.options)));\r\n this.options = 'undefined' === typeof a ? {} : a;\r\n this.parent.options.stripLines[d] = this.options;\r\n }\r\n };\r\n P.prototype.render = function () {\r\n this.ctx.save();\r\n var a = this.parent.getPixelCoordinatesOnAxis(this.value),\r\n d = Math.abs(\r\n 'pixel' === this._thicknessType\r\n ? this.thickness\r\n : Math.abs(\r\n this.parent.convertValueToPixel(this.endValue) -\r\n this.parent.convertValueToPixel(this.startValue)\r\n )\r\n );\r\n if (0 < d) {\r\n var c = null === this.opacity ? 1 : this.opacity;\r\n this.ctx.strokeStyle = this.color;\r\n this.ctx.beginPath();\r\n var b = this.ctx.globalAlpha;\r\n this.ctx.globalAlpha = c;\r\n Q(this.id);\r\n var e, f, h, n;\r\n this.ctx.lineWidth = d;\r\n this.ctx.setLineDash && this.ctx.setLineDash(J(this.lineDashType, d));\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n )\r\n (e = f = 1 === this.ctx.lineWidth % 2 ? (a.x << 0) + 0.5 : a.x << 0),\r\n (h = this.chart.plotArea.y1),\r\n (n = this.chart.plotArea.y2),\r\n (this.bounds = { x1: e - d / 2, y1: h, x2: f + d / 2, y2: n });\r\n else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n )\r\n (h = n = 1 === this.ctx.lineWidth % 2 ? (a.y << 0) + 0.5 : a.y << 0),\r\n (e = this.chart.plotArea.x1),\r\n (f = this.chart.plotArea.x2),\r\n (this.bounds = { x1: e, y1: h - d / 2, x2: f, y2: n + d / 2 });\r\n this.ctx.moveTo(e, h);\r\n this.ctx.lineTo(f, n);\r\n this.ctx.stroke();\r\n this.ctx.globalAlpha = b;\r\n }\r\n this.ctx.restore();\r\n };\r\n qa(ba, $);\r\n ba.prototype.showAt = function (a) {\r\n if (!this.enabled) return !1;\r\n var d = this.chart,\r\n c = !1;\r\n d.resetOverlayedCanvas();\r\n d.clearedOverlayedCanvas = this.parent.type;\r\n this.chart.renderCrosshairs(this.parent);\r\n if ('xySwapped' === d.plotInfo.axisPlacement)\r\n if ('bottom' === this.parent._position)\r\n for (var b = 0; b < d.axisY.length; b++)\r\n this.parent === d.axisY[b] &&\r\n (d.axisY[b]._crosshairValue =\r\n a >= d.axisY[b].viewportMinimum &&\r\n a <= d.axisY[b].viewportMaximum\r\n ? a\r\n : null);\r\n else if ('top' === this.parent._position)\r\n for (b = 0; b < d.axisY2.length; b++)\r\n this.parent === d.axisY2[b] &&\r\n (d.axisY2[b]._crosshairValue =\r\n a >= d.axisY2[b].viewportMinimum &&\r\n a <= d.axisY2[b].viewportMaximum\r\n ? a\r\n : null);\r\n else if ('left' === this.parent._position)\r\n for (b = 0; b < d.axisX.length; b++)\r\n this.parent === d.axisX[b] &&\r\n (d.axisX[b]._crosshairValue =\r\n a >= d.axisX[b].viewportMinimum &&\r\n a <= d.axisX[b].viewportMaximum\r\n ? a\r\n : null);\r\n else {\r\n if ('right' === this.parent._position)\r\n for (b = 0; b < d.axisX2.length; b++)\r\n this.parent === d.axisX2[b] &&\r\n (d.axisX2[b]._crosshairValue =\r\n a >= d.axisX2[b].viewportMinimum &&\r\n a <= d.axisX2[b].viewportMaximum\r\n ? a\r\n : null);\r\n }\r\n else if ('bottom' === this.parent._position)\r\n for (b = 0; b < d.axisX.length; b++)\r\n this.parent === d.axisX[b] &&\r\n (d.axisX[b]._crosshairValue =\r\n a >= d.axisX[b].viewportMinimum && a <= d.axisX[b].viewportMaximum\r\n ? a\r\n : null);\r\n else if ('top' === this.parent._position)\r\n for (b = 0; b < d.axisX2.length; b++)\r\n this.parent === d.axisX2[b] &&\r\n (d.axisX2[b]._crosshairValue =\r\n a >= d.axisX2[b].viewportMinimum &&\r\n a <= d.axisX2[b].viewportMaximum\r\n ? a\r\n : null);\r\n else if ('left' === this.parent._position)\r\n for (b = 0; b < d.axisY.length; b++)\r\n this.parent === d.axisY[b] &&\r\n (d.axisY[b]._crosshairValue =\r\n a >= d.axisY[b].viewportMinimum && a <= d.axisY[b].viewportMaximum\r\n ? a\r\n : null);\r\n else if ('right' === this.parent._position)\r\n for (b = 0; b < d.axisY2.length; b++)\r\n this.parent === d.axisY2[b] &&\r\n (d.axisY2[b]._crosshairValue =\r\n a >= d.axisY2[b].viewportMinimum &&\r\n a <= d.axisY2[b].viewportMaximum\r\n ? a\r\n : null);\r\n for (b = 0; b < d.axisX.length; b++)\r\n (a = d.axisX[b]._crosshairValue),\r\n d.axisX[b].crosshair &&\r\n d.axisX[b].crosshair.enabled &&\r\n !r(a) &&\r\n a >= d.axisX[b].viewportMinimum &&\r\n a <= d.axisX[b].viewportMaximum &&\r\n (d.axisX[b].showCrosshair(a),\r\n (d.axisX[b].crosshair._updatedValue = a),\r\n this === d.axisX[b].crosshair && (c = !0));\r\n for (b = 0; b < d.axisX2.length; b++)\r\n (a = d.axisX2[b]._crosshairValue),\r\n d.axisX2[b].crosshair &&\r\n d.axisX2[b].crosshair.enabled &&\r\n !r(a) &&\r\n a >= d.axisX2[b].viewportMinimum &&\r\n a <= d.axisX2[b].viewportMaximum &&\r\n (d.axisX2[b].showCrosshair(a),\r\n (d.axisX2[b].crosshair._updatedValue = a),\r\n this === d.axisX2[b].crosshair && (c = !0));\r\n for (b = 0; b < d.axisY.length; b++)\r\n (a = d.axisY[b]._crosshairValue),\r\n d.axisY[b].crosshair &&\r\n d.axisY[b].crosshair.enabled &&\r\n !r(a) &&\r\n a >= d.axisY[b].viewportMinimum &&\r\n a <= d.axisY[b].viewportMaximum &&\r\n (d.axisY[b].showCrosshair(a),\r\n (d.axisY[b].crosshair._updatedValue = a),\r\n this === d.axisY[b].crosshair && (c = !0));\r\n for (b = 0; b < d.axisY2.length; b++)\r\n (a = d.axisY2[b]._crosshairValue),\r\n d.axisY2[b].crosshair &&\r\n d.axisY2[b].crosshair.enabled &&\r\n !r(a) &&\r\n a >= d.axisY2[b].viewportMinimum &&\r\n a <= d.axisY2[b].viewportMaximum &&\r\n (d.axisY2[b].showCrosshair(a),\r\n (d.axisY2[b].crosshair._updatedValue = a),\r\n this === d.axisY2[b].crosshair && (c = !0));\r\n this.chart.toolTip &&\r\n this.chart.toolTip._entries &&\r\n this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);\r\n return c;\r\n };\r\n ba.prototype.hide = function () {\r\n this.chart.resetOverlayedCanvas();\r\n this.chart.renderCrosshairs(this.parent);\r\n this._hidden = !0;\r\n };\r\n ba.prototype.render = function (a, d, c) {\r\n var b,\r\n e,\r\n f,\r\n h,\r\n n = null,\r\n w = null,\r\n k = null,\r\n m = '';\r\n if (!this.valueFormatString)\r\n if ('dateTime' === this.parent.valueType)\r\n this.valueFormatString = this.parent.valueFormatString;\r\n else {\r\n var p = 0,\r\n p =\r\n 'xySwapped' === this.chart.plotInfo.axisPlacement\r\n ? 50 < this.parent.range\r\n ? 0\r\n : 500 < this.chart.width && 25 > this.parent.range\r\n ? 2\r\n : Math.floor(\r\n Math.abs(Math.log(this.parent.range) / Math.LN10)\r\n ) +\r\n (5 > this.parent.range ? 2 : 10 > this.parent.range ? 1 : 0)\r\n : 50 < this.parent.range\r\n ? 0\r\n : Math.floor(\r\n Math.abs(Math.log(this.parent.range) / Math.LN10)\r\n ) +\r\n (5 > this.parent.range ? 2 : 10 > this.parent.range ? 1 : 0);\r\n this.valueFormatString = A.generateValueFormatString(\r\n this.parent.range,\r\n p\r\n );\r\n }\r\n var k = null === this.opacity ? 1 : this.opacity,\r\n p = Math.abs(\r\n 'pixel' === this._thicknessType\r\n ? this.thickness\r\n : this.parent.conversionParameters.pixelPerUnit * this.thickness\r\n ),\r\n q = this.chart.overlaidCanvasCtx,\r\n g = q.globalAlpha;\r\n q.globalAlpha = k;\r\n q.beginPath();\r\n q.strokeStyle = this.color;\r\n q.lineWidth = p;\r\n q.save();\r\n this.labelFontSize = Math.abs(\r\n r(this.options.labelFontSize)\r\n ? this.parent.labelFontSize\r\n : this.labelFontSize\r\n );\r\n this.labelMaxWidth = r(this.options.labelMaxWidth)\r\n ? 0.3 * this.chart.width\r\n : this.labelMaxWidth;\r\n this.labelMaxHeight =\r\n r(this.options.labelWrap) || this.labelWrap\r\n ? 0.3 * this.chart.height\r\n : 2 * this.labelFontSize;\r\n 0 < p && q.setLineDash && q.setLineDash(J(this.lineDashType, p));\r\n k = new ka(q, {\r\n x: 0,\r\n y: 0,\r\n padding: { top: 2, right: 3, bottom: 2, left: 4 },\r\n backgroundColor: this.labelBackgroundColor,\r\n borderColor: this.labelBorderColor,\r\n borderThickness: this.labelBorderThickness,\r\n cornerRadius: this.labelCornerRadius,\r\n maxWidth: this.labelMaxWidth,\r\n maxHeight: this.labelMaxHeight,\r\n angle: this.labelAngle,\r\n text: m,\r\n horizontalAlign: 'left',\r\n fontSize: this.labelFontSize,\r\n fontFamily: this.labelFontFamily,\r\n fontWeight: this.labelFontWeight,\r\n fontColor: this.labelFontColor,\r\n fontStyle: this.labelFontStyle,\r\n textBaseline: 'middle',\r\n });\r\n if (this.snapToDataPoint) {\r\n var t = 0,\r\n m = [];\r\n if ('xySwapped' === this.chart.plotInfo.axisPlacement) {\r\n var v = null;\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n )\r\n t = this.parent.dataSeries[0].axisX.convertPixelToValue({ y: d });\r\n else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n )\r\n t = this.parent.convertPixelToValue({ y: d });\r\n for (var B = 0; B < this.parent.dataSeries.length; B++)\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n ((v.dataSeries = this.parent.dataSeries[B]),\r\n null !== v.dataPoint.y && v.dataSeries.visible && m.push(v));\r\n v = null;\r\n if (0 === m.length) return;\r\n m.sort(function (a, b) {\r\n return a.distance - b.distance;\r\n });\r\n v = Math.abs(a - this.parent.convertValueToPixel(m[0].dataPoint.y));\r\n B = 0;\r\n if (\r\n 'rangeBar' === m[0].dataSeries.type ||\r\n 'error' === m[0].dataSeries.type\r\n )\r\n for (\r\n var v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[B].dataPoint.y[0])\r\n ),\r\n u = 0,\r\n t = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (var y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y)\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else if ('stackedBar' === m[0].dataSeries.type)\r\n for (\r\n var v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n x = (u = 0),\r\n t = (B = 0);\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (x += m[t].dataPoint.y),\r\n (u = Math.abs(a - this.parent.convertValueToPixel(x))),\r\n u < v && ((v = u), (B = t));\r\n else if ('stackedBar100' === m[0].dataSeries.type)\r\n for (\r\n var v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n z = (x = u = 0),\r\n t = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (x += m[t].dataPoint.y),\r\n (z = m[t].dataPoint.x.getTime\r\n ? m[t].dataPoint.x.getTime()\r\n : m[t].dataPoint.x),\r\n (z = 100 * (x / m[t].dataSeries.plotUnit.dataPointYSums[z])),\r\n (u = Math.abs(a - this.parent.convertValueToPixel(z))),\r\n u < v && ((v = u), (B = t));\r\n else\r\n for (\r\n v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n t = B = u = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(m[t].dataPoint.y)\r\n )),\r\n u < v && ((v = u), (B = t));\r\n y = m[B];\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n ) {\r\n b = 0;\r\n if (\r\n 'rangeBar' === this.parent.dataSeries[B].type ||\r\n 'error' === this.parent.dataSeries[B].type\r\n ) {\r\n v = Math.abs(\r\n a - this.parent.convertValueToPixel(y.dataPoint.y[0])\r\n );\r\n for (t = u = 0; t < y.dataPoint.y.length; t++)\r\n (u = Math.abs(\r\n a - this.parent.convertValueToPixel(y.dataPoint.y[t])\r\n )),\r\n u < v && ((v = u), (b = t));\r\n n =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(y.dataPoint.y[b]) << 0) +\r\n 0.5\r\n : this.parent.convertValueToPixel(y.dataPoint.y[b]) << 0;\r\n this.value = y.dataPoint.y[b];\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.y[b],\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y[b] : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n } else if ('stackedBar' === this.parent.dataSeries[B].type) {\r\n v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n );\r\n x = u = 0;\r\n for (t = B; 0 <= t; t--)\r\n (x += m[t].dataPoint.y),\r\n (u = Math.abs(a - this.parent.convertValueToPixel(x))),\r\n u < v && ((v = u), (b = t));\r\n n =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(x) << 0) + 0.5\r\n : this.parent.convertValueToPixel(x) << 0;\r\n this.value = x;\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.y,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n } else if ('stackedBar100' === this.parent.dataSeries[B].type) {\r\n v = Math.abs(\r\n a - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n );\r\n z = x = u = 0;\r\n for (t = B; 0 <= t; t--)\r\n (x += m[t].dataPoint.y),\r\n (z = m[t].dataPoint.x.getTime\r\n ? m[t].dataPoint.x.getTime()\r\n : m[t].dataPoint.x),\r\n (z = 100 * (x / m[t].dataSeries.plotUnit.dataPointYSums[z])),\r\n (u = Math.abs(a - this.parent.convertValueToPixel(z))),\r\n u < v && ((v = u), (b = t));\r\n n =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(z) << 0) + 0.5\r\n : this.parent.convertValueToPixel(z) << 0;\r\n this.value = z;\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: z,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? z : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n } else\r\n (n =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(y.dataPoint.y) << 0) + 0.5\r\n : this.parent.convertValueToPixel(y.dataPoint.y) << 0),\r\n (this.value = y.dataPoint.y),\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.y,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label);\r\n b = e = n;\r\n f = this.chart.plotArea.y1;\r\n h = this.chart.plotArea.y2;\r\n this.bounds = { x1: b - p / 2, y1: f, x2: e + p / 2, y2: h };\r\n k.x = b - k.measureText().width / 2;\r\n k.x + k.width > this.chart.bounds.x2\r\n ? (k.x = this.chart.bounds.x2 - k.width)\r\n : k.x < this.chart.bounds.x1 && (k.x = this.chart.bounds.x1);\r\n k.y =\r\n this.parent.lineCoordinates.y2 +\r\n ('top' === this.parent._position\r\n ? -k.height + this.parent.tickLength\r\n : k.fontSize / 2) +\r\n 2;\r\n k.y + k.height > this.chart.bounds.y2\r\n ? (k.y = this.chart.bounds.y2 - k.height)\r\n : k.y < this.chart.bounds.y1 && (k.y = this.chart.bounds.y1);\r\n } else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n ) {\r\n f = h = w =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(y.dataPoint.x) << 0) + 0.5\r\n : this.parent.convertValueToPixel(y.dataPoint.x) << 0;\r\n b = this.chart.plotArea.x1;\r\n e = this.chart.plotArea.x2;\r\n this.bounds = { x1: b, y1: f - p / 2, x2: e, y2: h + p / 2 };\r\n z = !1;\r\n if (this.parent.labels)\r\n for (\r\n m = Math.ceil(this.parent.interval), t = 0;\r\n t < this.parent.viewportMaximum;\r\n t += m\r\n )\r\n if (this.parent.labels[t]) z = !0;\r\n else {\r\n z = !1;\r\n break;\r\n }\r\n if (z) {\r\n if ('axisX' === this.parent.type)\r\n for (\r\n t = this.parent.convertPixelToValue({ y: d }),\r\n v = null,\r\n B = 0;\r\n B < this.parent.dataSeries.length;\r\n B++\r\n )\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? v.dataPoint.label\r\n : this.label);\r\n } else\r\n 'dateTime' === this.parent.valueType\r\n ? (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? Ba(\r\n y.dataPoint.x,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label)\r\n : 'number' === this.parent.valueType &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n y.dataPoint.x,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label);\r\n this.value = y.dataPoint.x;\r\n k.y = h + k.fontSize / 2 - k.measureText().height / 2 + 2;\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1\r\n ? (k.y = this.chart.bounds.y1 + k.fontSize / 2 + 2)\r\n : k.y + k.measureText().height - k.fontSize / 2 >\r\n this.chart.bounds.y2 &&\r\n (k.y =\r\n this.chart.bounds.y2 -\r\n k.measureText().height +\r\n k.fontSize / 2);\r\n 'left' === this.parent._position\r\n ? (k.x = this.parent.lineCoordinates.x2 - k.measureText().width)\r\n : 'right' === this.parent._position &&\r\n (k.x = this.parent.lineCoordinates.x2);\r\n }\r\n } else if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n ) {\r\n t = this.parent.convertPixelToValue({ x: a });\r\n for (B = 0; B < this.parent.dataSeries.length; B++)\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n ((v.dataSeries = this.parent.dataSeries[B]),\r\n null !== v.dataPoint.y && v.dataSeries.visible && m.push(v));\r\n if (0 === m.length) return;\r\n m.sort(function (a, b) {\r\n return a.distance - b.distance;\r\n });\r\n y = m[0];\r\n b = e = n =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(y.dataPoint.x) << 0) + 0.5\r\n : this.parent.convertValueToPixel(y.dataPoint.x) << 0;\r\n f = this.chart.plotArea.y1;\r\n h = this.chart.plotArea.y2;\r\n this.bounds = { x1: b - p / 2, y1: f, x2: e + p / 2, y2: h };\r\n z = !1;\r\n if (this.parent.labels)\r\n for (\r\n m = Math.ceil(this.parent.interval), t = 0;\r\n t < this.parent.viewportMaximum;\r\n t += m\r\n )\r\n if (this.parent.labels[t]) z = !0;\r\n else {\r\n z = !1;\r\n break;\r\n }\r\n if (z) {\r\n if ('axisX' === this.parent.type)\r\n for (\r\n t = this.parent.convertPixelToValue({ x: a }), v = null, B = 0;\r\n B < this.parent.dataSeries.length;\r\n B++\r\n )\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? v.dataPoint.label\r\n : this.label);\r\n } else\r\n 'dateTime' === this.parent.valueType\r\n ? (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? Ba(\r\n y.dataPoint.x,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label)\r\n : 'number' === this.parent.valueType &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.x,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n y.dataPoint.x,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label);\r\n this.value = y.dataPoint.x;\r\n k.x = b - k.measureText().width / 2;\r\n k.x + k.width > this.chart.bounds.x2 &&\r\n (k.x = this.chart.bounds.x2 - k.width);\r\n k.x < this.chart.bounds.x1 && (k.x = this.chart.bounds.x1);\r\n 'bottom' === this.parent._position\r\n ? (k.y = this.parent.lineCoordinates.y2 + k.fontSize / 2 + 2)\r\n : 'top' === this.parent._position &&\r\n (k.y =\r\n this.parent.lineCoordinates.y1 - k.height + k.fontSize / 2 + 2);\r\n } else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n ) {\r\n !r(this.parent.dataSeries) &&\r\n 0 < this.parent.dataSeries.length &&\r\n (t = this.parent.dataSeries[0].axisX.convertPixelToValue({ x: a }));\r\n for (B = 0; B < this.parent.dataSeries.length; B++)\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n ((v.dataSeries = this.parent.dataSeries[B]),\r\n null !== v.dataPoint.y && v.dataSeries.visible && m.push(v));\r\n if (0 === m.length) return;\r\n m.sort(function (a, b) {\r\n return a.distance - b.distance;\r\n });\r\n B = 0;\r\n if (\r\n 'rangeColumn' === m[0].dataSeries.type ||\r\n 'rangeArea' === m[0].dataSeries.type ||\r\n 'error' === m[0].dataSeries.type ||\r\n 'rangeSplineArea' === m[0].dataSeries.type ||\r\n 'candlestick' === m[0].dataSeries.type ||\r\n 'ohlc' === m[0].dataSeries.type ||\r\n 'boxAndWhisker' === m[0].dataSeries.type\r\n )\r\n for (\r\n v = Math.abs(\r\n d - this.parent.convertValueToPixel(m[0].dataPoint.y[0])\r\n ),\r\n t = u = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y)\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else if (\r\n 'stackedColumn' === m[0].dataSeries.type ||\r\n 'stackedArea' === m[0].dataSeries.type\r\n )\r\n for (\r\n v = Math.abs(\r\n d - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n t = x = u = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (x += m[t].dataPoint.y),\r\n (u = Math.abs(d - this.parent.convertValueToPixel(x))),\r\n u < v && ((v = u), (B = t));\r\n else if (\r\n 'stackedColumn100' === m[0].dataSeries.type ||\r\n 'stackedArea100' === m[0].dataSeries.type\r\n )\r\n for (\r\n v = Math.abs(\r\n d - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n t = z = x = u = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (x += m[t].dataPoint.y),\r\n (z = m[t].dataPoint.x.getTime\r\n ? m[t].dataPoint.x.getTime()\r\n : m[t].dataPoint.x),\r\n (z = 100 * (x / m[t].dataSeries.plotUnit.dataPointYSums[z])),\r\n (u = Math.abs(d - this.parent.convertValueToPixel(z))),\r\n u < v && ((v = u), (B = t));\r\n else\r\n for (\r\n v = Math.abs(\r\n d - this.parent.convertValueToPixel(m[0].dataPoint.y)\r\n ),\r\n t = u = 0;\r\n t < m.length;\r\n t++\r\n )\r\n if (m[t].dataPoint.y && m[t].dataPoint.y.length)\r\n for (y = 0; y < m[t].dataPoint.y.length; y++)\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y[y])\r\n )),\r\n u < v && ((v = u), (B = t));\r\n else\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(m[t].dataPoint.y)\r\n )),\r\n u < v && ((v = u), (B = t));\r\n y = m[B];\r\n b = 0;\r\n if (\r\n 'rangeColumn' === this.parent.dataSeries[B].type ||\r\n 'rangeArea' === this.parent.dataSeries[B].type ||\r\n 'error' === this.parent.dataSeries[B].type ||\r\n 'rangeSplineArea' === this.parent.dataSeries[B].type ||\r\n 'candlestick' === this.parent.dataSeries[B].type ||\r\n 'ohlc' === this.parent.dataSeries[B].type ||\r\n 'boxAndWhisker' === this.parent.dataSeries[B].type\r\n ) {\r\n v = Math.abs(d - this.parent.convertValueToPixel(y.dataPoint.y[0]));\r\n for (t = u = 0; t < y.dataPoint.y.length; t++)\r\n (u = Math.abs(\r\n d - this.parent.convertValueToPixel(y.dataPoint.y[t])\r\n )),\r\n u < v && ((v = u), (b = t));\r\n w =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(y.dataPoint.y[b]) << 0) + 0.5\r\n : this.parent.convertValueToPixel(y.dataPoint.y[b]) << 0;\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.y[b],\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y[b] : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n this.value = y.dataPoint.y[b];\r\n } else if (\r\n 'stackedColumn' === this.parent.dataSeries[B].type ||\r\n 'stackedArea' === this.parent.dataSeries[B].type\r\n ) {\r\n v = Math.abs(d - this.parent.convertValueToPixel(m[0].dataPoint.y));\r\n x = u = 0;\r\n for (t = B; 0 <= t; t--)\r\n (x += m[t].dataPoint.y),\r\n (u = Math.abs(d - this.parent.convertValueToPixel(x))),\r\n u < v && ((v = u), (b = t));\r\n w =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(x) << 0) + 0.5\r\n : this.parent.convertValueToPixel(x) << 0;\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataPoint.y,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n this.value = x;\r\n } else if (\r\n 'stackedColumn100' === this.parent.dataSeries[B].type ||\r\n 'stackedArea100' === this.parent.dataSeries[B].type\r\n ) {\r\n v = Math.abs(d - this.parent.convertValueToPixel(m[0].dataPoint.y));\r\n x = u = 0;\r\n for (t = B; 0 <= t; t--)\r\n (x += m[t].dataPoint.y),\r\n (z = m[t].dataPoint.x.getTime\r\n ? m[t].dataPoint.x.getTime()\r\n : m[t].dataPoint.x),\r\n (z = 100 * (x / m[t].dataSeries.plotUnit.dataPointYSums[z])),\r\n (u = Math.abs(d - this.parent.convertValueToPixel(z))),\r\n u < v && ((v = u), (b = t));\r\n w =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(z) << 0) + 0.5\r\n : this.parent.convertValueToPixel(z) << 0;\r\n k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: z,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? z : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label;\r\n this.value = z;\r\n } else\r\n 'waterfall' === this.parent.dataSeries[B].type\r\n ? ((w =\r\n 1 === q.lineWidth % 2\r\n ? (this.parent.convertValueToPixel(\r\n y.dataSeries.dataPointEOs[y.index].cumulativeSum\r\n ) <<\r\n 0) +\r\n 0.5\r\n : this.parent.convertValueToPixel(\r\n y.dataSeries.dataPointEOs[y.index].cumulativeSum\r\n ) << 0),\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: y.dataSeries.dataPointEOs[y.index].cumulativeSum,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c)\r\n ? y.dataSeries.dataPointEOs[y.index].cumulativeSum\r\n : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label),\r\n (this.value = y.dataSeries.dataPointEOs[y.index].cumulativeSum))\r\n : ((w =\r\n 1 === q.lineWidth % 2\r\n ? (r(a)\r\n ? d\r\n : this.parent.convertValueToPixel(y.dataPoint.y) << 0) +\r\n 0.5\r\n : r(a)\r\n ? d\r\n : this.parent.convertValueToPixel(y.dataPoint.y) << 0),\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? y.dataPoint.y : c,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? y.dataPoint.y : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label),\r\n (this.value = y.dataPoint.y));\r\n f = h = w;\r\n b = this.chart.plotArea.x1;\r\n e = this.chart.plotArea.x2;\r\n this.bounds = { x1: b, y1: f - p / 2, x2: e, y2: h + p / 2 };\r\n k.y = h + k.fontSize / 2 - k.measureText().height / 2 + 2;\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1\r\n ? (k.y = this.chart.bounds.y1 + k.fontSize / 2 + 2)\r\n : k.y + k.measureText().height - k.fontSize / 2 >\r\n this.chart.bounds.y2 &&\r\n (k.y =\r\n this.chart.bounds.y2 - k.measureText().height + k.fontSize / 2);\r\n 'left' === this.parent._position\r\n ? (k.x = this.parent.lineCoordinates.x2 - k.measureText().width)\r\n : 'right' === this.parent._position &&\r\n (k.x = this.parent.lineCoordinates.x2);\r\n }\r\n m = null;\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n )\r\n 'top' === this.parent._position &&\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1 &&\r\n (k.y = this.chart.bounds.y1 + k.fontSize / 2),\r\n 'bottom' === this.parent._position &&\r\n this.parent.lineCoordinates.y2 -\r\n k.fontSize / 2 +\r\n k.measureText().height >\r\n this.chart.bounds.y2 &&\r\n (k.y = this.chart.bounds.y2 - k.height + k.fontSize / 2 + 2),\r\n b >=\r\n this.parent.convertValueToPixel(\r\n this.parent.reversed\r\n ? this.parent.viewportMaximum\r\n : this.parent.viewportMinimum\r\n ) &&\r\n e <=\r\n this.parent.convertValueToPixel(\r\n this.parent.reversed\r\n ? this.parent.viewportMinimum\r\n : this.parent.viewportMaximum\r\n ) &&\r\n (0 < p &&\r\n (q.moveTo(b, f),\r\n q.lineTo(e, h),\r\n q.stroke(),\r\n (this._hidden = !1)),\r\n q.restore());\r\n if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n )\r\n 'left' === this.parent._position &&\r\n k.x < this.chart.bounds.x1 &&\r\n (k.x = this.chart.bounds.x1),\r\n 'right' === this.parent._position &&\r\n k.x + k.measureText().width > this.chart.bounds.x2 &&\r\n (k.x = this.chart.bounds.x2 - k.measureText().width),\r\n h >=\r\n this.parent.convertValueToPixel(\r\n this.parent.reversed\r\n ? this.parent.viewportMinimum\r\n : this.parent.viewportMaximum\r\n ) &&\r\n f <=\r\n this.parent.convertValueToPixel(\r\n this.parent.reversed\r\n ? this.parent.viewportMaximum\r\n : this.parent.viewportMinimum\r\n ) &&\r\n (0 < p &&\r\n (q.moveTo(b, f),\r\n q.lineTo(e, h),\r\n q.stroke(),\r\n (this._hidden = !1)),\r\n q.restore());\r\n } else {\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n )\r\n (b = e = n = 1 === q.lineWidth % 2 ? (a << 0) + 0.5 : a << 0),\r\n (f = this.chart.plotArea.y1),\r\n (h = this.chart.plotArea.y2),\r\n (this.bounds = { x1: b - p / 2, y1: f, x2: e + p / 2, y2: h });\r\n else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n )\r\n (f = h = w = 1 === q.lineWidth % 2 ? (d << 0) + 0.5 : d << 0),\r\n (b = this.chart.plotArea.x1),\r\n (e = this.chart.plotArea.x2),\r\n (this.bounds = { x1: b, y1: f - p / 2, x2: e, y2: h + p / 2 });\r\n if ('xySwapped' === this.chart.plotInfo.axisPlacement)\r\n if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n ) {\r\n z = !1;\r\n if (this.parent.labels)\r\n for (\r\n m = Math.ceil(this.parent.interval), t = 0;\r\n t < this.parent.viewportMaximum;\r\n t += m\r\n )\r\n if (this.parent.labels[t]) z = !0;\r\n else {\r\n z = !1;\r\n break;\r\n }\r\n if (z) {\r\n if ('axisX' === this.parent.type)\r\n for (\r\n t = this.parent.convertPixelToValue({ y: d }),\r\n v = null,\r\n B = 0;\r\n B < this.parent.dataSeries.length;\r\n B++\r\n )\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(a) : c,\r\n })\r\n : r(this.options.label)\r\n ? v.dataPoint.label\r\n : this.label);\r\n } else\r\n 'dateTime' === this.parent.valueType\r\n ? (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(d) : c,\r\n })\r\n : r(this.options.label)\r\n ? Ba(\r\n r(c) ? this.parent.convertPixelToValue(d) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label)\r\n : 'number' === this.parent.valueType &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(d) : c,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? this.parent.convertPixelToValue(d) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label);\r\n k.y = d + k.fontSize / 2 - k.measureText().height / 2 + 2;\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1\r\n ? (k.y = this.chart.bounds.y1 + k.fontSize / 2 + 2)\r\n : k.y + k.measureText().height - k.fontSize / 2 >\r\n this.chart.bounds.y2 &&\r\n (k.y =\r\n this.chart.bounds.y2 -\r\n k.measureText().height +\r\n k.fontSize / 2);\r\n 'left' === this.parent._position\r\n ? (k.x = this.parent.lineCoordinates.x1 - k.measureText().width)\r\n : 'right' === this.parent._position &&\r\n (k.x = this.parent.lineCoordinates.x2);\r\n } else {\r\n if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n )\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(a) : c,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? this.parent.convertPixelToValue(a) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label),\r\n (k.x = b - k.measureText().width / 2),\r\n k.x + k.width > this.chart.bounds.x2 &&\r\n (k.x = this.chart.bounds.x2 - k.width),\r\n k.x < this.chart.bounds.x1 && (k.x = this.chart.bounds.x1),\r\n 'bottom' === this.parent._position\r\n ? (k.y = this.parent.lineCoordinates.y2 + k.fontSize / 2 + 2)\r\n : 'top' === this.parent._position &&\r\n (k.y =\r\n this.parent.lineCoordinates.y1 -\r\n k.height +\r\n k.fontSize / 2 +\r\n 2);\r\n }\r\n else if (\r\n 'bottom' === this.parent._position ||\r\n 'top' === this.parent._position\r\n ) {\r\n z = !1;\r\n m = '';\r\n if (this.parent.labels)\r\n for (\r\n m = Math.ceil(this.parent.interval), t = 0;\r\n t < this.parent.viewportMaximum;\r\n t += m\r\n )\r\n if (this.parent.labels[t]) z = !0;\r\n else {\r\n z = !1;\r\n break;\r\n }\r\n if (z) {\r\n if ('axisX' === this.parent.type)\r\n for (\r\n t = this.parent.convertPixelToValue({ x: a }), v = null, B = 0;\r\n B < this.parent.dataSeries.length;\r\n B++\r\n )\r\n (v = this.parent.dataSeries[B].getDataPointAtX(t, !0)) &&\r\n 0 <= v.index &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(a) : c,\r\n })\r\n : r(this.options.label)\r\n ? r(c)\r\n ? v.dataPoint.label\r\n : c\r\n : this.label);\r\n } else\r\n 'dateTime' === this.parent.valueType\r\n ? (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(a) : c,\r\n })\r\n : r(this.options.label)\r\n ? Ba(\r\n r(c) ? this.parent.convertPixelToValue(a) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label)\r\n : 'number' === this.parent.valueType &&\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c)\r\n ? 0 < this.parent.dataSeries.length\r\n ? this.parent.convertPixelToValue(a)\r\n : ''\r\n : c,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? this.parent.convertPixelToValue(a) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label);\r\n k.x = b - k.measureText().width / 2;\r\n k.x + k.width > this.chart.bounds.x2 &&\r\n (k.x = this.chart.bounds.x2 - k.width);\r\n k.x < this.chart.bounds.x1 && (k.x = this.chart.bounds.x1);\r\n 'bottom' === this.parent._position\r\n ? (k.y = this.parent.lineCoordinates.y2 + k.fontSize / 2 + 2)\r\n : 'top' === this.parent._position &&\r\n (k.y =\r\n this.parent.lineCoordinates.y1 - k.height + k.fontSize / 2 + 2);\r\n } else if (\r\n 'left' === this.parent._position ||\r\n 'right' === this.parent._position\r\n )\r\n (k.text = this.labelFormatter\r\n ? this.labelFormatter({\r\n chart: this.chart,\r\n axis: this.parent.options,\r\n crosshair: this.options,\r\n value: r(c) ? this.parent.convertPixelToValue(d) : c,\r\n })\r\n : r(this.options.label)\r\n ? ha(\r\n r(c) ? this.parent.convertPixelToValue(d) : c,\r\n this.valueFormatString,\r\n this.chart._cultureInfo\r\n )\r\n : this.label),\r\n (k.y = d + k.fontSize / 2 - k.measureText().height / 2 + 2),\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1\r\n ? (k.y = this.chart.bounds.y1 + k.fontSize / 2 + 2)\r\n : k.y + k.measureText().height - k.fontSize / 2 >\r\n this.chart.bounds.y2 &&\r\n (k.y =\r\n this.chart.bounds.y2 -\r\n k.measureText().height +\r\n k.fontSize / 2),\r\n 'left' === this.parent._position\r\n ? (k.x = this.parent.lineCoordinates.x2 - k.measureText().width)\r\n : 'right' === this.parent._position &&\r\n (k.x = this.parent.lineCoordinates.x2);\r\n 'left' === this.parent._position && k.x < this.chart.bounds.x1\r\n ? (k.x = this.chart.bounds.x1)\r\n : 'right' === this.parent._position &&\r\n k.x + k.measureText().width > this.chart.bounds.x2\r\n ? (k.x = this.chart.bounds.x2 - k.measureText().width)\r\n : 'top' === this.parent._position &&\r\n k.y - k.fontSize / 2 < this.chart.bounds.y1\r\n ? (k.y = this.chart.bounds.y1 + k.fontSize / 2)\r\n : 'bottom' === this.parent._position &&\r\n this.parent.lineCoordinates.y2 -\r\n k.fontSize / 2 +\r\n k.measureText().height >\r\n this.chart.bounds.y2 &&\r\n (k.y = this.chart.bounds.y2 - k.height + k.fontSize / 2 + 2);\r\n 0 < p &&\r\n (q.moveTo(b, f), q.lineTo(e, h), q.stroke(), (this._hidden = !1));\r\n q.restore();\r\n this.value =\r\n 'bottom' === this.parent._position || 'top' === this.parent._position\r\n ? this.parent.convertPixelToValue(a)\r\n : this.parent.convertPixelToValue(d);\r\n }\r\n if ('bottom' === this.parent._position || 'top' === this.parent._position)\r\n this._updatedValue = this.parent.convertPixelToValue(n);\r\n if ('left' === this.parent._position || 'right' === this.parent._position)\r\n this._updatedValue = this.parent.convertPixelToValue(w);\r\n this._textBlock = k;\r\n r(c) || this.renderLabel();\r\n q.globalAlpha = g;\r\n };\r\n ba.prototype.renderLabel = function () {\r\n r(this._textBlock) ||\r\n r(this._textBlock.text) ||\r\n !(\r\n 'number' === typeof this._textBlock.text.valueOf() ||\r\n 0 < this._textBlock.text.length\r\n ) ||\r\n this._hidden ||\r\n this._textBlock.render(!0);\r\n };\r\n qa(Y, $);\r\n Y.prototype._initialize = function () {\r\n this.updateOption('updated');\r\n this.updateOption('hidden');\r\n if (this.enabled) {\r\n this.container = document.createElement('div');\r\n this.container.setAttribute('class', 'canvasjs-chart-tooltip');\r\n this.container.style.position = 'absolute';\r\n this.container.style.height = 'auto';\r\n this.container.style.boxShadow = '1px 1px 2px 2px rgba(0,0,0,0.1)';\r\n this.container.style.zIndex = '1000';\r\n this.container.style.pointerEvents = 'none';\r\n this.container.style.display = 'none';\r\n var a = document.createElement('div');\r\n a.style.width = 'auto';\r\n a.style.height = 'auto';\r\n a.style.minWidth = '50px';\r\n a.style.lineHeight = 'normal';\r\n a.style.margin = '0px 0px 0px 0px';\r\n a.style.padding = '5px';\r\n a.style.fontFamily = 'Calibri, Arial, Georgia, serif';\r\n a.style.fontWeight = 'normal';\r\n a.style.fontStyle = w ? 'italic' : 'normal';\r\n a.style.fontSize = '14px';\r\n a.style.color = '#000000';\r\n a.style.textShadow = '1px 1px 1px rgba(0, 0, 0, 0.1)';\r\n a.style.textAlign = 'left';\r\n a.style.border = '2px solid gray';\r\n a.style.background = w ? 'rgba(255,255,255,.9)' : 'rgb(255,255,255)';\r\n a.style.textIndent = '0px';\r\n a.style.whiteSpace = 'nowrap';\r\n a.style.borderRadius = '5px';\r\n a.style.MozUserSelect = 'none';\r\n a.style.WebkitUserSelect = 'none';\r\n a.style.msUserSelect = 'none';\r\n a.style.userSelect = 'none';\r\n w ||\r\n ((a.style.filter = 'alpha(opacity = 90)'),\r\n (a.style.filter =\r\n \"progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=135, Color='#666666')\"));\r\n a.innerText = 'Sample Tooltip';\r\n this.container.appendChild(a);\r\n this.contentDiv = this.container.firstChild;\r\n this.container.style.borderRadius = this.contentDiv.style.borderRadius;\r\n this.chart._canvasJSContainer.appendChild(this.container);\r\n }\r\n };\r\n Y.prototype.mouseMoveHandler = function (a, d) {\r\n (this._lastUpdated && 4 > new Date().getTime() - this._lastUpdated) ||\r\n ((this._lastUpdated = new Date().getTime()),\r\n this.chart.resetOverlayedCanvas(),\r\n this._updateToolTip(a, d));\r\n };\r\n Y.prototype._updateToolTip = function (a, d, c) {\r\n c = 'undefined' === typeof c ? !0 : c;\r\n this.container || this._initialize();\r\n this.enabled || this.hide();\r\n if (!this.chart.disableToolTip) {\r\n if ('undefined' === typeof a || 'undefined' === typeof d) {\r\n if (isNaN(this._prevX) || isNaN(this._prevY)) return;\r\n a = this._prevX;\r\n d = this._prevY;\r\n } else (this._prevX = a), (this._prevY = d);\r\n var b = null,\r\n e = null,\r\n f = [],\r\n h = 0;\r\n if (\r\n this.shared &&\r\n this.enabled &&\r\n 'none' !== this.chart.plotInfo.axisPlacement\r\n ) {\r\n var n = [];\r\n if (this.chart.axisX)\r\n for (var v = 0; v < this.chart.axisX.length; v++) {\r\n for (\r\n var h =\r\n 'xySwapped' === this.chart.plotInfo.axisPlacement\r\n ? this.chart.axisX[v].convertPixelToValue({ y: d })\r\n : this.chart.axisX[v].convertPixelToValue({ x: a }),\r\n k = null,\r\n b = 0;\r\n b < this.chart.axisX[v].dataSeries.length;\r\n b++\r\n )\r\n (k = this.chart.axisX[v].dataSeries[b].getDataPointAtX(h, c)) &&\r\n 0 <= k.index &&\r\n ((k.dataSeries = this.chart.axisX[v].dataSeries[b]),\r\n null !== k.dataPoint.y && k.dataSeries.visible && n.push(k));\r\n k = null;\r\n }\r\n if (this.chart.axisX2)\r\n for (v = 0; v < this.chart.axisX2.length; v++) {\r\n h =\r\n 'xySwapped' === this.chart.plotInfo.axisPlacement\r\n ? this.chart.axisX2[v].convertPixelToValue({ y: d })\r\n : this.chart.axisX2[v].convertPixelToValue({ x: a });\r\n k = null;\r\n for (b = 0; b < this.chart.axisX2[v].dataSeries.length; b++)\r\n (k = this.chart.axisX2[v].dataSeries[b].getDataPointAtX(\r\n h,\r\n c\r\n )) &&\r\n 0 <= k.index &&\r\n ((k.dataSeries = this.chart.axisX2[v].dataSeries[b]),\r\n null !== k.dataPoint.y && k.dataSeries.visible && n.push(k));\r\n k = null;\r\n }\r\n if (0 === n.length) return;\r\n n.sort(function (a, b) {\r\n return a.distance - b.distance;\r\n });\r\n c = n[0];\r\n for (b = 0; b < n.length; b++)\r\n n[b].dataPoint.x.valueOf() === c.dataPoint.x.valueOf() &&\r\n f.push(n[b]);\r\n n = null;\r\n } else {\r\n if ((b = this.chart.getDataPointAtXY(a, d, c)))\r\n (this.currentDataPointIndex = b.dataPointIndex),\r\n (this.currentSeriesIndex = b.dataSeries.index);\r\n else if (w)\r\n if (\r\n ((b = Za(a, d, this.chart._eventManager.ghostCtx)),\r\n 0 < b &&\r\n 'undefined' !== typeof this.chart._eventManager.objectMap[b])\r\n ) {\r\n b = this.chart._eventManager.objectMap[b];\r\n if ('legendItem' === b.objectType) return;\r\n this.currentSeriesIndex = b.dataSeriesIndex;\r\n this.currentDataPointIndex =\r\n 0 <= b.dataPointIndex ? b.dataPointIndex : -1;\r\n } else this.currentDataPointIndex = -1;\r\n else this.currentDataPointIndex = -1;\r\n if (0 <= this.currentSeriesIndex) {\r\n e = this.chart.data[this.currentSeriesIndex];\r\n k = {};\r\n if (0 <= this.currentDataPointIndex)\r\n (b = e.dataPoints[this.currentDataPointIndex]),\r\n (k.dataSeries = e),\r\n (k.dataPoint = b),\r\n (k.index = this.currentDataPointIndex),\r\n (k.distance = Math.abs(b.x - h)),\r\n 'waterfall' === e.type &&\r\n ((k.cumulativeSumYStartValue =\r\n e.dataPointEOs[\r\n this.currentDataPointIndex\r\n ].cumulativeSumYStartValue),\r\n (k.cumulativeSum =\r\n e.dataPointEOs[this.currentDataPointIndex].cumulativeSum));\r\n else {\r\n if (\r\n !this.enabled ||\r\n ('line' !== e.type &&\r\n 'stepLine' !== e.type &&\r\n 'spline' !== e.type &&\r\n 'area' !== e.type &&\r\n 'stepArea' !== e.type &&\r\n 'splineArea' !== e.type &&\r\n 'stackedArea' !== e.type &&\r\n 'stackedArea100' !== e.type &&\r\n 'rangeArea' !== e.type &&\r\n 'rangeSplineArea' !== e.type &&\r\n 'candlestick' !== e.type &&\r\n 'ohlc' !== e.type &&\r\n 'boxAndWhisker' !== e.type)\r\n )\r\n return;\r\n h = e.axisX.convertPixelToValue({ x: a });\r\n k = e.getDataPointAtX(h, c);\r\n r(k) ||\r\n ((k.dataSeries = e),\r\n (this.currentDataPointIndex = k.index),\r\n (b = k.dataPoint));\r\n }\r\n if (!r(k) && !r(k.dataPoint) && !r(k.dataPoint.y))\r\n if (k.dataSeries.axisY)\r\n if (0 < k.dataPoint.y.length) {\r\n for (b = c = 0; b < k.dataPoint.y.length; b++)\r\n k.dataPoint.y[b] < k.dataSeries.axisY.viewportMinimum\r\n ? c--\r\n : k.dataPoint.y[b] > k.dataSeries.axisY.viewportMaximum &&\r\n c++;\r\n c < k.dataPoint.y.length &&\r\n c > -k.dataPoint.y.length &&\r\n f.push(k);\r\n } else\r\n 'column' === e.type || 'bar' === e.type\r\n ? 0 > k.dataPoint.y\r\n ? 0 > k.dataSeries.axisY.viewportMinimum &&\r\n k.dataSeries.axisY.viewportMaximum >= k.dataPoint.y &&\r\n f.push(k)\r\n : k.dataSeries.axisY.viewportMinimum <= k.dataPoint.y &&\r\n 0 <= k.dataSeries.axisY.viewportMaximum &&\r\n f.push(k)\r\n : 'bubble' === e.type\r\n ? ((c =\r\n this.chart._eventManager.objectMap[\r\n e.dataPointIds[k.index]\r\n ].size / 2),\r\n k.dataPoint.y >= k.dataSeries.axisY.viewportMinimum - c &&\r\n k.dataPoint.y <=\r\n k.dataSeries.axisY.viewportMaximum + c &&\r\n f.push(k))\r\n : 'waterfall' === e.type\r\n ? ((c = 0),\r\n k.cumulativeSumYStartValue <\r\n k.dataSeries.axisY.viewportMinimum\r\n ? c--\r\n : k.cumulativeSumYStartValue >\r\n k.dataSeries.axisY.viewportMaximum && c++,\r\n k.cumulativeSum < k.dataSeries.axisY.viewportMinimum\r\n ? c--\r\n : k.cumulativeSum >\r\n k.dataSeries.axisY.viewportMaximum && c++,\r\n 2 > c && -2 < c && f.push(k))\r\n : (0 <= k.dataSeries.type.indexOf('100') ||\r\n 'stackedColumn' === e.type ||\r\n 'stackedBar' === e.type ||\r\n (k.dataPoint.y >= k.dataSeries.axisY.viewportMinimum &&\r\n k.dataPoint.y <=\r\n k.dataSeries.axisY.viewportMaximum)) &&\r\n f.push(k);\r\n else f.push(k);\r\n }\r\n }\r\n if (0 < f.length) {\r\n if ((this.highlightObjects(f), this.enabled)) {\r\n c = '';\r\n c = this.getToolTipInnerHTML({ entries: f });\r\n if (null !== c) {\r\n this.contentDiv.innerHTML = c;\r\n if (\r\n this.isToolTipDefinedInData &&\r\n r(this.options.content) &&\r\n r(this.options.contentFormatter)\r\n )\r\n for (\r\n h = this.contentDiv.getElementsByTagName('span'), b = 0;\r\n b < h.length;\r\n b++\r\n )\r\n h[b] && (h[b].style.color = h[b].getAttribute('data-color'));\r\n h = !1;\r\n 'none' === this.container.style.display &&\r\n ((h = !0), (this.container.style.display = 'block'));\r\n try {\r\n (this.contentDiv.style.background = this.backgroundColor\r\n ? this.backgroundColor\r\n : w\r\n ? 'rgba(255,255,255,.9)'\r\n : 'rgb(255,255,255)'),\r\n (this.borderColor =\r\n 'waterfall' === f[0].dataSeries.type\r\n ? (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataPoint.color\r\n ? f[0].dataPoint.color\r\n : 0 < f[0].dataPoint.y\r\n ? f[0].dataSeries.risingColor\r\n : f[0].dataSeries.fallingColor)\r\n : 'error' === f[0].dataSeries.type\r\n ? (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataSeries.color\r\n ? f[0].dataSeries.color\r\n : f[0].dataSeries._colorSet[\r\n e.index % f[0].dataSeries._colorSet.length\r\n ])\r\n : (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataPoint.color\r\n ? f[0].dataPoint.color\r\n : f[0].dataSeries.color\r\n ? f[0].dataSeries.color\r\n : f[0].dataSeries._colorSet[\r\n f[0].index % f[0].dataSeries._colorSet.length\r\n ])),\r\n (this.contentDiv.style.borderWidth =\r\n this.borderThickness || 0 === this.borderThickness\r\n ? this.borderThickness + 'px'\r\n : '2px'),\r\n (this.contentDiv.style.borderRadius =\r\n this.cornerRadius || 0 === this.cornerRadius\r\n ? this.cornerRadius + 'px'\r\n : '5px'),\r\n (this.container.style.borderRadius = this.contentDiv.style.borderRadius),\r\n (this.contentDiv.style.fontSize =\r\n this.fontSize || 0 === this.fontSize\r\n ? this.fontSize + 'px'\r\n : '14px'),\r\n (this.contentDiv.style.color = this.fontColor\r\n ? this.fontColor\r\n : '#000000'),\r\n (this.contentDiv.style.fontFamily = this.fontFamily\r\n ? this.fontFamily\r\n : 'Calibri, Arial, Georgia, serif;'),\r\n (this.contentDiv.style.fontWeight = this.fontWeight\r\n ? this.fontWeight\r\n : 'normal'),\r\n (this.contentDiv.style.fontStyle = this.fontStyle\r\n ? this.fontStyle\r\n : w\r\n ? 'italic'\r\n : 'normal');\r\n } catch (m) {}\r\n 'pie' === f[0].dataSeries.type ||\r\n 'doughnut' === f[0].dataSeries.type ||\r\n 'funnel' === f[0].dataSeries.type ||\r\n 'pyramid' === f[0].dataSeries.type ||\r\n 'bar' === f[0].dataSeries.type ||\r\n 'rangeBar' === f[0].dataSeries.type ||\r\n 'stackedBar' === f[0].dataSeries.type ||\r\n 'stackedBar100' === f[0].dataSeries.type\r\n ? (a = a - 10 - this.container.clientWidth)\r\n : ((a =\r\n (f[0].dataSeries.axisX.convertValueToPixel(\r\n f[0].dataPoint.x\r\n ) -\r\n this.container.clientWidth) <<\r\n 0),\r\n (a -= 10));\r\n 0 > a && (a += this.container.clientWidth + 20);\r\n a + this.container.clientWidth >\r\n Math.max(this.chart.container.clientWidth, this.chart.width) &&\r\n (a = Math.max(\r\n 0,\r\n Math.max(this.chart.container.clientWidth, this.chart.width) -\r\n this.container.clientWidth\r\n ));\r\n d =\r\n 1 !== f.length ||\r\n this.shared ||\r\n ('line' !== f[0].dataSeries.type &&\r\n 'stepLine' !== f[0].dataSeries.type &&\r\n 'spline' !== f[0].dataSeries.type &&\r\n 'area' !== f[0].dataSeries.type &&\r\n 'stepArea' !== f[0].dataSeries.type &&\r\n 'splineArea' !== f[0].dataSeries.type)\r\n ? 'bar' === f[0].dataSeries.type ||\r\n 'rangeBar' === f[0].dataSeries.type ||\r\n 'stackedBar' === f[0].dataSeries.type ||\r\n 'stackedBar100' === f[0].dataSeries.type\r\n ? f[0].dataSeries.axisX.convertValueToPixel(\r\n f[0].dataPoint.x\r\n )\r\n : d\r\n : f[0].dataSeries.axisY.convertValueToPixel(f[0].dataPoint.y);\r\n d = -d + 10;\r\n 0 < d + this.container.clientHeight + 5 &&\r\n (d -= d + this.container.clientHeight + 5 - 0);\r\n this.fixMozTransitionDelay(a, d);\r\n !this.animationEnabled || h\r\n ? this.disableAnimation()\r\n : (this.enableAnimation(),\r\n (this.container.style.MozTransition = this.mozContainerTransition));\r\n this.positionLeft = a;\r\n this.positionBottom = d;\r\n this.container.style.left = a + 'px';\r\n this.container.style.bottom = d + 'px';\r\n } else\r\n this.hide(!1),\r\n this.enabled &&\r\n this.dispatchEvent(\r\n 'hidden',\r\n { chart: this.chart, toolTip: this },\r\n this\r\n );\r\n d = [];\r\n for (b = 0; b < f.length; b++)\r\n d.push({\r\n xValue: f[b].dataPoint.x,\r\n dataPoint: f[b].dataPoint,\r\n dataSeries: f[b].dataSeries,\r\n dataPointIndex: f[b].index,\r\n dataSeriesIndex: f[b].dataSeries._index,\r\n });\r\n d = {\r\n chart: this.chart,\r\n toolTip: this.options,\r\n content: c,\r\n entries: d,\r\n };\r\n this._entries = f;\r\n this.dispatchEvent('updated', d, this);\r\n }\r\n } else\r\n this.hide(),\r\n this.enabled &&\r\n this.dispatchEvent(\r\n 'hidden',\r\n { chart: this.chart, toolTip: this },\r\n this\r\n );\r\n }\r\n };\r\n Y.prototype.highlightObjects = function (a) {\r\n var d = this.chart.overlaidCanvasCtx;\r\n if (\r\n r(this.chart.clearedOverlayedCanvas) ||\r\n 'toolTip' === this.chart.clearedOverlayedCanvas\r\n )\r\n this.chart.resetOverlayedCanvas(),\r\n d.clearRect(0, 0, this.chart.width, this.chart.height),\r\n (this.chart.clearedOverlayedCanvas = 'toolTip');\r\n d.save();\r\n var c = this.chart.plotArea,\r\n b = 0;\r\n d.beginPath();\r\n d.rect(c.x1, c.y1, c.x2 - c.x1, c.y2 - c.y1);\r\n d.clip();\r\n for (c = 0; c < a.length; c++) {\r\n var e = a[c];\r\n if (\r\n (e = this.chart._eventManager.objectMap[\r\n e.dataSeries.dataPointIds[e.index]\r\n ]) &&\r\n e.objectType &&\r\n 'dataPoint' === e.objectType\r\n ) {\r\n var b = this.chart.data[e.dataSeriesIndex],\r\n f = b.dataPoints[e.dataPointIndex],\r\n h = e.dataPointIndex;\r\n !1 === f.highlightEnabled ||\r\n (!0 !== b.highlightEnabled && !0 !== f.highlightEnabled) ||\r\n ('line' === b.type ||\r\n 'stepLine' === b.type ||\r\n 'spline' === b.type ||\r\n 'scatter' === b.type ||\r\n 'area' === b.type ||\r\n 'stepArea' === b.type ||\r\n 'splineArea' === b.type ||\r\n 'stackedArea' === b.type ||\r\n 'stackedArea100' === b.type ||\r\n 'rangeArea' === b.type ||\r\n 'rangeSplineArea' === b.type\r\n ? ((f = b.getMarkerProperties(\r\n h,\r\n e.x1,\r\n e.y1,\r\n this.chart.overlaidCanvasCtx\r\n )),\r\n (f.size = Math.max((1.5 * f.size) << 0, 10)),\r\n (f.borderColor = f.borderColor || '#FFFFFF'),\r\n (f.borderThickness =\r\n f.borderThickness || Math.ceil(0.1 * f.size)),\r\n aa.drawMarkers([f]),\r\n 'undefined' !== typeof e.y2 &&\r\n ((f = b.getMarkerProperties(\r\n h,\r\n e.x1,\r\n e.y2,\r\n this.chart.overlaidCanvasCtx\r\n )),\r\n (f.size = Math.max((1.5 * f.size) << 0, 10)),\r\n (f.borderColor = f.borderColor || '#FFFFFF'),\r\n (f.borderThickness =\r\n f.borderThickness || Math.ceil(0.1 * f.size)),\r\n aa.drawMarkers([f])))\r\n : 'bubble' === b.type\r\n ? ((f = b.getMarkerProperties(\r\n h,\r\n e.x1,\r\n e.y1,\r\n this.chart.overlaidCanvasCtx\r\n )),\r\n (f.size = e.size),\r\n (f.color = 'white'),\r\n (f.borderColor = 'white'),\r\n (d.globalAlpha = 0.3),\r\n aa.drawMarkers([f]),\r\n (d.globalAlpha = 1))\r\n : 'column' === b.type ||\r\n 'stackedColumn' === b.type ||\r\n 'stackedColumn100' === b.type ||\r\n 'bar' === b.type ||\r\n 'rangeBar' === b.type ||\r\n 'stackedBar' === b.type ||\r\n 'stackedBar100' === b.type ||\r\n 'rangeColumn' === b.type ||\r\n 'waterfall' === b.type\r\n ? da(\r\n d,\r\n e.x1,\r\n e.y1,\r\n e.x2,\r\n e.y2,\r\n 'white',\r\n 0,\r\n null,\r\n !1,\r\n !1,\r\n !1,\r\n !1,\r\n 0.3\r\n )\r\n : 'pie' === b.type || 'doughnut' === b.type\r\n ? ra(\r\n d,\r\n e.center,\r\n e.radius,\r\n 'white',\r\n b.type,\r\n e.startAngle,\r\n e.endAngle,\r\n 0.3,\r\n e.percentInnerRadius\r\n )\r\n : 'funnel' === b.type || 'pyramid' === b.type\r\n ? ta(d, e.funnelSection, 0.3, 'white')\r\n : 'candlestick' === b.type\r\n ? ((d.globalAlpha = 1),\r\n (d.strokeStyle = e.color),\r\n (d.lineWidth = 2 * e.borderThickness),\r\n (b = 0 === d.lineWidth % 2 ? 0 : 0.5),\r\n d.beginPath(),\r\n d.moveTo(e.x3 - b, Math.min(e.y2, e.y3)),\r\n d.lineTo(e.x3 - b, Math.min(e.y1, e.y4)),\r\n d.stroke(),\r\n d.beginPath(),\r\n d.moveTo(e.x3 - b, Math.max(e.y1, e.y4)),\r\n d.lineTo(e.x3 - b, Math.max(e.y2, e.y3)),\r\n d.stroke(),\r\n da(\r\n d,\r\n e.x1,\r\n Math.min(e.y1, e.y4),\r\n e.x2,\r\n Math.max(e.y1, e.y4),\r\n 'transparent',\r\n 2 * e.borderThickness,\r\n e.color,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n ),\r\n (d.globalAlpha = 1))\r\n : 'ohlc' === b.type\r\n ? ((d.globalAlpha = 1),\r\n (d.strokeStyle = e.color),\r\n (d.lineWidth = 2 * e.borderThickness),\r\n (b = 0 === d.lineWidth % 2 ? 0 : 0.5),\r\n d.beginPath(),\r\n d.moveTo(e.x3 - b, e.y2),\r\n d.lineTo(e.x3 - b, e.y3),\r\n d.stroke(),\r\n d.beginPath(),\r\n d.moveTo(e.x3, e.y1),\r\n d.lineTo(e.x1, e.y1),\r\n d.stroke(),\r\n d.beginPath(),\r\n d.moveTo(e.x3, e.y4),\r\n d.lineTo(e.x2, e.y4),\r\n d.stroke(),\r\n (d.globalAlpha = 1))\r\n : 'boxAndWhisker' === b.type\r\n ? (d.save(),\r\n (d.globalAlpha = 1),\r\n (d.strokeStyle = e.stemColor),\r\n (d.lineWidth = 2 * e.stemThickness),\r\n 0 < e.stemThickness &&\r\n (d.beginPath(),\r\n d.moveTo(e.x3, e.y2 + e.borderThickness / 2),\r\n d.lineTo(e.x3, e.y1 + e.whiskerThickness / 2),\r\n d.stroke(),\r\n d.beginPath(),\r\n d.moveTo(e.x3, e.y4 - e.whiskerThickness / 2),\r\n d.lineTo(e.x3, e.y3 - e.borderThickness / 2),\r\n d.stroke()),\r\n d.beginPath(),\r\n da(\r\n d,\r\n e.x1 - e.borderThickness / 2,\r\n Math.max(\r\n e.y2 + e.borderThickness / 2,\r\n e.y3 + e.borderThickness / 2\r\n ),\r\n e.x2 + e.borderThickness / 2,\r\n Math.min(\r\n e.y2 - e.borderThickness / 2,\r\n e.y3 - e.borderThickness / 2\r\n ),\r\n 'transparent',\r\n e.borderThickness,\r\n e.color,\r\n !1,\r\n !1,\r\n !1,\r\n !1\r\n ),\r\n (d.globalAlpha = 1),\r\n (d.strokeStyle = e.whiskerColor),\r\n (d.lineWidth = 2 * e.whiskerThickness),\r\n 0 < e.whiskerThickness &&\r\n (d.beginPath(),\r\n d.moveTo(Math.floor(e.x3 - e.whiskerLength / 2), e.y4),\r\n d.lineTo(Math.ceil(e.x3 + e.whiskerLength / 2), e.y4),\r\n d.stroke(),\r\n d.beginPath(),\r\n d.moveTo(Math.floor(e.x3 - e.whiskerLength / 2), e.y1),\r\n d.lineTo(Math.ceil(e.x3 + e.whiskerLength / 2), e.y1),\r\n d.stroke()),\r\n (d.globalAlpha = 1),\r\n (d.strokeStyle = e.lineColor),\r\n (d.lineWidth = 2 * e.lineThickness),\r\n 0 < e.lineThickness &&\r\n (d.beginPath(),\r\n d.moveTo(e.x1, e.y5),\r\n d.lineTo(e.x2, e.y5),\r\n d.stroke()),\r\n d.restore(),\r\n (d.globalAlpha = 1))\r\n : 'error' === b.type &&\r\n B(\r\n d,\r\n e.x1,\r\n e.y1,\r\n e.x2,\r\n e.y2,\r\n 'white',\r\n e.whiskerProperties,\r\n e.stemProperties,\r\n e.isXYSwapped,\r\n 0.3\r\n ));\r\n }\r\n }\r\n d.restore();\r\n d.globalAlpha = 1;\r\n d.beginPath();\r\n };\r\n Y.prototype.getToolTipInnerHTML = function (a) {\r\n a = a.entries;\r\n var d = null,\r\n c = null,\r\n b = null,\r\n e = 0,\r\n f = '';\r\n this.isToolTipDefinedInData = !0;\r\n for (var h = 0; h < a.length; h++)\r\n if (a[h].dataSeries.toolTipContent || a[h].dataPoint.toolTipContent) {\r\n this.isToolTipDefinedInData = !1;\r\n break;\r\n }\r\n if (\r\n this.isToolTipDefinedInData &&\r\n ((this.content && 'function' === typeof this.content) ||\r\n this.contentFormatter)\r\n )\r\n (a = { chart: this.chart, toolTip: this.options, entries: a }),\r\n (d = this.contentFormatter\r\n ? this.contentFormatter(a)\r\n : this.content(a));\r\n else if (this.shared && 'none' !== this.chart.plotInfo.axisPlacement) {\r\n for (var n = null, r = '', h = 0; h < a.length; h++) {\r\n c = a[h].dataSeries;\r\n b = a[h].dataPoint;\r\n e = a[h].index;\r\n f = '';\r\n if (0 === h && this.isToolTipDefinedInData && !this.content) {\r\n this.chart.axisX && 0 < this.chart.axisX.length\r\n ? (r +=\r\n 'undefined' !== typeof this.chart.axisX[0].labels[b.x]\r\n ? this.chart.axisX[0].labels[b.x]\r\n : '{x}')\r\n : this.chart.axisX2 &&\r\n 0 < this.chart.axisX2.length &&\r\n (r +=\r\n 'undefined' !== typeof this.chart.axisX2[0].labels[b.x]\r\n ? this.chart.axisX2[0].labels[b.x]\r\n : '{x}');\r\n r += '
    ';\r\n if (!c.visible) continue;\r\n r = this.chart.replaceKeywordsWithValue(r, b, c, e);\r\n }\r\n null === b.toolTipContent ||\r\n ('undefined' === typeof b.toolTipContent &&\r\n null === c.options.toolTipContent) ||\r\n ('line' === c.type ||\r\n 'stepLine' === c.type ||\r\n 'spline' === c.type ||\r\n 'area' === c.type ||\r\n 'stepArea' === c.type ||\r\n 'splineArea' === c.type ||\r\n 'column' === c.type ||\r\n 'bar' === c.type ||\r\n 'scatter' === c.type ||\r\n 'stackedColumn' === c.type ||\r\n 'stackedColumn100' === c.type ||\r\n 'stackedBar' === c.type ||\r\n 'stackedBar100' === c.type ||\r\n 'stackedArea' === c.type ||\r\n 'stackedArea100' === c.type ||\r\n 'waterfall' === c.type\r\n ? (this.chart.axisX &&\r\n 1 < this.chart.axisX.length &&\r\n (f +=\r\n n != c.axisXIndex\r\n ? c.axisX.title\r\n ? c.axisX.title + '
    '\r\n : 'X:{axisXIndex}
    '\r\n : ''),\r\n (f += b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '{name}:  {y}'),\r\n (n = c.axisXIndex))\r\n : 'bubble' === c.type\r\n ? (this.chart.axisX &&\r\n 1 < this.chart.axisX.length &&\r\n (f +=\r\n n != c.axisXIndex\r\n ? c.axisX.title\r\n ? c.axisX.title + '
    '\r\n : 'X:{axisXIndex}
    '\r\n : ''),\r\n (f += b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '{name}:  {y},   {z}'))\r\n : 'rangeColumn' === c.type ||\r\n 'rangeBar' === c.type ||\r\n 'rangeArea' === c.type ||\r\n 'rangeSplineArea' === c.type ||\r\n 'error' === c.type\r\n ? (this.chart.axisX &&\r\n 1 < this.chart.axisX.length &&\r\n (f +=\r\n n != c.axisXIndex\r\n ? c.axisX.title\r\n ? c.axisX.title + '
    '\r\n : 'X:{axisXIndex}
    '\r\n : ''),\r\n (f += b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '{name}:  {y[0]}, {y[1]}'))\r\n : 'candlestick' === c.type || 'ohlc' === c.type\r\n ? (this.chart.axisX &&\r\n 1 < this.chart.axisX.length &&\r\n (f +=\r\n n != c.axisXIndex\r\n ? c.axisX.title\r\n ? c.axisX.title + '
    '\r\n : 'X:{axisXIndex}
    '\r\n : ''),\r\n (f += b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '{name}:
    Open:   {y[0]}
    High:    {y[1]}
    Low:   {y[2]}
    Close:   {y[3]}'))\r\n : 'boxAndWhisker' === c.type &&\r\n (this.chart.axisX &&\r\n 1 < this.chart.axisX.length &&\r\n (f +=\r\n n != c.axisXIndex\r\n ? c.axisX.title\r\n ? c.axisX.title + '
    '\r\n : 'X:{axisXIndex}
    '\r\n : ''),\r\n (f += b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '{name}:
    Minimum:   {y[0]}
    Q1:               {y[1]}
    Q2:               {y[4]}
    Q3:               {y[2]}
    Maximum:  {y[3]}')),\r\n null === d && (d = ''),\r\n c.visible &&\r\n (!0 === this.reversed\r\n ? ((d = this.chart.replaceKeywordsWithValue(f, b, c, e) + d),\r\n h < a.length - 1 && (d = '
    ' + d))\r\n : ((d += this.chart.replaceKeywordsWithValue(f, b, c, e)),\r\n h < a.length - 1 && (d += '
    '))));\r\n }\r\n null !== d && (d = r + d);\r\n } else {\r\n c = a[0].dataSeries;\r\n b = a[0].dataPoint;\r\n e = a[0].index;\r\n if (\r\n null === b.toolTipContent ||\r\n ('undefined' === typeof b.toolTipContent &&\r\n null === c.options.toolTipContent)\r\n )\r\n return null;\r\n 'line' === c.type ||\r\n 'stepLine' === c.type ||\r\n 'spline' === c.type ||\r\n 'area' === c.type ||\r\n 'stepArea' === c.type ||\r\n 'splineArea' === c.type ||\r\n 'column' === c.type ||\r\n 'bar' === c.type ||\r\n 'scatter' === c.type ||\r\n 'stackedColumn' === c.type ||\r\n 'stackedColumn100' === c.type ||\r\n 'stackedBar' === c.type ||\r\n 'stackedBar100' === c.type ||\r\n 'stackedArea' === c.type ||\r\n 'stackedArea100' === c.type ||\r\n 'waterfall' === c.type\r\n ? (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.label ? '{label}' : '{x}') +\r\n ':  {y}')\r\n : 'bubble' === c.type\r\n ? (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.label ? '{label}' : '{x}') +\r\n ':  {y},   {z}')\r\n : 'pie' === c.type ||\r\n 'doughnut' === c.type ||\r\n 'funnel' === c.type ||\r\n 'pyramid' === c.type\r\n ? (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.name\r\n ? '{name}:  '\r\n : b.label\r\n ? '{label}:  '\r\n : '') +\r\n '{y}')\r\n : 'rangeColumn' === c.type ||\r\n 'rangeBar' === c.type ||\r\n 'rangeArea' === c.type ||\r\n 'rangeSplineArea' === c.type ||\r\n 'error' === c.type\r\n ? (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.label ? '{label}' : '{x}') +\r\n ' :  {y[0]},  {y[1]}')\r\n : 'candlestick' === c.type || 'ohlc' === c.type\r\n ? (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.label ? '{label}' : '{x}') +\r\n '
    Open:   {y[0]}
    High:    {y[1]}
    Low:     {y[2]}
    Close:   {y[3]}')\r\n : 'boxAndWhisker' === c.type &&\r\n (f = b.toolTipContent\r\n ? b.toolTipContent\r\n : c.toolTipContent\r\n ? c.toolTipContent\r\n : this.content && 'function' !== typeof this.content\r\n ? this.content\r\n : '' +\r\n (b.label ? '{label}' : '{x}') +\r\n '
    Minimum:   {y[0]}
    Q1:               {y[1]}
    Q2:               {y[4]}
    Q3:               {y[2]}
    Maximum:  {y[3]}');\r\n null === d && (d = '');\r\n d += this.chart.replaceKeywordsWithValue(f, b, c, e);\r\n }\r\n return d;\r\n };\r\n Y.prototype.enableAnimation = function () {\r\n if (!this.container.style.WebkitTransition) {\r\n var a = this.getContainerTransition(this.containerTransitionDuration);\r\n this.container.style.WebkitTransition = a;\r\n this.container.style.MsTransition = a;\r\n this.container.style.transition = a;\r\n this.container.style.MozTransition = this.mozContainerTransition;\r\n }\r\n };\r\n Y.prototype.disableAnimation = function () {\r\n this.container.style.WebkitTransition &&\r\n ((this.container.style.WebkitTransition = ''),\r\n (this.container.style.MozTransition = ''),\r\n (this.container.style.MsTransition = ''),\r\n (this.container.style.transition = ''));\r\n };\r\n Y.prototype.hide = function (a) {\r\n this.container &&\r\n ((this.container.style.display = 'none'),\r\n (this.currentSeriesIndex = -1),\r\n (this._prevY = this._prevX = NaN),\r\n ('undefined' === typeof a || a) && this.chart.resetOverlayedCanvas());\r\n };\r\n Y.prototype.show = function (a, d, c) {\r\n this._updateToolTip(a, d, 'undefined' === typeof c ? !1 : c);\r\n };\r\n Y.prototype.showAtIndex = function (a, d) {};\r\n Y.prototype.showAtX = function (a, d) {\r\n if (!this.enabled) return !1;\r\n this.chart.clearedOverlayedCanvas = null;\r\n var c,\r\n b,\r\n e,\r\n f = [];\r\n e = !1;\r\n d = !r(d) && 0 <= d && d < this.chart.data.length ? d : 0;\r\n if (this.shared)\r\n for (var h = 0; h < this.chart.data.length; h++)\r\n (c = this.chart.data[h]),\r\n (b = c.getDataPointAtX(a, !1)) &&\r\n b.dataPoint &&\r\n !r(b.dataPoint.y) &&\r\n c.visible &&\r\n ((b.dataSeries = c), f.push(b));\r\n else\r\n (c = this.chart.data[d]),\r\n (b = c.getDataPointAtX(a, !1)) &&\r\n b.dataPoint &&\r\n !r(b.dataPoint.y) &&\r\n c.visible &&\r\n ((b.dataSeries = c), f.push(b));\r\n if (0 < f.length) {\r\n for (h = 0; h < f.length; h++)\r\n if (\r\n ((b = f[h]),\r\n (this.shared || 0 <= b.dataSeries.type.indexOf('100')) &&\r\n b.dataPoint.x >= b.dataSeries.axisX.viewportMinimum &&\r\n b.dataPoint.x <= b.dataSeries.axisX.viewportMaximum)\r\n ) {\r\n e = !1;\r\n break;\r\n } else if (\r\n b.dataPoint.x < b.dataSeries.axisX.viewportMinimum ||\r\n b.dataPoint.x > b.dataSeries.axisX.viewportMaximum ||\r\n b.dataPoint.y < b.dataSeries.axisY.viewportMinimum ||\r\n b.dataPoint.y > b.dataSeries.axisY.viewportMaximum\r\n )\r\n e = !0;\r\n else {\r\n e = !1;\r\n break;\r\n }\r\n if (e) return this.hide(), !1;\r\n this.highlightObjects(f);\r\n this._entries = f;\r\n h = '';\r\n h = this.getToolTipInnerHTML({ entries: f });\r\n if (null !== h) {\r\n this.contentDiv.innerHTML = h;\r\n if (\r\n this.isToolTipDefinedInData &&\r\n r(this.options.content) &&\r\n r(this.options.contentFormatter)\r\n )\r\n for (\r\n b = this.contentDiv.getElementsByTagName('span'), h = 0;\r\n h < b.length;\r\n h++\r\n )\r\n b[h] && (b[h].style.color = b[h].getAttribute('data-color'));\r\n h = !1;\r\n 'none' === this.container.style.display &&\r\n ((h = !0), (this.container.style.display = 'block'));\r\n try {\r\n (this.contentDiv.style.background = this.backgroundColor\r\n ? this.backgroundColor\r\n : w\r\n ? 'rgba(255,255,255,.9)'\r\n : 'rgb(255,255,255)'),\r\n (this.borderColor =\r\n 'waterfall' === f[0].dataSeries.type\r\n ? (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataPoint.color\r\n ? f[0].dataPoint.color\r\n : 0 < f[0].dataPoint.y\r\n ? f[0].dataSeries.risingColor\r\n : f[0].dataSeries.fallingColor)\r\n : 'error' === f[0].dataSeries.type\r\n ? (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataSeries.color\r\n ? f[0].dataSeries.color\r\n : f[0].dataSeries._colorSet[\r\n c.index % f[0].dataSeries._colorSet.length\r\n ])\r\n : (this.contentDiv.style.borderRightColor = this.contentDiv.style.borderLeftColor = this.contentDiv.style.borderColor = this\r\n .options.borderColor\r\n ? this.options.borderColor\r\n : f[0].dataPoint.color\r\n ? f[0].dataPoint.color\r\n : f[0].dataSeries.color\r\n ? f[0].dataSeries.color\r\n : f[0].dataSeries._colorSet[\r\n f[0].index % f[0].dataSeries._colorSet.length\r\n ])),\r\n (this.contentDiv.style.borderWidth =\r\n this.borderThickness || 0 === this.borderThickness\r\n ? this.borderThickness + 'px'\r\n : '2px'),\r\n (this.contentDiv.style.borderRadius =\r\n this.cornerRadius || 0 === this.cornerRadius\r\n ? this.cornerRadius + 'px'\r\n : '5px'),\r\n (this.container.style.borderRadius = this.contentDiv.style.borderRadius),\r\n (this.contentDiv.style.fontSize =\r\n this.fontSize || 0 === this.fontSize\r\n ? this.fontSize + 'px'\r\n : '14px'),\r\n (this.contentDiv.style.color = this.fontColor\r\n ? this.fontColor\r\n : '#000000'),\r\n (this.contentDiv.style.fontFamily = this.fontFamily\r\n ? this.fontFamily\r\n : 'Calibri, Arial, Georgia, serif;'),\r\n (this.contentDiv.style.fontWeight = this.fontWeight\r\n ? this.fontWeight\r\n : 'normal'),\r\n (this.contentDiv.style.fontStyle = this.fontStyle\r\n ? this.fontStyle\r\n : w\r\n ? 'italic'\r\n : 'normal');\r\n } catch (n) {}\r\n 'pie' === f[0].dataSeries.type ||\r\n 'doughnut' === f[0].dataSeries.type ||\r\n 'funnel' === f[0].dataSeries.type ||\r\n 'pyramid' === f[0].dataSeries.type\r\n ? (c = mouseX - 10 - this.container.clientWidth)\r\n : ((c =\r\n 'bar' === f[0].dataSeries.type ||\r\n 'rangeBar' === f[0].dataSeries.type ||\r\n 'stackedBar' === f[0].dataSeries.type ||\r\n 'stackedBar100' === f[0].dataSeries.type\r\n ? (f[0].dataSeries.axisY.convertValueToPixel(\r\n f[0].dataPoint.y\r\n ) -\r\n this.container.clientWidth) <<\r\n 0\r\n : (f[0].dataSeries.axisX.convertValueToPixel(\r\n f[0].dataPoint.x\r\n ) -\r\n this.container.clientWidth) <<\r\n 0),\r\n (c -= 10));\r\n 0 > c && (c += this.container.clientWidth + 20);\r\n c + this.container.clientWidth >\r\n Math.max(this.chart.container.clientWidth, this.chart.width) &&\r\n (c = Math.max(\r\n 0,\r\n Math.max(this.chart.container.clientWidth, this.chart.width) -\r\n this.container.clientWidth\r\n ));\r\n f =\r\n 1 !== f.length ||\r\n this.shared ||\r\n ('line' !== f[0].dataSeries.type &&\r\n 'stepLine' !== f[0].dataSeries.type &&\r\n 'spline' !== f[0].dataSeries.type &&\r\n 'area' !== f[0].dataSeries.type &&\r\n 'stepArea' !== f[0].dataSeries.type &&\r\n 'splineArea' !== f[0].dataSeries.type)\r\n ? 'bar' === f[0].dataSeries.type ||\r\n 'rangeBar' === f[0].dataSeries.type ||\r\n 'stackedBar' === f[0].dataSeries.type ||\r\n 'stackedBar100' === f[0].dataSeries.type\r\n ? f[0].dataSeries.axisX.convertValueToPixel(f[0].dataPoint.x)\r\n : f[0].dataSeries.axisY.convertValueToPixel(f[0].dataPoint.y)\r\n : f[0].dataSeries.axisY.convertValueToPixel(f[0].dataPoint.y);\r\n f = -f + 10;\r\n 0 < f + this.container.clientHeight + 5 &&\r\n (f -= f + this.container.clientHeight + 5 - 0);\r\n this.fixMozTransitionDelay(c, f);\r\n !this.animationEnabled || h\r\n ? this.disableAnimation()\r\n : (this.enableAnimation(),\r\n (this.container.style.MozTransition = this.mozContainerTransition));\r\n this.container.style.left = c + 'px';\r\n this.container.style.bottom = f + 'px';\r\n } else return this.hide(!1), !1;\r\n } else return this.hide(), !1;\r\n return !0;\r\n };\r\n Y.prototype.fixMozTransitionDelay = function (a, d) {\r\n if (20 < this.chart._eventManager.lastObjectId)\r\n this.mozContainerTransition = this.getContainerTransition(0);\r\n else {\r\n var c = parseFloat(this.container.style.left),\r\n c = isNaN(c) ? 0 : c,\r\n b = parseFloat(this.container.style.bottom),\r\n b = isNaN(b) ? 0 : b;\r\n 10 < Math.sqrt(Math.pow(c - a, 2) + Math.pow(b - d, 2))\r\n ? (this.mozContainerTransition = this.getContainerTransition(0.1))\r\n : (this.mozContainerTransition = this.getContainerTransition(0));\r\n }\r\n };\r\n Y.prototype.getContainerTransition = function (a) {\r\n return 'left ' + a + 's ease-out 0s, bottom ' + a + 's ease-out 0s';\r\n };\r\n X.prototype.reset = function () {\r\n this.lastObjectId = 0;\r\n this.objectMap = [];\r\n this.rectangularRegionEventSubscriptions = [];\r\n this.previousDataPointEventObject = null;\r\n this.eventObjects = [];\r\n w &&\r\n (this.ghostCtx.clearRect(0, 0, this.chart.width, this.chart.height),\r\n this.ghostCtx.beginPath());\r\n };\r\n X.prototype.getNewObjectTrackingId = function () {\r\n return ++this.lastObjectId;\r\n };\r\n X.prototype.mouseEventHandler = function (a) {\r\n if ('mousemove' === a.type || 'click' === a.type) {\r\n var d = [],\r\n c = Oa(a),\r\n b = null;\r\n if (\r\n (b = this.chart.getObjectAtXY(c.x, c.y, !1)) &&\r\n 'undefined' !== typeof this.objectMap[b]\r\n )\r\n if (((b = this.objectMap[b]), 'dataPoint' === b.objectType)) {\r\n var e = this.chart.data[b.dataSeriesIndex],\r\n f = e.dataPoints[b.dataPointIndex],\r\n h = b.dataPointIndex;\r\n b.eventParameter = {\r\n x: c.x,\r\n y: c.y,\r\n dataPoint: f,\r\n dataSeries: e.options,\r\n dataPointIndex: h,\r\n dataSeriesIndex: e.index,\r\n chart: this.chart,\r\n };\r\n b.eventContext = {\r\n context: f,\r\n userContext: f,\r\n mouseover: 'mouseover',\r\n mousemove: 'mousemove',\r\n mouseout: 'mouseout',\r\n click: 'click',\r\n };\r\n d.push(b);\r\n b = this.objectMap[e.id];\r\n b.eventParameter = {\r\n x: c.x,\r\n y: c.y,\r\n dataPoint: f,\r\n dataSeries: e.options,\r\n dataPointIndex: h,\r\n dataSeriesIndex: e.index,\r\n chart: this.chart,\r\n };\r\n b.eventContext = {\r\n context: e,\r\n userContext: e.options,\r\n mouseover: 'mouseover',\r\n mousemove: 'mousemove',\r\n mouseout: 'mouseout',\r\n click: 'click',\r\n };\r\n d.push(this.objectMap[e.id]);\r\n } else\r\n 'legendItem' === b.objectType &&\r\n ((e = this.chart.data[b.dataSeriesIndex]),\r\n (f =\r\n null !== b.dataPointIndex\r\n ? e.dataPoints[b.dataPointIndex]\r\n : null),\r\n (b.eventParameter = {\r\n x: c.x,\r\n y: c.y,\r\n dataSeries: e.options,\r\n dataPoint: f,\r\n dataPointIndex: b.dataPointIndex,\r\n dataSeriesIndex: b.dataSeriesIndex,\r\n chart: this.chart,\r\n }),\r\n (b.eventContext = {\r\n context: this.chart.legend,\r\n userContext: this.chart.legend.options,\r\n mouseover: 'itemmouseover',\r\n mousemove: 'itemmousemove',\r\n mouseout: 'itemmouseout',\r\n click: 'itemclick',\r\n }),\r\n d.push(b));\r\n e = [];\r\n for (c = 0; c < this.mouseoveredObjectMaps.length; c++) {\r\n f = !0;\r\n for (b = 0; b < d.length; b++)\r\n if (d[b].id === this.mouseoveredObjectMaps[c].id) {\r\n f = !1;\r\n break;\r\n }\r\n f\r\n ? this.fireEvent(this.mouseoveredObjectMaps[c], 'mouseout', a)\r\n : e.push(this.mouseoveredObjectMaps[c]);\r\n }\r\n this.mouseoveredObjectMaps = e;\r\n for (c = 0; c < d.length; c++) {\r\n e = !1;\r\n for (b = 0; b < this.mouseoveredObjectMaps.length; b++)\r\n if (d[c].id === this.mouseoveredObjectMaps[b].id) {\r\n e = !0;\r\n break;\r\n }\r\n e ||\r\n (this.fireEvent(d[c], 'mouseover', a),\r\n this.mouseoveredObjectMaps.push(d[c]));\r\n 'click' === a.type\r\n ? this.fireEvent(d[c], 'click', a)\r\n : 'mousemove' === a.type && this.fireEvent(d[c], 'mousemove', a);\r\n }\r\n }\r\n };\r\n X.prototype.fireEvent = function (a, d, c) {\r\n if (a && d) {\r\n var b = a.eventParameter,\r\n e = a.eventContext,\r\n f = a.eventContext.userContext;\r\n f && e && f[e[d]] && f[e[d]].call(f, b);\r\n 'mouseout' !== d\r\n ? f.cursor &&\r\n f.cursor !== c.target.style.cursor &&\r\n (c.target.style.cursor = f.cursor)\r\n : ((c.target.style.cursor = this.chart._defaultCursor),\r\n delete a.eventParameter,\r\n delete a.eventContext);\r\n 'click' === d &&\r\n 'dataPoint' === a.objectType &&\r\n this.chart.pieDoughnutClickHandler &&\r\n this.chart.pieDoughnutClickHandler.call(\r\n this.chart.data[a.dataSeriesIndex],\r\n b\r\n );\r\n 'click' === d &&\r\n 'dataPoint' === a.objectType &&\r\n this.chart.funnelPyramidClickHandler &&\r\n this.chart.funnelPyramidClickHandler.call(\r\n this.chart.data[a.dataSeriesIndex],\r\n b\r\n );\r\n }\r\n };\r\n ja.prototype.animate = function (a, d, c, b, e) {\r\n var f = this;\r\n this.chart.isAnimating = !0;\r\n e = e || N.easing.linear;\r\n c &&\r\n this.animations.push({\r\n startTime: new Date().getTime() + (a ? a : 0),\r\n duration: d,\r\n animationCallback: c,\r\n onComplete: b,\r\n });\r\n for (a = []; 0 < this.animations.length; )\r\n if (\r\n ((d = this.animations.shift()),\r\n (c = new Date().getTime()),\r\n (b = 0),\r\n d.startTime <= c &&\r\n ((b = e(Math.min(c - d.startTime, d.duration), 0, 1, d.duration)),\r\n (b = Math.min(b, 1)),\r\n isNaN(b) || !isFinite(b)) &&\r\n (b = 1),\r\n 1 > b && a.push(d),\r\n d.animationCallback(b),\r\n 1 <= b && d.onComplete)\r\n )\r\n d.onComplete();\r\n this.animations = a;\r\n 0 < this.animations.length\r\n ? (this.animationRequestId = this.chart.requestAnimFrame.call(\r\n window,\r\n function () {\r\n f.animate.call(f);\r\n }\r\n ))\r\n : (this.chart.isAnimating = !1);\r\n };\r\n ja.prototype.cancelAllAnimations = function () {\r\n this.animations = [];\r\n this.animationRequestId &&\r\n this.chart.cancelRequestAnimFrame.call(window, this.animationRequestId);\r\n this.animationRequestId = null;\r\n this.chart.isAnimating = !1;\r\n };\r\n var N = {\r\n yScaleAnimation: function (a, d) {\r\n if (0 !== a) {\r\n var c = d.dest,\r\n b = d.source.canvas,\r\n e = d.animationBase;\r\n c.drawImage(\r\n b,\r\n 0,\r\n 0,\r\n b.width,\r\n b.height,\r\n 0,\r\n e - e * a,\r\n c.canvas.width / la,\r\n (a * c.canvas.height) / la\r\n );\r\n }\r\n },\r\n xScaleAnimation: function (a, d) {\r\n if (0 !== a) {\r\n var c = d.dest,\r\n b = d.source.canvas,\r\n e = d.animationBase;\r\n c.drawImage(\r\n b,\r\n 0,\r\n 0,\r\n b.width,\r\n b.height,\r\n e - e * a,\r\n 0,\r\n (a * c.canvas.width) / la,\r\n c.canvas.height / la\r\n );\r\n }\r\n },\r\n xClipAnimation: function (a, d) {\r\n if (0 !== a) {\r\n var c = d.dest,\r\n b = d.source.canvas;\r\n c.save();\r\n 0 < a &&\r\n c.drawImage(\r\n b,\r\n 0,\r\n 0,\r\n b.width * a,\r\n b.height,\r\n 0,\r\n 0,\r\n (b.width * a) / la,\r\n b.height / la\r\n );\r\n c.restore();\r\n }\r\n },\r\n fadeInAnimation: function (a, d) {\r\n if (0 !== a) {\r\n var c = d.dest,\r\n b = d.source.canvas;\r\n c.save();\r\n c.globalAlpha = a;\r\n c.drawImage(\r\n b,\r\n 0,\r\n 0,\r\n b.width,\r\n b.height,\r\n 0,\r\n 0,\r\n c.canvas.width / la,\r\n c.canvas.height / la\r\n );\r\n c.restore();\r\n }\r\n },\r\n easing: {\r\n linear: function (a, d, c, b) {\r\n return (c * a) / b + d;\r\n },\r\n easeOutQuad: function (a, d, c, b) {\r\n return -c * (a /= b) * (a - 2) + d;\r\n },\r\n easeOutQuart: function (a, d, c, b) {\r\n return -c * ((a = a / b - 1) * a * a * a - 1) + d;\r\n },\r\n easeInQuad: function (a, d, c, b) {\r\n return c * (a /= b) * a + d;\r\n },\r\n easeInQuart: function (a, d, c, b) {\r\n return c * (a /= b) * a * a * a + d;\r\n },\r\n },\r\n },\r\n aa = {\r\n drawMarker: function (a, d, c, b, e, f, h, n) {\r\n if (c) {\r\n var r = 1;\r\n c.fillStyle = f ? f : '#000000';\r\n c.strokeStyle = h ? h : '#000000';\r\n c.lineWidth = n ? n : 0;\r\n c.setLineDash && c.setLineDash(J('solid', n));\r\n 'circle' === b\r\n ? (c.moveTo(a, d),\r\n c.beginPath(),\r\n c.arc(a, d, e / 2, 0, 2 * Math.PI, !1),\r\n f && c.fill(),\r\n n &&\r\n (h\r\n ? c.stroke()\r\n : ((r = c.globalAlpha),\r\n (c.globalAlpha = 0.15),\r\n (c.strokeStyle = 'black'),\r\n c.stroke(),\r\n (c.globalAlpha = r))))\r\n : 'square' === b\r\n ? (c.beginPath(),\r\n c.rect(a - e / 2, d - e / 2, e, e),\r\n f && c.fill(),\r\n n &&\r\n (h\r\n ? c.stroke()\r\n : ((r = c.globalAlpha),\r\n (c.globalAlpha = 0.15),\r\n (c.strokeStyle = 'black'),\r\n c.stroke(),\r\n (c.globalAlpha = r))))\r\n : 'triangle' === b\r\n ? (c.beginPath(),\r\n c.moveTo(a - e / 2, d + e / 2),\r\n c.lineTo(a + e / 2, d + e / 2),\r\n c.lineTo(a, d - e / 2),\r\n c.closePath(),\r\n f && c.fill(),\r\n n &&\r\n (h\r\n ? c.stroke()\r\n : ((r = c.globalAlpha),\r\n (c.globalAlpha = 0.15),\r\n (c.strokeStyle = 'black'),\r\n c.stroke(),\r\n (c.globalAlpha = r))),\r\n c.beginPath())\r\n : 'cross' === b &&\r\n ((c.strokeStyle = f),\r\n (c.lineWidth = e / 4),\r\n c.beginPath(),\r\n c.moveTo(a - e / 2, d - e / 2),\r\n c.lineTo(a + e / 2, d + e / 2),\r\n c.stroke(),\r\n c.moveTo(a + e / 2, d - e / 2),\r\n c.lineTo(a - e / 2, d + e / 2),\r\n c.stroke());\r\n }\r\n },\r\n drawMarkers: function (a) {\r\n for (var d = 0; d < a.length; d++) {\r\n var c = a[d];\r\n aa.drawMarker(\r\n c.x,\r\n c.y,\r\n c.ctx,\r\n c.type,\r\n c.size,\r\n c.color,\r\n c.borderColor,\r\n c.borderThickness\r\n );\r\n }\r\n },\r\n };\r\n return n;\r\n })();\r\n v.version = 'v3.7.2 GA';\r\n window.CanvasJS && v && !window.CanvasJS.Chart && (window.CanvasJS.Chart = v);\r\n})();\r\n\r\n/*\r\n excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.\r\n\r\n Copyright 2006 Google Inc. https://code.google.com/p/explorercanvas/\r\n Licensed under the Apache License, Version 2.0\r\n*/\r\ndocument.createElement('canvas').getContext ||\r\n (function () {\r\n function V() {\r\n return this.context_ || (this.context_ = new C(this));\r\n }\r\n function W(a, b, c) {\r\n var g = M.call(arguments, 2);\r\n return function () {\r\n return a.apply(b, g.concat(M.call(arguments)));\r\n };\r\n }\r\n function N(a) {\r\n return String(a).replace(/&/g, '&').replace(/\"/g, '"');\r\n }\r\n function O(a) {\r\n a.namespaces.g_vml_ ||\r\n a.namespaces.add(\r\n 'g_vml_',\r\n 'urn:schemas-microsoft-com:vml',\r\n '#default#VML'\r\n );\r\n a.namespaces.g_o_ ||\r\n a.namespaces.add(\r\n 'g_o_',\r\n 'urn:schemas-microsoft-com:office:office',\r\n '#default#VML'\r\n );\r\n a.styleSheets.ex_canvas_ ||\r\n ((a = a.createStyleSheet()),\r\n (a.owningElement.id = 'ex_canvas_'),\r\n (a.cssText =\r\n 'canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}'));\r\n }\r\n function X(a) {\r\n var b = a.srcElement;\r\n switch (a.propertyName) {\r\n case 'width':\r\n b.getContext().clearRect();\r\n b.style.width = b.attributes.width.nodeValue + 'px';\r\n b.firstChild.style.width = b.clientWidth + 'px';\r\n break;\r\n case 'height':\r\n b.getContext().clearRect(),\r\n (b.style.height = b.attributes.height.nodeValue + 'px'),\r\n (b.firstChild.style.height = b.clientHeight + 'px');\r\n }\r\n }\r\n function Y(a) {\r\n a = a.srcElement;\r\n a.firstChild &&\r\n ((a.firstChild.style.width = a.clientWidth + 'px'),\r\n (a.firstChild.style.height = a.clientHeight + 'px'));\r\n }\r\n function D() {\r\n return [\r\n [1, 0, 0],\r\n [0, 1, 0],\r\n [0, 0, 1],\r\n ];\r\n }\r\n function t(a, b) {\r\n for (var c = D(), g = 0; 3 > g; g++)\r\n for (var e = 0; 3 > e; e++) {\r\n for (var f = 0, d = 0; 3 > d; d++) f += a[g][d] * b[d][e];\r\n c[g][e] = f;\r\n }\r\n return c;\r\n }\r\n function P(a, b) {\r\n b.fillStyle = a.fillStyle;\r\n b.lineCap = a.lineCap;\r\n b.lineJoin = a.lineJoin;\r\n b.lineWidth = a.lineWidth;\r\n b.miterLimit = a.miterLimit;\r\n b.shadowBlur = a.shadowBlur;\r\n b.shadowColor = a.shadowColor;\r\n b.shadowOffsetX = a.shadowOffsetX;\r\n b.shadowOffsetY = a.shadowOffsetY;\r\n b.strokeStyle = a.strokeStyle;\r\n b.globalAlpha = a.globalAlpha;\r\n b.font = a.font;\r\n b.textAlign = a.textAlign;\r\n b.textBaseline = a.textBaseline;\r\n b.arcScaleX_ = a.arcScaleX_;\r\n b.arcScaleY_ = a.arcScaleY_;\r\n b.lineScale_ = a.lineScale_;\r\n }\r\n function Q(a) {\r\n var b = a.indexOf('(', 3),\r\n c = a.indexOf(')', b + 1),\r\n b = a.substring(b + 1, c).split(',');\r\n if (4 != b.length || 'a' != a.charAt(3)) b[3] = 1;\r\n return b;\r\n }\r\n function E(a, b, c) {\r\n return Math.min(c, Math.max(b, a));\r\n }\r\n function F(a, b, c) {\r\n 0 > c && c++;\r\n 1 < c && c--;\r\n return 1 > 6 * c\r\n ? a + 6 * (b - a) * c\r\n : 1 > 2 * c\r\n ? b\r\n : 2 > 3 * c\r\n ? a + 6 * (b - a) * (2 / 3 - c)\r\n : a;\r\n }\r\n function G(a) {\r\n if (a in H) return H[a];\r\n var b,\r\n c = 1;\r\n a = String(a);\r\n if ('#' == a.charAt(0)) b = a;\r\n else if (/^rgb/.test(a)) {\r\n c = Q(a);\r\n b = '#';\r\n for (var g, e = 0; 3 > e; e++)\r\n (g =\r\n -1 != c[e].indexOf('%')\r\n ? Math.floor(255 * (parseFloat(c[e]) / 100))\r\n : +c[e]),\r\n (b += v[E(g, 0, 255)]);\r\n c = +c[3];\r\n } else if (/^hsl/.test(a)) {\r\n e = c = Q(a);\r\n b = (parseFloat(e[0]) / 360) % 360;\r\n 0 > b && b++;\r\n g = E(parseFloat(e[1]) / 100, 0, 1);\r\n e = E(parseFloat(e[2]) / 100, 0, 1);\r\n if (0 == g) g = e = b = e;\r\n else {\r\n var f = 0.5 > e ? e * (1 + g) : e + g - e * g,\r\n d = 2 * e - f;\r\n g = F(d, f, b + 1 / 3);\r\n e = F(d, f, b);\r\n b = F(d, f, b - 1 / 3);\r\n }\r\n b =\r\n '#' +\r\n v[Math.floor(255 * g)] +\r\n v[Math.floor(255 * e)] +\r\n v[Math.floor(255 * b)];\r\n c = c[3];\r\n } else b = Z[a] || a;\r\n return (H[a] = { color: b, alpha: c });\r\n }\r\n function C(a) {\r\n this.m_ = D();\r\n this.mStack_ = [];\r\n this.aStack_ = [];\r\n this.currentPath_ = [];\r\n this.fillStyle = this.strokeStyle = '#000';\r\n this.lineWidth = 1;\r\n this.lineJoin = 'miter';\r\n this.lineCap = 'butt';\r\n this.miterLimit = 1 * q;\r\n this.globalAlpha = 1;\r\n this.font = '10px sans-serif';\r\n this.textAlign = 'left';\r\n this.textBaseline = 'alphabetic';\r\n this.canvas = a;\r\n var b =\r\n 'width:' +\r\n a.clientWidth +\r\n 'px;height:' +\r\n a.clientHeight +\r\n 'px;overflow:hidden;position:absolute',\r\n c = a.ownerDocument.createElement('div');\r\n c.style.cssText = b;\r\n a.appendChild(c);\r\n b = c.cloneNode(!1);\r\n b.style.backgroundColor = 'red';\r\n b.style.filter = 'alpha(opacity=0)';\r\n a.appendChild(b);\r\n this.element_ = c;\r\n this.lineScale_ = this.arcScaleY_ = this.arcScaleX_ = 1;\r\n }\r\n function R(a, b, c, g) {\r\n a.currentPath_.push({\r\n type: 'bezierCurveTo',\r\n cp1x: b.x,\r\n cp1y: b.y,\r\n cp2x: c.x,\r\n cp2y: c.y,\r\n x: g.x,\r\n y: g.y,\r\n });\r\n a.currentX_ = g.x;\r\n a.currentY_ = g.y;\r\n }\r\n function S(a, b) {\r\n var c = G(a.strokeStyle),\r\n g = c.color,\r\n c = c.alpha * a.globalAlpha,\r\n e = a.lineScale_ * a.lineWidth;\r\n 1 > e && (c *= e);\r\n b.push(\r\n ''\r\n );\r\n }\r\n function T(a, b, c, g) {\r\n var e = a.fillStyle,\r\n f = a.arcScaleX_,\r\n d = a.arcScaleY_,\r\n k = g.x - c.x,\r\n n = g.y - c.y;\r\n if (e instanceof w) {\r\n var h = 0,\r\n l = (g = 0),\r\n u = 0,\r\n m = 1;\r\n if ('gradient' == e.type_) {\r\n h = e.x1_ / f;\r\n c = e.y1_ / d;\r\n var p = s(a, e.x0_ / f, e.y0_ / d),\r\n h = s(a, h, c),\r\n h = (180 * Math.atan2(h.x - p.x, h.y - p.y)) / Math.PI;\r\n 0 > h && (h += 360);\r\n 1e-6 > h && (h = 0);\r\n } else\r\n (p = s(a, e.x0_, e.y0_)),\r\n (g = (p.x - c.x) / k),\r\n (l = (p.y - c.y) / n),\r\n (k /= f * q),\r\n (n /= d * q),\r\n (m = x.max(k, n)),\r\n (u = (2 * e.r0_) / m),\r\n (m = (2 * e.r1_) / m - u);\r\n f = e.colors_;\r\n f.sort(function (a, b) {\r\n return a.offset - b.offset;\r\n });\r\n d = f.length;\r\n p = f[0].color;\r\n c = f[d - 1].color;\r\n k = f[0].alpha * a.globalAlpha;\r\n a = f[d - 1].alpha * a.globalAlpha;\r\n for (var n = [], r = 0; r < d; r++) {\r\n var t = f[r];\r\n n.push(t.offset * m + u + ' ' + t.color);\r\n }\r\n b.push(\r\n ''\r\n );\r\n } else\r\n e instanceof I\r\n ? k &&\r\n n &&\r\n b.push(\r\n ''\r\n )\r\n : ((e = G(a.fillStyle)),\r\n b.push(\r\n ''\r\n ));\r\n }\r\n function s(a, b, c) {\r\n a = a.m_;\r\n return {\r\n x: q * (b * a[0][0] + c * a[1][0] + a[2][0]) - r,\r\n y: q * (b * a[0][1] + c * a[1][1] + a[2][1]) - r,\r\n };\r\n }\r\n function z(a, b, c) {\r\n isFinite(b[0][0]) &&\r\n isFinite(b[0][1]) &&\r\n isFinite(b[1][0]) &&\r\n isFinite(b[1][1]) &&\r\n isFinite(b[2][0]) &&\r\n isFinite(b[2][1]) &&\r\n ((a.m_ = b),\r\n c && (a.lineScale_ = aa(ba(b[0][0] * b[1][1] - b[0][1] * b[1][0]))));\r\n }\r\n function w(a) {\r\n this.type_ = a;\r\n this.r1_ = this.y1_ = this.x1_ = this.r0_ = this.y0_ = this.x0_ = 0;\r\n this.colors_ = [];\r\n }\r\n function I(a, b) {\r\n if (!a || 1 != a.nodeType || 'IMG' != a.tagName)\r\n throw new A('TYPE_MISMATCH_ERR');\r\n if ('complete' != a.readyState) throw new A('INVALID_STATE_ERR');\r\n switch (b) {\r\n case 'repeat':\r\n case null:\r\n case '':\r\n this.repetition_ = 'repeat';\r\n break;\r\n case 'repeat-x':\r\n case 'repeat-y':\r\n case 'no-repeat':\r\n this.repetition_ = b;\r\n break;\r\n default:\r\n throw new A('SYNTAX_ERR');\r\n }\r\n this.src_ = a.src;\r\n this.width_ = a.width;\r\n this.height_ = a.height;\r\n }\r\n function A(a) {\r\n this.code = this[a];\r\n this.message = a + ': DOM Exception ' + this.code;\r\n }\r\n var x = Math,\r\n k = x.round,\r\n J = x.sin,\r\n K = x.cos,\r\n ba = x.abs,\r\n aa = x.sqrt,\r\n q = 10,\r\n r = q / 2;\r\n navigator.userAgent.match(/MSIE ([\\d.]+)?/);\r\n var M = Array.prototype.slice;\r\n O(document);\r\n var U = {\r\n init: function (a) {\r\n a = a || document;\r\n a.createElement('canvas');\r\n a.attachEvent('onreadystatechange', W(this.init_, this, a));\r\n },\r\n init_: function (a) {\r\n a = a.getElementsByTagName('canvas');\r\n for (var b = 0; b < a.length; b++) this.initElement(a[b]);\r\n },\r\n initElement: function (a) {\r\n if (!a.getContext) {\r\n a.getContext = V;\r\n O(a.ownerDocument);\r\n a.innerHTML = '';\r\n a.attachEvent('onpropertychange', X);\r\n a.attachEvent('onresize', Y);\r\n var b = a.attributes;\r\n b.width && b.width.specified\r\n ? (a.style.width = b.width.nodeValue + 'px')\r\n : (a.width = a.clientWidth);\r\n b.height && b.height.specified\r\n ? (a.style.height = b.height.nodeValue + 'px')\r\n : (a.height = a.clientHeight);\r\n }\r\n return a;\r\n },\r\n };\r\n U.init();\r\n for (var v = [], d = 0; 16 > d; d++)\r\n for (var B = 0; 16 > B; B++)\r\n v[16 * d + B] = d.toString(16) + B.toString(16);\r\n var Z = {\r\n aliceblue: '#F0F8FF',\r\n antiquewhite: '#FAEBD7',\r\n aquamarine: '#7FFFD4',\r\n azure: '#F0FFFF',\r\n beige: '#F5F5DC',\r\n bisque: '#FFE4C4',\r\n black: '#000000',\r\n blanchedalmond: '#FFEBCD',\r\n blueviolet: '#8A2BE2',\r\n brown: '#A52A2A',\r\n burlywood: '#DEB887',\r\n cadetblue: '#5F9EA0',\r\n chartreuse: '#7FFF00',\r\n chocolate: '#D2691E',\r\n coral: '#FF7F50',\r\n cornflowerblue: '#6495ED',\r\n cornsilk: '#FFF8DC',\r\n crimson: '#DC143C',\r\n cyan: '#00FFFF',\r\n darkblue: '#00008B',\r\n darkcyan: '#008B8B',\r\n darkgoldenrod: '#B8860B',\r\n darkgray: '#A9A9A9',\r\n darkgreen: '#006400',\r\n darkgrey: '#A9A9A9',\r\n darkkhaki: '#BDB76B',\r\n darkmagenta: '#8B008B',\r\n darkolivegreen: '#556B2F',\r\n darkorange: '#FF8C00',\r\n darkorchid: '#9932CC',\r\n darkred: '#8B0000',\r\n darksalmon: '#E9967A',\r\n darkseagreen: '#8FBC8F',\r\n darkslateblue: '#483D8B',\r\n darkslategray: '#2F4F4F',\r\n darkslategrey: '#2F4F4F',\r\n darkturquoise: '#00CED1',\r\n darkviolet: '#9400D3',\r\n deeppink: '#FF1493',\r\n deepskyblue: '#00BFFF',\r\n dimgray: '#696969',\r\n dimgrey: '#696969',\r\n dodgerblue: '#1E90FF',\r\n firebrick: '#B22222',\r\n floralwhite: '#FFFAF0',\r\n forestgreen: '#228B22',\r\n gainsboro: '#DCDCDC',\r\n ghostwhite: '#F8F8FF',\r\n gold: '#FFD700',\r\n goldenrod: '#DAA520',\r\n grey: '#808080',\r\n greenyellow: '#ADFF2F',\r\n honeydew: '#F0FFF0',\r\n hotpink: '#FF69B4',\r\n indianred: '#CD5C5C',\r\n indigo: '#4B0082',\r\n ivory: '#FFFFF0',\r\n khaki: '#F0E68C',\r\n lavender: '#E6E6FA',\r\n lavenderblush: '#FFF0F5',\r\n lawngreen: '#7CFC00',\r\n lemonchiffon: '#FFFACD',\r\n lightblue: '#ADD8E6',\r\n lightcoral: '#F08080',\r\n lightcyan: '#E0FFFF',\r\n lightgoldenrodyellow: '#FAFAD2',\r\n lightgreen: '#90EE90',\r\n lightgrey: '#D3D3D3',\r\n lightpink: '#FFB6C1',\r\n lightsalmon: '#FFA07A',\r\n lightseagreen: '#20B2AA',\r\n lightskyblue: '#87CEFA',\r\n lightslategray: '#778899',\r\n lightslategrey: '#778899',\r\n lightsteelblue: '#B0C4DE',\r\n lightyellow: '#FFFFE0',\r\n limegreen: '#32CD32',\r\n linen: '#FAF0E6',\r\n magenta: '#FF00FF',\r\n mediumaquamarine: '#66CDAA',\r\n mediumblue: '#0000CD',\r\n mediumorchid: '#BA55D3',\r\n mediumpurple: '#9370DB',\r\n mediumseagreen: '#3CB371',\r\n mediumslateblue: '#7B68EE',\r\n mediumspringgreen: '#00FA9A',\r\n mediumturquoise: '#48D1CC',\r\n mediumvioletred: '#C71585',\r\n midnightblue: '#191970',\r\n mintcream: '#F5FFFA',\r\n mistyrose: '#FFE4E1',\r\n moccasin: '#FFE4B5',\r\n navajowhite: '#FFDEAD',\r\n oldlace: '#FDF5E6',\r\n olivedrab: '#6B8E23',\r\n orange: '#FFA500',\r\n orangered: '#FF4500',\r\n orchid: '#DA70D6',\r\n palegoldenrod: '#EEE8AA',\r\n palegreen: '#98FB98',\r\n paleturquoise: '#AFEEEE',\r\n palevioletred: '#DB7093',\r\n papayawhip: '#FFEFD5',\r\n peachpuff: '#FFDAB9',\r\n peru: '#CD853F',\r\n pink: '#FFC0CB',\r\n plum: '#DDA0DD',\r\n powderblue: '#B0E0E6',\r\n rosybrown: '#BC8F8F',\r\n royalblue: '#4169E1',\r\n saddlebrown: '#8B4513',\r\n salmon: '#FA8072',\r\n sandybrown: '#F4A460',\r\n seagreen: '#2E8B57',\r\n seashell: '#FFF5EE',\r\n sienna: '#A0522D',\r\n skyblue: '#87CEEB',\r\n slateblue: '#6A5ACD',\r\n slategray: '#708090',\r\n slategrey: '#708090',\r\n snow: '#FFFAFA',\r\n springgreen: '#00FF7F',\r\n steelblue: '#4682B4',\r\n tan: '#D2B48C',\r\n thistle: '#D8BFD8',\r\n tomato: '#FF6347',\r\n turquoise: '#40E0D0',\r\n violet: '#EE82EE',\r\n wheat: '#F5DEB3',\r\n whitesmoke: '#F5F5F5',\r\n yellowgreen: '#9ACD32',\r\n },\r\n H = {},\r\n L = {},\r\n $ = { butt: 'flat', round: 'round' },\r\n d = C.prototype;\r\n d.clearRect = function () {\r\n this.textMeasureEl_ &&\r\n (this.textMeasureEl_.removeNode(!0), (this.textMeasureEl_ = null));\r\n this.element_.innerHTML = '';\r\n };\r\n d.beginPath = function () {\r\n this.currentPath_ = [];\r\n };\r\n d.moveTo = function (a, b) {\r\n var c = s(this, a, b);\r\n this.currentPath_.push({ type: 'moveTo', x: c.x, y: c.y });\r\n this.currentX_ = c.x;\r\n this.currentY_ = c.y;\r\n };\r\n d.lineTo = function (a, b) {\r\n var c = s(this, a, b);\r\n this.currentPath_.push({ type: 'lineTo', x: c.x, y: c.y });\r\n this.currentX_ = c.x;\r\n this.currentY_ = c.y;\r\n };\r\n d.bezierCurveTo = function (a, b, c, g, e, f) {\r\n e = s(this, e, f);\r\n a = s(this, a, b);\r\n c = s(this, c, g);\r\n R(this, a, c, e);\r\n };\r\n d.quadraticCurveTo = function (a, b, c, g) {\r\n a = s(this, a, b);\r\n c = s(this, c, g);\r\n g = {\r\n x: this.currentX_ + (2 / 3) * (a.x - this.currentX_),\r\n y: this.currentY_ + (2 / 3) * (a.y - this.currentY_),\r\n };\r\n R(\r\n this,\r\n g,\r\n {\r\n x: g.x + (c.x - this.currentX_) / 3,\r\n y: g.y + (c.y - this.currentY_) / 3,\r\n },\r\n c\r\n );\r\n };\r\n d.arc = function (a, b, c, g, e, f) {\r\n c *= q;\r\n var d = f ? 'at' : 'wa',\r\n k = a + K(g) * c - r,\r\n n = b + J(g) * c - r;\r\n g = a + K(e) * c - r;\r\n e = b + J(e) * c - r;\r\n k != g || f || (k += 0.125);\r\n a = s(this, a, b);\r\n k = s(this, k, n);\r\n g = s(this, g, e);\r\n this.currentPath_.push({\r\n type: d,\r\n x: a.x,\r\n y: a.y,\r\n radius: c,\r\n xStart: k.x,\r\n yStart: k.y,\r\n xEnd: g.x,\r\n yEnd: g.y,\r\n });\r\n };\r\n d.rect = function (a, b, c, g) {\r\n this.moveTo(a, b);\r\n this.lineTo(a + c, b);\r\n this.lineTo(a + c, b + g);\r\n this.lineTo(a, b + g);\r\n this.closePath();\r\n };\r\n d.strokeRect = function (a, b, c, g) {\r\n var e = this.currentPath_;\r\n this.beginPath();\r\n this.moveTo(a, b);\r\n this.lineTo(a + c, b);\r\n this.lineTo(a + c, b + g);\r\n this.lineTo(a, b + g);\r\n this.closePath();\r\n this.stroke();\r\n this.currentPath_ = e;\r\n };\r\n d.fillRect = function (a, b, c, g) {\r\n var e = this.currentPath_;\r\n this.beginPath();\r\n this.moveTo(a, b);\r\n this.lineTo(a + c, b);\r\n this.lineTo(a + c, b + g);\r\n this.lineTo(a, b + g);\r\n this.closePath();\r\n this.fill();\r\n this.currentPath_ = e;\r\n };\r\n d.createLinearGradient = function (a, b, c, g) {\r\n var e = new w('gradient');\r\n e.x0_ = a;\r\n e.y0_ = b;\r\n e.x1_ = c;\r\n e.y1_ = g;\r\n return e;\r\n };\r\n d.createRadialGradient = function (a, b, c, g, e, f) {\r\n var d = new w('gradientradial');\r\n d.x0_ = a;\r\n d.y0_ = b;\r\n d.r0_ = c;\r\n d.x1_ = g;\r\n d.y1_ = e;\r\n d.r1_ = f;\r\n return d;\r\n };\r\n d.drawImage = function (a, b) {\r\n var c, g, e, d, r, y, n, h;\r\n e = a.runtimeStyle.width;\r\n d = a.runtimeStyle.height;\r\n a.runtimeStyle.width = 'auto';\r\n a.runtimeStyle.height = 'auto';\r\n var l = a.width,\r\n u = a.height;\r\n a.runtimeStyle.width = e;\r\n a.runtimeStyle.height = d;\r\n if (3 == arguments.length)\r\n (c = arguments[1]),\r\n (g = arguments[2]),\r\n (r = y = 0),\r\n (n = e = l),\r\n (h = d = u);\r\n else if (5 == arguments.length)\r\n (c = arguments[1]),\r\n (g = arguments[2]),\r\n (e = arguments[3]),\r\n (d = arguments[4]),\r\n (r = y = 0),\r\n (n = l),\r\n (h = u);\r\n else if (9 == arguments.length)\r\n (r = arguments[1]),\r\n (y = arguments[2]),\r\n (n = arguments[3]),\r\n (h = arguments[4]),\r\n (c = arguments[5]),\r\n (g = arguments[6]),\r\n (e = arguments[7]),\r\n (d = arguments[8]);\r\n else throw Error('Invalid number of arguments');\r\n var m = s(this, c, g),\r\n p = [];\r\n p.push(\r\n ' ',\r\n '',\r\n ''\r\n );\r\n this.element_.insertAdjacentHTML('BeforeEnd', p.join(''));\r\n };\r\n d.stroke = function (a) {\r\n var b = [];\r\n b.push(\r\n ' d.x) d.x = f.x;\r\n if (null == c.y || f.y < c.y) c.y = f.y;\r\n if (null == d.y || f.y > d.y) d.y = f.y;\r\n }\r\n }\r\n b.push(' \">');\r\n a ? T(this, b, c, d) : S(this, b);\r\n b.push('');\r\n this.element_.insertAdjacentHTML('beforeEnd', b.join(''));\r\n };\r\n d.fill = function () {\r\n this.stroke(!0);\r\n };\r\n d.closePath = function () {\r\n this.currentPath_.push({ type: 'close' });\r\n };\r\n d.save = function () {\r\n var a = {};\r\n P(this, a);\r\n this.aStack_.push(a);\r\n this.mStack_.push(this.m_);\r\n this.m_ = t(D(), this.m_);\r\n };\r\n d.restore = function () {\r\n this.aStack_.length &&\r\n (P(this.aStack_.pop(), this), (this.m_ = this.mStack_.pop()));\r\n };\r\n d.translate = function (a, b) {\r\n z(\r\n this,\r\n t(\r\n [\r\n [1, 0, 0],\r\n [0, 1, 0],\r\n [a, b, 1],\r\n ],\r\n this.m_\r\n ),\r\n !1\r\n );\r\n };\r\n d.rotate = function (a) {\r\n var b = K(a);\r\n a = J(a);\r\n z(\r\n this,\r\n t(\r\n [\r\n [b, a, 0],\r\n [-a, b, 0],\r\n [0, 0, 1],\r\n ],\r\n this.m_\r\n ),\r\n !1\r\n );\r\n };\r\n d.scale = function (a, b) {\r\n this.arcScaleX_ *= a;\r\n this.arcScaleY_ *= b;\r\n z(\r\n this,\r\n t(\r\n [\r\n [a, 0, 0],\r\n [0, b, 0],\r\n [0, 0, 1],\r\n ],\r\n this.m_\r\n ),\r\n !0\r\n );\r\n };\r\n d.transform = function (a, b, c, d, e, f) {\r\n z(\r\n this,\r\n t(\r\n [\r\n [a, b, 0],\r\n [c, d, 0],\r\n [e, f, 1],\r\n ],\r\n this.m_\r\n ),\r\n !0\r\n );\r\n };\r\n d.setTransform = function (a, b, c, d, e, f) {\r\n z(\r\n this,\r\n [\r\n [a, b, 0],\r\n [c, d, 0],\r\n [e, f, 1],\r\n ],\r\n !0\r\n );\r\n };\r\n d.drawText_ = function (a, b, c, d, e) {\r\n var f = this.m_;\r\n d = 0;\r\n var r = 1e3,\r\n t = 0,\r\n n = [],\r\n h;\r\n h = this.font;\r\n if (L[h]) h = L[h];\r\n else {\r\n var l = document.createElement('div').style;\r\n try {\r\n l.font = h;\r\n } catch (u) {}\r\n h = L[h] = {\r\n style: l.fontStyle || 'normal',\r\n variant: l.fontVariant || 'normal',\r\n weight: l.fontWeight || 'normal',\r\n size: l.fontSize || 10,\r\n family: l.fontFamily || 'sans-serif',\r\n };\r\n }\r\n var l = h,\r\n m = this.element_;\r\n h = {};\r\n for (var p in l) h[p] = l[p];\r\n p = parseFloat(m.currentStyle.fontSize);\r\n m = parseFloat(l.size);\r\n 'number' == typeof l.size\r\n ? (h.size = l.size)\r\n : -1 != l.size.indexOf('px')\r\n ? (h.size = m)\r\n : -1 != l.size.indexOf('em')\r\n ? (h.size = p * m)\r\n : -1 != l.size.indexOf('%')\r\n ? (h.size = (p / 100) * m)\r\n : -1 != l.size.indexOf('pt')\r\n ? (h.size = m / 0.75)\r\n : (h.size = p);\r\n h.size *= 0.981;\r\n p =\r\n h.style +\r\n ' ' +\r\n h.variant +\r\n ' ' +\r\n h.weight +\r\n ' ' +\r\n h.size +\r\n 'px ' +\r\n h.family;\r\n m = this.element_.currentStyle;\r\n l = this.textAlign.toLowerCase();\r\n switch (l) {\r\n case 'left':\r\n case 'center':\r\n case 'right':\r\n break;\r\n case 'end':\r\n l = 'ltr' == m.direction ? 'right' : 'left';\r\n break;\r\n case 'start':\r\n l = 'rtl' == m.direction ? 'right' : 'left';\r\n break;\r\n default:\r\n l = 'left';\r\n }\r\n switch (this.textBaseline) {\r\n case 'hanging':\r\n case 'top':\r\n t = h.size / 1.75;\r\n break;\r\n case 'middle':\r\n break;\r\n default:\r\n case null:\r\n case 'alphabetic':\r\n case 'ideographic':\r\n case 'bottom':\r\n t = -h.size / 2.25;\r\n }\r\n switch (l) {\r\n case 'right':\r\n d = 1e3;\r\n r = 0.05;\r\n break;\r\n case 'center':\r\n d = r = 500;\r\n }\r\n b = s(this, b + 0, c + t);\r\n n.push(\r\n ''\r\n );\r\n e ? S(this, n) : T(this, n, { x: -d, y: 0 }, { x: r, y: h.size });\r\n e =\r\n f[0][0].toFixed(3) +\r\n ',' +\r\n f[1][0].toFixed(3) +\r\n ',' +\r\n f[0][1].toFixed(3) +\r\n ',' +\r\n f[1][1].toFixed(3) +\r\n ',0,0';\r\n b = k(b.x / q) + ',' + k(b.y / q);\r\n n.push(\r\n '',\r\n '',\r\n ''\r\n );\r\n this.element_.insertAdjacentHTML('beforeEnd', n.join(''));\r\n };\r\n d.fillText = function (a, b, c, d) {\r\n this.drawText_(a, b, c, d, !1);\r\n };\r\n d.strokeText = function (a, b, c, d) {\r\n this.drawText_(a, b, c, d, !0);\r\n };\r\n d.measureText = function (a) {\r\n this.textMeasureEl_ ||\r\n (this.element_.insertAdjacentHTML(\r\n 'beforeEnd',\r\n ''\r\n ),\r\n (this.textMeasureEl_ = this.element_.lastChild));\r\n var b = this.element_.ownerDocument;\r\n this.textMeasureEl_.innerHTML = '';\r\n this.textMeasureEl_.style.font = this.font;\r\n this.textMeasureEl_.appendChild(b.createTextNode(a));\r\n return { width: this.textMeasureEl_.offsetWidth };\r\n };\r\n d.clip = function () {};\r\n d.arcTo = function () {};\r\n d.createPattern = function (a, b) {\r\n return new I(a, b);\r\n };\r\n w.prototype.addColorStop = function (a, b) {\r\n b = G(b);\r\n this.colors_.push({ offset: a, color: b.color, alpha: b.alpha });\r\n };\r\n d = A.prototype = Error();\r\n d.INDEX_SIZE_ERR = 1;\r\n d.DOMSTRING_SIZE_ERR = 2;\r\n d.HIERARCHY_REQUEST_ERR = 3;\r\n d.WRONG_DOCUMENT_ERR = 4;\r\n d.INVALID_CHARACTER_ERR = 5;\r\n d.NO_DATA_ALLOWED_ERR = 6;\r\n d.NO_MODIFICATION_ALLOWED_ERR = 7;\r\n d.NOT_FOUND_ERR = 8;\r\n d.NOT_SUPPORTED_ERR = 9;\r\n d.INUSE_ATTRIBUTE_ERR = 10;\r\n d.INVALID_STATE_ERR = 11;\r\n d.SYNTAX_ERR = 12;\r\n d.INVALID_MODIFICATION_ERR = 13;\r\n d.NAMESPACE_ERR = 14;\r\n d.INVALID_ACCESS_ERR = 15;\r\n d.VALIDATION_ERR = 16;\r\n d.TYPE_MISMATCH_ERR = 17;\r\n G_vmlCanvasManager = U;\r\n CanvasRenderingContext2D = C;\r\n CanvasGradient = w;\r\n CanvasPattern = I;\r\n DOMException = A;\r\n })();\r\n/*tslint:enable*/\r\n/*eslint-enable*/\r\n/*jshint ignore:end*/\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface AppConfiguration {\r\n production: boolean;\r\n UniSystemAPI: string;\r\n}\r\n\r\nexport const AppConfig = new InjectionToken(\r\n '@@appConfiguration'\r\n);\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppConfiguration, AppConfig } from './configuration';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\n// if (environment.production) {\r\n// enableProdMode();\r\n// }\r\n\r\n// platformBrowserDynamic()\r\n// .bootstrapModule(AppModule)\r\n// .catch((err) => console.error(err));\r\n(async () => {\r\n try {\r\n const config: AppConfiguration = await fetch(\r\n 'assets/configuration.json'\r\n ).then((res) => res.json());\r\n\r\n if (config.production) {\r\n console.log('Running in production mode');\r\n enableProdMode();\r\n }\r\n\r\n platformBrowserDynamic([{ provide: AppConfig, useValue: config }])\r\n .bootstrapModule(AppModule)\r\n .catch((err) => console.error(err));\r\n } catch (e) {\r\n console.error('Error initializing', e);\r\n }\r\n})();\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Bạn có chắc chắn muốn xóa\r\n

    \r\n
    \r\n \r\n \r\n Hủy bỏ\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppService } from 'src/app/utils/services/app.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AccService } from 'src/app/utils/services/acc.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n@Component({\r\n selector: 'app-xac-nhan',\r\n templateUrl: './xac-nhan.component.html',\r\n styleUrls: ['./xac-nhan.component.scss', './main.css'],\r\n})\r\nexport class XacNhanComponent implements OnInit {\r\n public registerForm: FormGroup;\r\n Title: string = '';\r\n constructor(\r\n private renderer: Renderer2,\r\n private toastr: ToastrService,\r\n private appService: AppService,\r\n private http: HttpClient,\r\n private cookieService: CookieService,\r\n private Acc: AccService,\r\n private spinner: NgxSpinnerService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.renderer.addClass(document.body, 'login-page');\r\n //this.renderer.addClass(document.querySelector('app-root'), 'register-page');\r\n this.registerForm = new FormGroup({\r\n HoTen: new FormControl(null, Validators.required),\r\n NgaySinh: new FormControl(null, Validators.required),\r\n CMND: new FormControl(null, Validators.required),\r\n Email: new FormControl(null, [Validators.email, Validators.required]),\r\n });\r\n }\r\n\r\n Confirm() {\r\n this.Title = '';\r\n if (this.registerForm.valid) {\r\n this.spinner.show();\r\n let req = {\r\n HoTen: this.registerForm.controls.HoTen.value,\r\n NgaySinh: this.registerForm.controls.NgaySinh.value,\r\n CMND: this.registerForm.controls.CMND.value,\r\n Email: this.registerForm.controls.Email.value,\r\n UserCategory: 3,\r\n };\r\n this.Acc.Confirm(req).subscribe((z) => {\r\n this.spinner.hide();\r\n if (z.Status == 1) {\r\n localStorage.setItem('PortalInfo', JSON.stringify(z));\r\n this.toastr.success(z.Message, 'Tác vụ thành công');\r\n this.Title = z.Message;\r\n } else {\r\n this.toastr.error(z.Message, 'Tác vụ thất bại');\r\n localStorage.removeItem('PortalInfo');\r\n }\r\n });\r\n } else {\r\n this.toastr.error(\r\n 'Vui lòng nhập kiểm tra lại thông tin đã nhập',\r\n 'Tác vụ thất bại'\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n // this.renderer.removeClass(\r\n // document.querySelector('app-root'),\r\n // 'register-page'\r\n // );\r\n this.renderer.removeClass(document.body, 'login-page');\r\n }\r\n}\r\n","