stimulsoft-forms
Version:
Stimulsoft PDF Forms
927 lines (926 loc) • 112 kB
JavaScript
/*
{*******************************************************************}
{ }
{ }
{ }
{ Copyright (C) Stimulsoft }
{ ALL RIGHTS RESERVED }
{ }
{ The entire contents of this file is protected by U.S. and }
{ International Copyright Laws. Unauthorized reproduction, }
{ reverse-engineering, and distribution of all or any portion of }
{ the code contained in this file is strictly prohibited and may }
{ result in severe civil and criminal penalties and will be }
{ prosecuted to the maximum extent possible under the law. }
{ }
{ RESTRICTIONS }
{ }
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
{ ARE CONFIDENTIAL AND PROPRIETARY }
{ TRADE SECRETS OF Stimulsoft }
{ }
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
{ ADDITIONAL RESTRICTIONS. }
{ }
{*******************************************************************}
*/
export default class Color {
constructor() {
this.propertyName = "color";
this.name = Color.customName;
}
static aliceBlue() {
let color = Color.fromArgb(0xf0, 0xf8, 0xff);
color.name = "Alice Blue";
return color;
}
static antiqueWhite() {
let color = Color.fromArgb(0xfa, 0xeb, 0xd7);
color.name = "Antique White";
return color;
}
static aqua() {
let color = Color.fromArgb(0x00, 0xff, 0xff);
color.name = "Aqua";
return color;
}
static aquamarine() {
let color = Color.fromArgb(0x7f, 0xff, 0xd4);
color.name = "Aquamarine";
return color;
}
static azure() {
let color = Color.fromArgb(0xf0, 0xff, 0xff);
color.name = "Azure";
return color;
}
static beige() {
let color = Color.fromArgb(0xf5, 0xf5, 0xdc);
color.name = "Beige";
return color;
}
static bisque() {
let color = Color.fromArgb(0xff, 0xe4, 0xc4);
color.name = "Bisque";
return color;
}
static black() {
let color = Color.fromArgb(0x00, 0x00, 0x00);
color.name = "Black";
return color;
}
static blanchedAlmond() {
let color = Color.fromArgb(0xff, 0xeb, 0xcd);
color.name = "Blanched Almond";
return color;
}
static blue() {
let color = Color.fromArgb(0x00, 0x00, 0xff);
color.name = "Blue";
return color;
}
static blueViolet() {
let color = Color.fromArgb(0x8a, 0x2b, 0xe2);
color.name = "Blue Violet";
return color;
}
static brown() {
let color = Color.fromArgb(0xa5, 0x2a, 0x2a);
color.name = "Brown";
return color;
}
static burlyWood() {
let color = Color.fromArgb(0xde, 0xb8, 0x87);
color.name = "Burly Wood";
return color;
}
static cadetBlue() {
let color = Color.fromArgb(0x5f, 0x9e, 0xa0);
color.name = "Cadet Blue";
return color;
}
static chartreuse() {
let color = Color.fromArgb(0x7f, 0xff, 0x00);
color.name = "Chartreuse";
return color;
}
static chocolate() {
let color = Color.fromArgb(0xd2, 0x69, 0x1e);
color.name = "Chocolate";
return color;
}
static coral() {
let color = Color.fromArgb(0xff, 0x7f, 0x50);
color.name = "Coral";
return color;
}
static cornflowerBlue() {
let color = Color.fromArgb(0x64, 0x95, 0xed);
color.name = "Cornflower Blue";
return color;
}
static cornsilk() {
let color = Color.fromArgb(0xff, 0xf8, 0xdc);
color.name = "Cornsilk";
return color;
}
static crimson() {
let color = Color.fromArgb(0xdc, 0x14, 0x3c);
color.name = "Crimson";
return color;
}
static cyan() {
let color = Color.fromArgb(0x00, 0xff, 0xff);
color.name = "Cyan";
return color;
}
static darkBlue() {
let color = Color.fromArgb(0x00, 0x00, 0x8b);
color.name = "Dark Blue";
return color;
}
static darkCyan() {
let color = Color.fromArgb(0x00, 0x8b, 0x8b);
color.name = "Dark Cyan";
return color;
}
static darkGoldenrod() {
let color = Color.fromArgb(0xb8, 0x86, 0x0b);
color.name = "Dark Goldenrod";
return color;
}
static darkGray() {
let color = Color.fromArgb(0xa9, 0xa9, 0xa9);
color.name = "Dark Gray";
return color;
}
static darkGreen() {
let color = Color.fromArgb(0x00, 0x64, 0x00);
color.name = "Dark Green";
return color;
}
static darkKhaki() {
let color = Color.fromArgb(0xbd, 0xb7, 0x6b);
color.name = "Dark Khaki";
return color;
}
static darkMagenta() {
let color = Color.fromArgb(0x8b, 0x00, 0x8b);
color.name = "Dark Magenta";
return color;
}
static darkOliveGreen() {
let color = Color.fromArgb(0x55, 0x6b, 0x2f);
color.name = "Dark Olive Green";
return color;
}
static darkOrange() {
let color = Color.fromArgb(0xff, 0x8c, 0x00);
color.name = "Dark Orange";
return color;
}
static darkOrchid() {
let color = Color.fromArgb(0x99, 0x32, 0xcc);
color.name = "Dark Orchid";
return color;
}
static darkRed() {
let color = Color.fromArgb(0x8b, 0x00, 0x00);
color.name = "Dark Red";
return color;
}
static darkSalmon() {
let color = Color.fromArgb(0xe9, 0x96, 0x7a);
color.name = "Dark Salmon";
return color;
}
static darkSeaGreen() {
let color = Color.fromArgb(0x8f, 0xbc, 0x8f);
color.name = "Dark Sea Green";
return color;
}
static darkSlateBlue() {
let color = Color.fromArgb(0x48, 0x3d, 0x8b);
color.name = "Dark Slate Blue";
return color;
}
static darkSlateGray() {
let color = Color.fromArgb(0x2f, 0x4f, 0x4f);
color.name = "Dark Slate Gray";
return color;
}
static darkTurquoise() {
let color = Color.fromArgb(0x00, 0xce, 0xd1);
color.name = "Dark Turquoise";
return color;
}
static darkViolet() {
let color = Color.fromArgb(0x94, 0x00, 0xd3);
color.name = "Dark Violet";
return color;
}
static deepPink() {
let color = Color.fromArgb(0xff, 0x14, 0x93);
color.name = "Deep Pink";
return color;
}
static deepSkyBlue() {
let color = Color.fromArgb(0x00, 0xbf, 0xff);
color.name = "Deep Sky Blue";
return color;
}
static dimGray() {
let color = Color.fromArgb(0x69, 0x69, 0x69);
color.name = "Dim Gray";
return color;
}
static dodgerBlue() {
let color = Color.fromArgb(0x1e, 0x90, 0xff);
color.name = "Dodger Blue";
return color;
}
static firebrick() {
let color = Color.fromArgb(0xb2, 0x22, 0x22);
color.name = "Firebrick";
return color;
}
static floralWhite() {
let color = Color.fromArgb(0xff, 0xfa, 0xf0);
color.name = "Floral White";
return color;
}
static forestGreen() {
let color = Color.fromArgb(0x22, 0x8b, 0x22);
color.name = "Forest Green";
return color;
}
static fuchsia() {
let color = Color.fromArgb(0xff, 0x00, 0xff);
color.name = "Fuchsia";
return color;
}
static gainsboro() {
let color = Color.fromArgb(0xdc, 0xdc, 0xdc);
color.name = "Gainsboro";
return color;
}
static ghostWhite() {
let color = Color.fromArgb(0xf8, 0xf8, 0xff);
color.name = "Ghost White";
return color;
}
static gold() {
let color = Color.fromArgb(0xff, 0xd7, 0x00);
color.name = "Gold";
return color;
}
static goldenrod() {
let color = Color.fromArgb(0xda, 0xa5, 0x20);
color.name = "Goldenrod";
return color;
}
static gray() {
let color = Color.fromArgb(0x80, 0x80, 0x80);
color.name = "Gray";
return color;
}
static green() {
let color = Color.fromArgb(0x00, 0x80, 0x00);
color.name = "Green";
return color;
}
static greenYellow() {
let color = Color.fromArgb(0xad, 0xff, 0x2f);
color.name = "Green Yellow";
return color;
}
static honeydew() {
let color = Color.fromArgb(0xf0, 0xff, 0xf0);
color.name = "Honeydew";
return color;
}
static hotPink() {
let color = Color.fromArgb(0xff, 0x69, 0xb4);
color.name = "Hot Pink";
return color;
}
static indianRed() {
let color = Color.fromArgb(0xcd, 0x5c, 0x5c);
color.name = "Indian Red";
return color;
}
static indigo() {
let color = Color.fromArgb(0x4b, 0x00, 0x82);
color.name = "Indigo";
return color;
}
static ivory() {
let color = Color.fromArgb(0xff, 0xff, 0xf0);
color.name = "Ivory";
return color;
}
static khaki() {
let color = Color.fromArgb(0xf0, 0xe6, 0x8c);
color.name = "Khaki";
return color;
}
static lavender() {
let color = Color.fromArgb(0xe6, 0xe6, 0xfa);
color.name = "Lavender";
return color;
}
static lavenderBlush() {
let color = Color.fromArgb(0xff, 0xf0, 0xf5);
color.name = "Lavender Blush";
return color;
}
static lawnGreen() {
let color = Color.fromArgb(0x7c, 0xfc, 0x00);
color.name = "Lawn Green";
return color;
}
static lemonChiffon() {
let color = Color.fromArgb(0xff, 0xfa, 0xcd);
color.name = "Lemon Chiffon";
return color;
}
static lightBlue() {
let color = Color.fromArgb(0xad, 0xd8, 0xe6);
color.name = "Light Blue";
return color;
}
static lightCoral() {
let color = Color.fromArgb(0xf0, 0x80, 0x80);
color.name = "Light Coral";
return color;
}
static lightCyan() {
let color = Color.fromArgb(0xe0, 0xff, 0xff);
color.name = "Light Cyan";
return color;
}
static lightGoldenrodYellow() {
let color = Color.fromArgb(0xfa, 0xfa, 0xd2);
color.name = "Light Goldenrod Yellow";
return color;
}
static lightGray() {
let color = Color.fromArgb(0xd3, 0xd3, 0xd3);
color.name = "Light Gray";
return color;
}
static lightGreen() {
let color = Color.fromArgb(0x90, 0xee, 0x90);
color.name = "Light Green";
return color;
}
static lightPink() {
let color = Color.fromArgb(0xff, 0xb6, 0xc1);
color.name = "Light Pink";
return color;
}
static lightSalmon() {
let color = Color.fromArgb(0xff, 0xa0, 0x7a);
color.name = "Light Salmon";
return color;
}
static lightSeaGreen() {
let color = Color.fromArgb(0x20, 0xb2, 0xaa);
color.name = "Light Sea Green";
return color;
}
static lightSkyBlue() {
let color = Color.fromArgb(0x87, 0xce, 0xfa);
color.name = "Light Sky Blue";
return color;
}
static lightSlateGray() {
let color = Color.fromArgb(0x77, 0x88, 0x99);
color.name = "Light Slate Gray";
return color;
}
static lightSteelBlue() {
let color = Color.fromArgb(0xb0, 0xc4, 0xde);
color.name = "Light Steel Blue";
return color;
}
static lightYellow() {
let color = Color.fromArgb(0xff, 0xff, 0xe0);
color.name = "Light Yellow";
return color;
}
static lime() {
let color = Color.fromArgb(0x00, 0xff, 0x00);
color.name = "Lime";
return color;
}
static limeGreen() {
let color = Color.fromArgb(0x32, 0xcd, 0x32);
color.name = "Lime Green";
return color;
}
static linen() {
let color = Color.fromArgb(0xfa, 0xf0, 0xe6);
color.name = "Linen";
return color;
}
static magenta() {
let color = Color.fromArgb(0xff, 0x00, 0xff);
color.name = "Magenta";
return color;
}
static maroon() {
let color = Color.fromArgb(0x80, 0x00, 0x00);
color.name = "Maroon";
return color;
}
static mediumAquamarine() {
let color = Color.fromArgb(0x66, 0xcd, 0xaa);
color.name = "Medium Aquamarine";
return color;
}
static mediumBlue() {
let color = Color.fromArgb(0x00, 0x00, 0xcd);
color.name = "Medium Blue";
return color;
}
static mediumOrchid() {
let color = Color.fromArgb(0xba, 0x55, 0xd3);
color.name = "Medium Orchid";
return color;
}
static mediumPurple() {
let color = Color.fromArgb(0x93, 0x70, 0xdb);
color.name = "Medium Purple";
return color;
}
static mediumSeaGreen() {
let color = Color.fromArgb(0x3c, 0xb3, 0x71);
color.name = "Medium Sea Green";
return color;
}
static mediumSlateBlue() {
let color = Color.fromArgb(0x7b, 0x68, 0xee);
color.name = "Medium Slate Blue";
return color;
}
static mediumSpringGreen() {
let color = Color.fromArgb(0x00, 0xfa, 0x9a);
color.name = "Medium Spring Green";
return color;
}
static mediumTurquoise() {
let color = Color.fromArgb(0x48, 0xd1, 0xcc);
color.name = "Medium Turquoise";
return color;
}
static mediumVioletRed() {
let color = Color.fromArgb(0xc7, 0x15, 0x85);
color.name = "Medium Violet Red";
return color;
}
static midnightBlue() {
let color = Color.fromArgb(0x19, 0x19, 0x70);
color.name = "Midnight Blue";
return color;
}
static mintCream() {
let color = Color.fromArgb(0xf5, 0xff, 0xfa);
color.name = "Mint Cream";
return color;
}
static mistyRose() {
let color = Color.fromArgb(0xff, 0xe4, 0xe1);
color.name = "Misty Rose";
return color;
}
static moccasin() {
let color = Color.fromArgb(0xff, 0xe4, 0xb5);
color.name = "Moccasin";
return color;
}
static navajoWhite() {
let color = Color.fromArgb(0xff, 0xde, 0xad);
color.name = "Navajo White";
return color;
}
static navy() {
let color = Color.fromArgb(0x00, 0x00, 0x80);
color.name = "Navy";
return color;
}
static oldLace() {
let color = Color.fromArgb(0xfd, 0xf5, 0xe6);
color.name = "Old Lace";
return color;
}
static olive() {
let color = Color.fromArgb(0x80, 0x80, 0x00);
color.name = "Olive";
return color;
}
static oliveDrab() {
let color = Color.fromArgb(0x6b, 0x8e, 0x23);
color.name = "Olive Drab";
return color;
}
static orange() {
let color = Color.fromArgb(0xff, 0xa5, 0x00);
color.name = "Orange";
return color;
}
static orangeRed() {
let color = Color.fromArgb(0xff, 0x45, 0x00);
color.name = "Orange Red";
return color;
}
static orchid() {
let color = Color.fromArgb(0xda, 0x70, 0xd6);
color.name = "Orchid";
return color;
}
static paleGoldenrod() {
let color = Color.fromArgb(0xee, 0xe8, 0xaa);
color.name = "Pale Goldenrod";
return color;
}
static paleGreen() {
let color = Color.fromArgb(0x98, 0xfb, 0x98);
color.name = "Pale Green";
return color;
}
static paleTurquoise() {
let color = Color.fromArgb(0xaf, 0xee, 0xee);
color.name = "Pale Turquoise";
return color;
}
static paleVioletRed() {
let color = Color.fromArgb(0xdb, 0x70, 0x93);
color.name = "Pale Violet Red";
return color;
}
static papayaWhip() {
let color = Color.fromArgb(0xff, 0xef, 0xd5);
color.name = "Papaya Whip";
return color;
}
static peachPuff() {
let color = Color.fromArgb(0xff, 0xda, 0xb9);
color.name = "Peach Puff";
return color;
}
static peru() {
let color = Color.fromArgb(0xcd, 0x85, 0x3f);
color.name = "Peru";
return color;
}
static pink() {
let color = Color.fromArgb(0xff, 0xc0, 0xcb);
color.name = "Pink";
return color;
}
static plum() {
let color = Color.fromArgb(0xdd, 0xa0, 0xdd);
color.name = "Plum";
return color;
}
static powderBlue() {
let color = Color.fromArgb(0xb0, 0xe0, 0xe6);
color.name = "Powder Blue";
return color;
}
static purple() {
let color = Color.fromArgb(0x80, 0x00, 0x80);
color.name = "Purple";
return color;
}
static red() {
let color = Color.fromArgb(0xff, 0x00, 0x00);
color.name = "Red";
return color;
}
static rosyBrown() {
let color = Color.fromArgb(0xbc, 0x8f, 0x8f);
color.name = "Rosy Brown";
return color;
}
static royalBlue() {
let color = Color.fromArgb(0x41, 0x69, 0xe1);
color.name = "Royal Blue";
return color;
}
static saddleBrown() {
let color = Color.fromArgb(0x8b, 0x45, 0x13);
color.name = "Saddle Brown";
return color;
}
static salmon() {
let color = Color.fromArgb(0xfa, 0x80, 0x72);
color.name = "Salmon";
return color;
}
static sandyBrown() {
let color = Color.fromArgb(0xf4, 0xa4, 0x60);
color.name = "Sandy Brown";
return color;
}
static seaGreen() {
let color = Color.fromArgb(0x2e, 0x8b, 0x57);
color.name = "Sea Green";
return color;
}
static seaShell() {
let color = Color.fromArgb(0xff, 0xf5, 0xee);
color.name = "Sea Shell";
return color;
}
static sienna() {
let color = Color.fromArgb(0xa0, 0x52, 0x2d);
color.name = "Sienna";
return color;
}
static silver() {
let color = Color.fromArgb(0xc0, 0xc0, 0xc0);
color.name = "Silver";
return color;
}
static skyBlue() {
let color = Color.fromArgb(0x87, 0xce, 0xeb);
color.name = "Sky Blue";
return color;
}
static slateBlue() {
let color = Color.fromArgb(0x6a, 0x5a, 0xcd);
color.name = "Slate Blue";
return color;
}
static slateGray() {
let color = Color.fromArgb(0x70, 0x80, 0x90);
color.name = "Slate Gray";
return color;
}
static snow() {
let color = Color.fromArgb(0xff, 0xfa, 0xfa);
color.name = "Snow";
return color;
}
static springGreen() {
let color = Color.fromArgb(0x00, 0xff, 0x7f);
color.name = "Spring Green";
return color;
}
static steelBlue() {
let color = Color.fromArgb(0x46, 0x82, 0xb4);
color.name = "Steel Blue";
return color;
}
static tan() {
let color = Color.fromArgb(0xd2, 0xb4, 0x8c);
color.name = "Tan";
return color;
}
static teal() {
let color = Color.fromArgb(0x00, 0x80, 0x80);
color.name = "Teal";
return color;
}
static thistle() {
let color = Color.fromArgb(0xd8, 0xbf, 0xd8);
color.name = "Thistle";
return color;
}
static tomato() {
let color = Color.fromArgb(0xff, 0x63, 0x47);
color.name = "Tomato";
return color;
}
static turquoise() {
let color = Color.fromArgb(0x40, 0xe0, 0xd0);
color.name = "Turquoise";
return color;
}
static violet() {
let color = Color.fromArgb(0xee, 0x82, 0xee);
color.name = "Violet";
return color;
}
static wheat() {
let color = Color.fromArgb(0xf5, 0xde, 0xb3);
color.name = "Wheat";
return color;
}
static white() {
let color = Color.fromArgb(0xff, 0xff, 0xff);
color.name = "White";
return color;
}
static whiteSmoke() {
let color = Color.fromArgb(0xf5, 0xf5, 0xf5);
color.name = "White Smoke";
return color;
}
static yellow() {
let color = Color.fromArgb(0xff, 0xff, 0x00);
color.name = "Yellow";
return color;
}
static yellowGreen() {
let color = Color.fromArgb(0x9a, 0xcd, 0x32);
color.name = "Yellow Green";
return color;
}
static transparent() {
let color = Color.fromArgb(0x00, 0xff, 0xff, 0xff);
color.name = "Transparent";
return color;
}
static empty() {
let color = Color.fromArgb(0x00, 0xff, 0xff, 0xff);
color.name = "Empty";
return color;
}
static fromName(name) {
name = name.replace(/ /gi, "");
if (this.isNullOrEmpty(name)) {
return null; // Color.empty;
}
name = name.charAt(0).toLowerCase() + name.substr(1);
let color = Color[name];
if (color && typeof color == "function") {
return color();
}
return null; //Color.empty;
}
static isNullOrEmpty(value) {
return value == null || value === "" || value === undefined;
}
clone() {
let color = new Color();
color.r = this.r;
color.g = this.g;
color.b = this.b;
color.a = this._a;
color.name = this.name;
return color;
}
isChanged() {
return this.savedColor == null || !this.savedColor.equals(this);
}
resetChanged() {
this.savedColor = this.clone();
}
get a() {
return this._a;
}
set a(value) {
this._a = value;
this.name = Color.customName;
}
get r() {
return this._r;
}
set r(value) {
this._r = value;
this.name = Color.customName;
}
get g() {
return this._g;
}
set g(value) {
this._g = value;
this.name = Color.customName;
}
get b() {
return this._b;
}
set b(value) {
this._b = value;
this.name = Color.customName;
}
static { this.customName = "Custom"; }
get isNamedColor() {
return this.name != Color.customName;
}
equals(color) {
if (color != null) {
if ((color._a == 0x00 && color._r == 0xff && color._g == 0xff && color._b == 0xff) ||
(this._a == 0x00 && this._r == 0xff && this._g == 0xff && this._b == 0xff))
return this._a == color._a;
else
return this._a == color._a && this._r == color._r && this._g == color._g && this._b == color._b;
}
return false;
}
static fromArgb(alpha, red, green, blue) {
if (typeof red == "undefined") {
blue = alpha & 0xff;
green = (alpha >> 8) & 0xff;
red = (alpha >> 16) & 0xff;
alpha = (alpha >> 24) & 0xff;
}
else if (typeof green == "undefined") {
blue = red._b;
green = red._g;
red = red._r;
}
else if (typeof blue == "undefined") {
blue = green;
green = red;
red = alpha;
alpha = 255;
}
let color = new Color();
color._a = alpha;
color._r = red;
color._g = green;
color._b = blue;
color.name = Color.customName;
return color;
}
toArgb() {
let argb = this._a << 24;
argb += this._r << 16;
argb += this._g << 8;
argb += this._b;
return argb;
}
componentToHex(c) {
let hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
getHashCode() {
return this.toArgb();
}
toHtmlColor() {
return `rgba(${this.r}, ${this.g}, ${this.b}, ${Math.round((100 * this.a) / 255) / 100})`;
}
toHexColor() {
return "#" + this.componentToHex(this.r) + this.componentToHex(this.g) + this.componentToHex(this.b);
}
get hexColor() {
return this.toHtmlColor();
}
getStringName() {
if (this.a == 0) {
return "Transparent";
}
else {
return `${this.a != 255 ? this.a + "," : ""}${this.r + ","}${this.g + ","}${this.b}`;
}
}
set hexColor(value) {
let oldColor = this.changesInterceptor ? this.clone() : null;
let num = parseInt(value.substring(1), 16);
if (num || num == 0) {
this.b = num & 0xff;
this.g = (num >> 8) & 0xff;
this.r = (num >> 16) & 0xff;
this.a = 255;
}
else {
let num = value.replace("rgba(", "").replace(")", "");
let array = num.split(",");
this.r = isNaN(Number(array[0])) ? 0 : Number(array[0]);
this.g = isNaN(Number(array[1])) ? 0 : Number(array[1]);
this.b = isNaN(Number(array[2])) ? 0 : Number(array[2]);
this.a = isNaN(Math.round(255 * Number(array[3]))) ? 255 : Math.round(255 * Number(array[3]));
}
this.name = Color.customName;
if (this.changesInterceptor) {
this.changesInterceptor.propertyChanged(this.propertyName, this.clone(), oldColor);
}
}
toString() {
return this.name != Color.customName ? this.name : this.hexColor;
}
deserializeFromString(value) {
let result;
if (value.indexOf(",") != -1) {
let strs = value.split(",");
if (strs.length == 4) {
result = Color.fromArgb(parseFloat(strs[0].trim()), parseFloat(strs[1].trim()), parseFloat(strs[2].trim()), parseFloat(strs[3].trim()));
}
else {
result = Color.fromArgb(parseFloat(strs[0].trim()), parseFloat(strs[1].trim()), parseFloat(strs[2].trim()));
}
}
else if (value.indexOf("[") == 0 && value.indexOf("]") == value.length - 1 && value.indexOf(":") != -1) {
let strs = value.substring(1, value.length - 1).split(":");
if (strs.length == 4) {
result = Color.fromArgb(parseFloat(strs[0].trim()), parseFloat(strs[1].trim()), parseFloat(strs[2].trim()), parseFloat(strs[3].trim()));
}
else {
result = Color.fromArgb(parseFloat(strs[0].trim()), parseFloat(strs[1].trim()), parseFloat(strs[2].trim()));
}
}
else {
result = Color.fromName(value);
}
this._r = result._r;
this._b = result._b;
this._g = result._g;
this._a = result._a;
this.name = result.name;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdGltdWxzb2Z0LWZvcm1zL3NyYy9saWIvc3lzdGVtL0NvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBCRTtBQUlGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sS0FBSztJQUExQjtRQW8zQlMsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFnRDlCLFNBQUksR0FBVyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBaUpsQyxDQUFDO0lBcGpDQyxNQUFNLENBQUMsU0FBUztRQUNkLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWTtRQUNqQixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVU7UUFDZixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU07UUFDWCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVU7UUFDZixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUM7UUFDM0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVU7UUFDZixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjO1FBQ25CLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO1FBQ2hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVO1FBQ2YsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVO1FBQ2YsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVO1FBQ2YsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhO1FBQ2xCLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhO1FBQ2xCLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhO1FBQ2xCLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzlCLE9BQU8s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LENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNkLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTTtRQUNYLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUTtRQUNiLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYTtRQUNsQixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNkLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWTtRQUNqQixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVU7UUFDZixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUM7UUFDM0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLG9CQUFvQjtRQUN6QixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNkLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVTtRQUNmLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNkLElBQUksS0FBSyxHQUFVLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLEtBQUssR0FBVSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEQsS0FBSyxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWE7UUFDbEIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVk7UUFDakIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJO1FBQ1QsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTO1FBQ2QsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsSUFBSSxLQUFLLEdBQVUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0I7UUFD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