/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { __extends } from "tslib";
import { CategoryBucketCalculator } from "./CategoryBucketCalculator";
import { markType, runOn, delegateCombine, typeCast, markDep, Point_$type } from "igniteui-react-core";
import { isNaN_, truncate, isInfinity } from "igniteui-react-core";
import { CategorySeries } from "./CategorySeries";
import { IIsCategoryBased_$type } from "./IIsCategoryBased";
import { IHasHighLowValueCategory_$type } from "./IHasHighLowValueCategory";
import { RangeCategoryFramePreparer } from "./RangeCategoryFramePreparer";
import { DependencyProperty } from "igniteui-react-core";
import { Series } from "./Series";
import { CategoryAxisBase } from "./CategoryAxisBase";
import { ICategoryScaler_$type } from "./ICategoryScaler";
import { IScaler_$type } from "./IScaler";
import { CategorySeriesView } from "./CategorySeriesView";
import { CategoryFrame } from "./CategoryFrame";
import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay";
import { CategoryMarkerManager } from "./CategoryMarkerManager";
import { AxisRange } from "./AxisRange";
import { Rect } from "igniteui-react-core";
import { ScalerParams } from "./ScalerParams";
import { ISortingAxis_$type } from "./ISortingAxis";
import { IFastItemsSource_$type } from "igniteui-react-core";
import { CollisionAvoider } from "./CollisionAvoider";
import { ISupportsMarkers_$type } from "./ISupportsMarkers";
import { ChartSelection } from "./ChartSelection";
import { PropertyMetadata } from "igniteui-react-core";
import { FastFlattener } from "igniteui-react-core";
/**
 * @hidden
 */
var RangeCategoryBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(RangeCategoryBucketCalculator, _super);
    function RangeCategoryBucketCalculator(a) {
        var _this = _super.call(this, a) || this;
        _this.j = null;
        _this.l = 0;
        _this.k = 0;
        _this.i = null;
        _this.h = null;
        _this.j = a;
        return _this;
    }
    RangeCategoryBucketCalculator.prototype.getBucketWithoutUnknowns = function (a) {
        var b = false;
        var c = this.i;
        var d = this.h;
        var e = this.l;
        var f = this.k;
        var g = Math.min(e, f);
        var h = a * this.d;
        var i = Math.min(h + this.d - 1, g - 1);
        var j = 1.7976931348623157E+308;
        var k = -1.7976931348623157E+308;
        var l = true;
        var m = 0;
        var n = 0;
        var o;
        var p;
        if (h <= i) {
            for (var q = h; q <= i; ++q) {
                m = c[q];
                n = d[q];
                if (m < n) {
                    o = m;
                    p = n;
                }
                else {
                    p = m;
                    o = n;
                }
                if (!l) {
                    j = j < o ? j : o;
                    k = k > o ? k : o;
                    j = j < p ? j : p;
                    k = k > p ? k : p;
                }
                else {
                    j = Math.min(j, o);
                    k = Math.max(k, o);
                    k = Math.max(k, p);
                    j = Math.min(j, p);
                    l = false;
                }
            }
        }
        if (b && n < m) {
            var r = j;
            j = k;
            k = r;
        }
        if (!l) {
            var s = new Array(3);
            s[0] = 0.5 * (h + i);
            s[1] = j;
            s[2] = k;
            return s;
        }
        var t = new Array(3);
        t[0] = NaN;
        t[1] = NaN;
        t[2] = NaN;
        return t;
    };
    RangeCategoryBucketCalculator.prototype.getBucket = function (a) {
        var b = false;
        var c = this.i;
        var d = this.h;
        var e = this.l;
        var f = this.k;
        var g = Math.min(e, f);
        var h = a * this.d;
        var i = Math.min(h + this.d - 1, g - 1);
        var j = NaN;
        var k = NaN;
        var l = true;
        var m = 0;
        var n = 0;
        var o;
        var p;
        if (h <= i) {
            for (var q = h; q <= i; ++q) {
                m = c[q];
                n = d[q];
                if (m < n) {
                    o = m;
                    p = n;
                }
                else {
                    p = m;
                    o = n;
                }
                if (!l) {
                    if (!isNaN_(o)) {
                        j = j < o ? j : o;
                        k = k > o ? k : o;
                    }
                    if (!isNaN_(p)) {
                        j = j < p ? j : p;
                        k = k > p ? k : p;
                    }
                }
                else {
                    if (!isNaN_(o)) {
                        if (isNaN_(j)) {
                            j = o;
                        }
                        else {
                            j = Math.min(j, o);
                        }
                        if (!isNaN_(k)) {
                            k = Math.max(k, o);
                        }
                    }
                    if (!isNaN_(p)) {
                        if (isNaN_(k)) {
                            k = p;
                        }
                        else {
                            k = Math.max(k, p);
                        }
                        if (!isNaN_(j)) {
                            j = Math.min(j, p);
                        }
                    }
                    if (!isNaN_(j) && !isNaN_(k)) {
                        l = false;
                    }
                }
            }
        }
        if (n < m && b) {
            var r = j;
            j = k;
            k = r;
        }
        if (!l) {
            var s = new Array(3);
            s[0] = 0.5 * (h + i);
            s[1] = j;
            s[2] = k;
            return s;
        }
        var t = new Array(3);
        t[0] = NaN;
        t[1] = NaN;
        t[2] = NaN;
        return t;
    };
    RangeCategoryBucketCalculator.prototype.cacheValues = function () {
        this.l = this.j.c5.lowColumn.count;
        this.k = this.j.c5.highColumn.count;
        this.i = this.j.c5.lowColumn.asArray();
        this.h = this.j.c5.highColumn.asArray();
    };
    RangeCategoryBucketCalculator.prototype.unCacheValues = function () {
        this.i = null;
        this.h = null;
    };
    RangeCategoryBucketCalculator.$t = markType(RangeCategoryBucketCalculator, 'RangeCategoryBucketCalculator', CategoryBucketCalculator.$);
    return RangeCategoryBucketCalculator;
}(CategoryBucketCalculator));
export { RangeCategoryBucketCalculator };
/**
 * @hidden
 */
var RangeCategorySeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(RangeCategorySeries, _super);
    function RangeCategorySeries() {
        var _this = _super.call(this) || this;
        _this._RangeFramePreparer = null;
        _this.aau = null;
        _this.aat = null;
        _this.aaq = null;
        _this.RangeFramePreparer = new RangeCategoryFramePreparer(1, _this, _this.aas, _this, _this, _this.aas.cw);
        return _this;
    }
    RangeCategorySeries.prototype.cs = function () {
        return new RangeCategorySeriesView(this);
    };
    RangeCategorySeries.prototype.getHostReferenceValue = function () {
        return this.iy();
    };
    RangeCategorySeries.prototype.qz = function (a) {
        _super.prototype.qz.call(this, a);
        this.aas = a;
    };
    Object.defineProperty(RangeCategorySeries.prototype, "RangeFramePreparer", {
        get: function () {
            return this._RangeFramePreparer;
        },
        set: function (a) {
            this._RangeFramePreparer = a;
        },
        enumerable: false,
        configurable: true
    });
    RangeCategorySeries.prototype.gb = function () {
        return this.highlightedItemsSource != null || (this.aa0 != null && this.aay != null);
    };
    RangeCategorySeries.prototype.ht = function () {
        var a = _super.prototype.ht.call(this);
        {
            var b = ((function () {
                var $ret = new SeriesLayerPropertyOverlay();
                $ret.ad = "HighMemberPath";
                $ret.p = true;
                $ret.y = "HighlightedHighMemberPath";
                $ret.q = true;
                return $ret;
            })());
            b.valueResolving = delegateCombine(b.valueResolving, runOn(this, this.aa7));
            a.add(b);
        }
        {
            var c = ((function () {
                var $ret = new SeriesLayerPropertyOverlay();
                $ret.ad = "LowMemberPath";
                $ret.p = true;
                $ret.y = "HighlightedLowMemberPath";
                $ret.q = true;
                return $ret;
            })());
            c.valueResolving = delegateCombine(c.valueResolving, runOn(this, this.aa8));
            a.add(c);
        }
        return a;
    };
    RangeCategorySeries.prototype.aa8 = function (a, b) {
        if (this.aa0 != null) {
            b.value = this.aa0;
            return;
        }
        b.value = this.aa5;
    };
    RangeCategorySeries.prototype.aa7 = function (a, b) {
        if (this.aay != null) {
            b.value = this.aay;
            return;
        }
        b.value = this.aa2;
    };
    RangeCategorySeries.prototype.kq = function (a, b) {
        var c = this.nd(b);
        if (c == RangeCategorySeries.$$p[0]) {
            return this.kr(a, b, this.aa2);
        }
        if (c == RangeCategorySeries.$$p[3]) {
            return this.kr(a, b, this.aa5);
        }
        if (c == RangeCategorySeries.$$p[2]) {
            return this.kr(a, b, this.aa0);
        }
        if (c == RangeCategorySeries.$$p[1]) {
            return this.kr(a, b, this.aay);
        }
        return _super.prototype.kq.call(this, a, b);
    };
    RangeCategorySeries.prototype.md = function (a) {
        var b = this.nd(a);
        if (b == RangeCategorySeries.$$p[0]) {
            return this.aa2;
        }
        if (b == RangeCategorySeries.$$p[3]) {
            return this.aa5;
        }
        if (b == RangeCategorySeries.$$p[2]) {
            return this.aa0;
        }
        if (b == RangeCategorySeries.$$p[1]) {
            return this.aay;
        }
        return _super.prototype.md.call(this, a);
    };
    Object.defineProperty(RangeCategorySeries.prototype, "lowColumn", {
        get: function () {
            return this.aau;
        },
        set: function (a) {
            if (this.aau != a) {
                var b = this.aau;
                this.aau = a;
                this.raisePropertyChanged("LowColumn", b, this.aau);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RangeCategorySeries.prototype, "highColumn", {
        get: function () {
            return this.aat;
        },
        set: function (a) {
            if (this.aat != a) {
                var b = this.aat;
                this.aat = a;
                this.raisePropertyChanged("HighColumn", b, this.aat);
            }
        },
        enumerable: false,
        configurable: true
    });
    RangeCategorySeries.prototype.y2 = function () {
        return 11;
    };
    RangeCategorySeries.prototype.aai = function (a, b) {
        _super.prototype.aai.call(this, a, b);
        b.b7 = true;
        CategoryMarkerManager.e(this, a.n, b.cz, this.xg);
        this.z7(b, a);
    };
    RangeCategorySeries.prototype.aa9 = function (a, b, c, d, e, f) {
        this.aas.c6(a, b, c, d, e, f);
    };
    RangeCategorySeries.prototype.az = function (a) {
        if (a.isEmpty && this.db != null) {
            a = this.db.v4;
        }
        var b = this.yq();
        if (this.lowColumn == null || this.highColumn == null) {
            return null;
        }
        var c = this.wh(this.cv);
        var d = new ScalerParams(0, a, this.db.wj, b.ch, this.getEffectiveViewport());
        var e = (b.eo(c.left, d));
        var f = (b.eo(c.right, d));
        if (b.ch) {
            var g = e;
            e = f;
            f = g;
        }
        var h = null;
        if (b.cn) {
            h = b;
            e = h.i$f(e);
            f = h.i$f(f);
        }
        else {
            e = Math.floor(e);
            f = Math.ceil(f);
        }
        e = Math.max(0, Math.min(this.lowColumn.count - 1, e));
        f = Math.max(0, Math.min(this.lowColumn.count - 1, f));
        var i = 1.7976931348623157E+308;
        var j = -1.7976931348623157E+308;
        for (var k = truncate(e); k <= truncate(f); k++) {
            var l = k;
            if (h != null) {
                l = h.i$b._inner[k];
            }
            var m = this.lowColumn.item(l);
            if (this.lowColumn.mayContainUnknowns) {
                if (isInfinity(m) || isNaN_(m)) {
                    continue;
                }
            }
            var n = this.highColumn.item(l);
            if (this.highColumn.mayContainUnknowns) {
                if (isInfinity(n) || isNaN_(n)) {
                    continue;
                }
            }
            i = Math.min(i, m);
            j = Math.max(j, n);
        }
        var o = new AxisRange(i, j);
        var p = this.y7();
        o = this.ax(o, p, a);
        return o;
    };
    RangeCategorySeries.prototype.gd = function (a) {
        var b = new Rect(0, 0, 0, 1, 1);
        var c = this.cv != null ? this.cv.by : Rect.empty;
        c = c.copy();
        var d = this.cv != null ? this.cv.bx : Rect.empty;
        var e = !c.isEmpty && !d.isEmpty && this.dn != null ? this.dn.indexOf(a) : -1;
        var f = this.fetchXAxis();
        var g = this.fetchYAxis();
        var h = this.wj(this.cv);
        var i;
        if (f != null) {
            var j = new ScalerParams(0, b, b, f.ch, h);
            i = f.el(e, j);
        }
        else {
            i = NaN;
        }
        var k = f != null ? this.RangeFramePreparer.r(typeCast(ICategoryScaler_$type, f), b, b, h) : 0;
        i += k;
        if (e >= 0 && Rect.l_op_Inequality(c, null) && Rect.l_op_Inequality(d, null)) {
            if (!isNaN_(i)) {
                if (i < c.left + 0.1 * c.width) {
                    i = i + 0.4 * c.width;
                }
                if (i > c.right - 0.1 * c.width) {
                    i = i - 0.4 * c.width;
                }
                c.x = i - 0.5 * c.width;
            }
            if (g != null && this.highColumn != null && e < this.highColumn.count) {
                var l = new ScalerParams(0, b, b, g.ch, h);
                l.b = this.iy();
                var m = g.el(this.highColumn.item(e), l);
                var n = g.el(this.lowColumn.item(e), l);
                if (!isNaN_(m) && !isNaN_(n)) {
                    var o = Math.abs(n - m);
                    if (c.height < o) {
                        c.height = o;
                        c.y = Math.min(n, m);
                    }
                    else {
                        if (n < c.top + 0.1 * c.height) {
                            n = n + 0.4 * c.height;
                        }
                        if (n > c.bottom - 0.1 * c.height) {
                            n = n - 0.4 * c.height;
                        }
                        c.y = n - 0.5 * c.height;
                    }
                }
            }
            if (this.c3 != null) {
                this.c3.au(this.db, c, true);
            }
        }
        return e >= 0;
    };
    RangeCategorySeries.prototype.q7 = function (a, b, c, d) {
        _super.prototype.q7.call(this, a, b, c, d);
        switch (b) {
            case "FastItemsSource":
                if (typeCast(IFastItemsSource_$type, c) != null) {
                    c.deregisterColumn(this.lowColumn);
                    c.deregisterColumn(this.highColumn);
                    this.lowColumn = null;
                    this.highColumn = null;
                }
                if (typeCast(IFastItemsSource_$type, d) != null) {
                    this.lowColumn = this.dk(this.aa5);
                    this.highColumn = this.dk(this.aa2);
                }
                if (!this.zn()) {
                    this.y1.cw.g(this.id);
                    this.rp(this.gg && c != null);
                }
                break;
            case RangeCategorySeries.$$p[3]:
                if (this.dn != null) {
                    this.dn.deregisterColumn(this.lowColumn);
                    this.lowColumn = this.dk(this.aa5);
                }
                break;
            case "LowColumn":
                if (!this.zn()) {
                    this.y1.cw.g(this.id);
                    this.rp(this.gg && this.d7);
                }
                break;
            case RangeCategorySeries.$$p[0]:
                if (this.dn != null) {
                    this.dn.deregisterColumn(this.highColumn);
                    this.highColumn = this.dk(this.aa2);
                }
                break;
            case "HighColumn":
                if (!this.zn()) {
                    this.y1.cw.g(this.id);
                    this.rp(this.gg && this.d7);
                }
                break;
        }
    };
    RangeCategorySeries.prototype.ay = function (a) {
        if (this.lowColumn == null || this.lowColumn.count == 0 || this.highColumn == null || this.highColumn.count == 0) {
            return null;
        }
        if (a == this.fetchXAxis()) {
            var b = Math.min(this.lowColumn.count, this.highColumn.count);
            return new AxisRange(0, b - 1);
        }
        if (a == this.fetchYAxis()) {
            var c = Math.min(this.lowColumn.minimum, this.highColumn.minimum);
            var d = Math.max(this.lowColumn.maximum, this.highColumn.maximum);
            return new AxisRange(Math.min(c, d), Math.max(c, d));
        }
        return null;
    };
    RangeCategorySeries.prototype.pb = function (a, b, c, d) {
        if (this.fetchXAxis() != null && typeCast(ISortingAxis_$type, this.fetchXAxis()) !== null) {
            this.fetchXAxis().i$i();
        }
        var e = this.fetchXAxis();
        switch (a) {
            case 3:
                if (d == this.aa5 || d == this.aa2) {
                    if (e != null) {
                        e.c1();
                    }
                    if (!this.zn()) {
                        this.rp(true);
                    }
                }
                break;
            case 1:
                if (e != null) {
                    e.c1();
                }
                this.y1.cw.g(this.id);
                if (!this.zn()) {
                    this.rp(true);
                }
                break;
            case 0:
                if (e != null) {
                    e.c1();
                }
                this.y1.cw.g(this.id);
                if (!this.zn()) {
                    this.rp(true);
                }
                break;
            case 2:
                if (e != null) {
                    e.c1();
                }
                if (this.aa5 != null && this.aa2 != null && this.y1.cw.d > 0 && !this.zn()) {
                    this.rp(true);
                }
                break;
            case 4:
                if (e != null) {
                    e.c1();
                }
                this.y1.cw.g(this.id);
                if (!this.zn()) {
                    this.rp(true);
                }
                break;
        }
    };
    RangeCategorySeries.prototype.he = function (a, b, c) {
        var d = _super.prototype.he.call(this, a, b, c);
        if (this.lowColumn == null || this.lowColumn.count == 0 || this.highColumn == null || this.highColumn.count == 0) {
            d = false;
        }
        return d;
    };
    RangeCategorySeries.prototype.aaf = function (a, b) {
        _super.prototype.aaf.call(this, a, b);
        this.RangeFramePreparer.d(a, b);
    };
    Object.defineProperty(RangeCategorySeries.prototype, "currentCategoryMode", {
        get: function () {
            return this.preferredCategoryMode(typeCast(CategoryAxisBase.$, this.fetchXAxis()));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RangeCategorySeries.prototype, "scaler", {
        get: function () {
            return typeCast(ICategoryScaler_$type, this.fetchXAxis());
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RangeCategorySeries.prototype, "yScaler", {
        get: function () {
            return typeCast(IScaler_$type, this.fetchYAxis());
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RangeCategorySeries.prototype, "bucketizer", {
        get: function () {
            return this.y1.cw;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(RangeCategorySeries.prototype, "currentMode2Index", {
        get: function () {
            return this.zw();
        },
        enumerable: false,
        configurable: true
    });
    RangeCategorySeries.prototype.provideCollisionDetector = function () {
        return new CollisionAvoider();
    };
    Object.defineProperty(RangeCategorySeries.prototype, "mayContainUnknowns", {
        get: function () {
            return this.lowColumn == null || this.lowColumn.mayContainUnknowns || this.highColumn == null || this.highColumn.mayContainUnknowns;
        },
        enumerable: false,
        configurable: true
    });
    RangeCategorySeries.prototype.rr = function (a, b) {
        var c = this.g0;
        _super.prototype.rr.call(this, a, b);
        if (!c) {
            this.cv.a4(b);
            return;
        }
        this.cv.a4(b);
        if (this.d5(this.cu)) {
            return;
        }
        var d = new RangeCategoryFramePreparer(1, this, typeCast(ISupportsMarkers_$type, this.cu), this.db.c9.o, this, this.cu.cw);
        if (!this.gs) {
            this.yv = new CategoryFrame(3);
            this.yv.v();
            d.d(this.yv, this.cu);
        }
        this.gs = false;
        this.aai(this.yv, this.cu);
        this.g0 = false;
    };
    RangeCategorySeries.prototype.ro = function (a, b, c, d, e) {
        _super.prototype.ro.call(this, a, b, c, d, e);
        var f = this.ba.a$j.item(d);
        var g = f;
        g.cw.g(this.id);
        f.a3(c);
        if (this.d5(g)) {
            return;
        }
        var h = new RangeCategoryFramePreparer(1, this, typeCast(ISupportsMarkers_$type, f), f, this, f.cw);
        if (this.aaq == null) {
            this.aaq = new CategoryFrame(3);
        }
        this.aaq.v();
        h.d(this.aaq, g);
        this.aai(this.aaq, g);
    };
    RangeCategorySeries.prototype.iy = function () {
        return Series.iz(this.lowColumn, typeCast(ISortingAxis_$type, this.fetchXAxis()));
    };
    RangeCategorySeries.prototype.aab = function (a, b, c, d, e, f, g) {
        var _this = this;
        if (c == -1 || d == -1) {
            return;
        }
        for (var h = c; h <= d; h++) {
            var i = this.lowColumn.item(h);
            var j = this.highColumn.item(h);
            var k = Math.min(i, j);
            var l = Math.max(i, j);
            if (k < f && e < l) {
                if (g == 7 || g == 6) {
                    b.add(((function () {
                        var $ret = new ChartSelection();
                        $ret.series = _this;
                        return $ret;
                    })()));
                    return;
                }
                this.z5(b, h, g);
            }
        }
    };
    RangeCategorySeries.prototype.z5 = function (a, b, c) {
        var _this = this;
        if (c == 2 || c == 1) {
            a.add(((function () {
                var $ret = new ChartSelection();
                $ret.item = _this.dn.item(b);
                return $ret;
            })()));
        }
        else {
            a.add(((function () {
                var $ret = new ChartSelection();
                $ret.item = _this.dn.item(b);
                $ret.series = _this;
                return $ret;
            })()));
        }
    };
    Object.defineProperty(RangeCategorySeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zo;
        },
        enumerable: false,
        configurable: true
    });
    RangeCategorySeries.$t = markType(RangeCategorySeries, 'RangeCategorySeries', CategorySeries.$, [IIsCategoryBased_$type, IHasHighLowValueCategory_$type]);
    RangeCategorySeries.$$p = markDep(DependencyProperty, PropertyMetadata, RangeCategorySeries, 'raisePropertyChanged', ['HighMemberPath:aa2:abc', [2, null], 'HighlightedHighMemberPath:aay:aba', [2, null], 'HighlightedLowMemberPath:aa0:abb', [2, null], 'LowMemberPath:aa5:abd', [2, null]]);
    return RangeCategorySeries;
}(CategorySeries));
export { RangeCategorySeries };
/**
 * @hidden
 */
var RangeCategorySeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(RangeCategorySeriesView, _super);
    function RangeCategorySeriesView(a) {
        var _this = _super.call(this, a) || this;
        _this.c5 = null;
        _this.c5 = a;
        return _this;
    }
    RangeCategorySeriesView.prototype.c6 = function (a, b, c, d, e, f) {
        a.an.clear();
        b.an.clear();
        c.an.clear();
        var g = FastFlattener.b(d, e, true, f, this.e.id);
        var h = FastFlattener.b(d, e, false, f, this.e.id);
        var i = g.count;
        var j = h.count;
        var k;
        var l;
        var m;
        var n;
        for (var o = 0; o < i; o++) {
            k = g.item(o);
            l = e._inner[k];
            m = l[0];
            n = l[1];
            a.an.add({ $type: Point_$type, x: m, y: n });
            b.an.add({ $type: Point_$type, x: m, y: n });
        }
        var p;
        var q;
        for (var r = 0; r < j; r++) {
            k = h.item(r);
            l = e._inner[k];
            if (f) {
                p = l[0];
                q = l[2];
            }
            else {
                p = l[2];
                q = l[3];
            }
            c.an.add({ $type: Point_$type, x: p, y: q });
            b.an.add({ $type: Point_$type, x: p, y: q });
        }
        a.ab = a.an.count > 0;
        b.ab = b.an.count > 0;
        c.ab = c.an.count > 0;
    };
    RangeCategorySeriesView.prototype.cx = function () {
        return new RangeCategoryBucketCalculator(this);
    };
    RangeCategorySeriesView.$t = markType(RangeCategorySeriesView, 'RangeCategorySeriesView', CategorySeriesView.$);
    return RangeCategorySeriesView;
}(CategorySeriesView));
export { RangeCategorySeriesView };
