@pie-lib/graphing-solution-set 3.1.1-next.1 → 3.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/bg.test.js +282 -0
- package/lib/__tests__/coordinates-label.test.js +276 -0
- package/lib/__tests__/graph-with-controls.test.js +256 -0
- package/lib/__tests__/graph.test.js +113 -0
- package/lib/__tests__/grid-setup.test.js +729 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/labels.test.js +45 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/toggle-bar.test.js +146 -0
- package/lib/__tests__/tool-menu.test.js +540 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/axes.test.js +160 -0
- package/lib/axis/arrow.js +1 -1
- package/lib/axis/axes.js +1 -1
- package/lib/axis/index.js +1 -1
- package/lib/bg.js +1 -1
- package/lib/container/__tests__/actions.test.js +108 -0
- package/lib/container/__tests__/index.test.js +346 -0
- package/lib/container/__tests__/marks.test.js +259 -0
- package/lib/container/__tests__/middleware.test.js +244 -0
- package/lib/container/__tests__/reducer.test.js +450 -0
- package/lib/container/actions.js +1 -1
- package/lib/container/index.js +1 -1
- package/lib/container/marks.js +1 -1
- package/lib/container/middleware.js +1 -1
- package/lib/container/reducer.js +1 -1
- package/lib/coordinates-label.js +1 -1
- package/lib/graph-with-controls.js +1 -1
- package/lib/graph.js +1 -1
- package/lib/grid-setup.js +1 -1
- package/lib/grid.js +1 -1
- package/lib/index.js +1 -1
- package/lib/labels.js +1 -1
- package/lib/mark-label.js +1 -1
- package/lib/toggle-bar.js +1 -1
- package/lib/tool-menu.js +1 -1
- package/lib/tools/index.js +1 -1
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/line/component.js +1 -1
- package/lib/tools/line/index.js +1 -1
- package/lib/tools/polygon/__tests__/component.test.js +501 -0
- package/lib/tools/polygon/__tests__/index.test.js +92 -0
- package/lib/tools/polygon/__tests__/line.test.js +30 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
- package/lib/tools/polygon/component.js +1 -1
- package/lib/tools/polygon/index.js +1 -1
- package/lib/tools/polygon/line.js +1 -1
- package/lib/tools/polygon/polygon.js +1 -1
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/arrow-head.js +1 -1
- package/lib/tools/shared/line/__tests__/index.test.js +725 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +618 -0
- package/lib/tools/shared/line/index.js +1 -1
- package/lib/tools/shared/line/line-path.js +1 -1
- package/lib/tools/shared/line/with-root-edge.js +1 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/arrow.test.js +619 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/shared/point/arrow-point.js +1 -1
- package/lib/tools/shared/point/arrow.js +1 -1
- package/lib/tools/shared/point/base-point.js +1 -1
- package/lib/tools/shared/point/index.js +1 -1
- package/lib/tools/shared/styles.js +1 -1
- package/lib/tools/shared/types.js +1 -1
- package/lib/undo-redo.js +1 -1
- package/lib/use-debounce.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +10 -10
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -16
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
var _testUtils = require("@pie-lib/test-utils");
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _graph = _interopRequireWildcard(require("../graph"));
|
|
9
|
+
var _tools = require("../tools");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
// Pure function tests - keep as-is
|
|
14
|
+
describe('removeBuildingToolIfCurrentToolDiffers', function () {
|
|
15
|
+
var marks = [{
|
|
16
|
+
type: 'point',
|
|
17
|
+
x: 2,
|
|
18
|
+
y: 2,
|
|
19
|
+
label: 'Point',
|
|
20
|
+
showLabel: true
|
|
21
|
+
}, {
|
|
22
|
+
type: 'line',
|
|
23
|
+
from: {
|
|
24
|
+
x: 0,
|
|
25
|
+
y: 0
|
|
26
|
+
},
|
|
27
|
+
label: 'Line',
|
|
28
|
+
building: true
|
|
29
|
+
}];
|
|
30
|
+
it('keeps all marks if currentTool is the same', function () {
|
|
31
|
+
expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
|
|
32
|
+
marks: marks,
|
|
33
|
+
currentTool: {
|
|
34
|
+
type: 'line'
|
|
35
|
+
}
|
|
36
|
+
})).toEqual(marks);
|
|
37
|
+
});
|
|
38
|
+
it('removes building marks if currentTool is different', function () {
|
|
39
|
+
expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
|
|
40
|
+
marks: marks,
|
|
41
|
+
currentTool: {
|
|
42
|
+
type: 'different'
|
|
43
|
+
}
|
|
44
|
+
})).toEqual([marks[0]]);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Note: Instance method tests have been removed. Component behavior should be tested
|
|
49
|
+
// through user interactions and integration tests.
|
|
50
|
+
describe('Graph', function () {
|
|
51
|
+
var onChangeMarks = jest.fn();
|
|
52
|
+
beforeEach(function () {
|
|
53
|
+
onChangeMarks.mockClear();
|
|
54
|
+
});
|
|
55
|
+
var complete = jest.fn();
|
|
56
|
+
var addPoint = jest.fn();
|
|
57
|
+
var currentTool = _tools.toolsArr[0];
|
|
58
|
+
currentTool.complete = complete;
|
|
59
|
+
currentTool.addPoint = addPoint;
|
|
60
|
+
var props = {
|
|
61
|
+
className: 'className',
|
|
62
|
+
onChangeMarks: onChangeMarks,
|
|
63
|
+
tools: _tools.toolsArr,
|
|
64
|
+
domain: {
|
|
65
|
+
min: 0,
|
|
66
|
+
max: 1,
|
|
67
|
+
step: 1
|
|
68
|
+
},
|
|
69
|
+
range: {
|
|
70
|
+
min: 0,
|
|
71
|
+
max: 1,
|
|
72
|
+
step: 1
|
|
73
|
+
},
|
|
74
|
+
size: {
|
|
75
|
+
width: 400,
|
|
76
|
+
height: 400
|
|
77
|
+
},
|
|
78
|
+
currentTool: currentTool
|
|
79
|
+
};
|
|
80
|
+
var renderComponent = function renderComponent(extras) {
|
|
81
|
+
var properties = _objectSpread(_objectSpread({}, props), {}, {
|
|
82
|
+
marks: [{
|
|
83
|
+
type: 'point',
|
|
84
|
+
x: 2,
|
|
85
|
+
y: 2,
|
|
86
|
+
label: 'Point',
|
|
87
|
+
showLabel: true
|
|
88
|
+
}, {
|
|
89
|
+
type: 'line',
|
|
90
|
+
from: {
|
|
91
|
+
x: 0,
|
|
92
|
+
y: 0
|
|
93
|
+
},
|
|
94
|
+
label: 'Line',
|
|
95
|
+
building: true
|
|
96
|
+
}]
|
|
97
|
+
}, extras);
|
|
98
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], properties));
|
|
99
|
+
};
|
|
100
|
+
describe('rendering', function () {
|
|
101
|
+
it('renders without crashing', function () {
|
|
102
|
+
var _renderComponent = renderComponent(),
|
|
103
|
+
container = _renderComponent.container;
|
|
104
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
105
|
+
});
|
|
106
|
+
it('renders SVG graph', function () {
|
|
107
|
+
var _renderComponent2 = renderComponent(),
|
|
108
|
+
container = _renderComponent2.container;
|
|
109
|
+
expect(container.querySelector('svg')).toBeInTheDocument();
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl90b29scyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZXNjcmliZSIsIm1hcmtzIiwidHlwZSIsIngiLCJ5IiwibGFiZWwiLCJzaG93TGFiZWwiLCJmcm9tIiwiYnVpbGRpbmciLCJpdCIsImV4cGVjdCIsInJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzIiwiY3VycmVudFRvb2wiLCJ0b0VxdWFsIiwib25DaGFuZ2VNYXJrcyIsImplc3QiLCJmbiIsImJlZm9yZUVhY2giLCJtb2NrQ2xlYXIiLCJjb21wbGV0ZSIsImFkZFBvaW50IiwidG9vbHNBcnIiLCJwcm9wcyIsImNsYXNzTmFtZSIsInRvb2xzIiwiZG9tYWluIiwibWluIiwibWF4Iiwic3RlcCIsInJhbmdlIiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwicmVuZGVyQ29tcG9uZW50IiwiZXh0cmFzIiwicHJvcGVydGllcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJxdWVyeVNlbGVjdG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9ncmFwaC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBHcmFwaCwgeyByZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycyB9IGZyb20gJy4uL2dyYXBoJztcbmltcG9ydCB7IHRvb2xzQXJyIH0gZnJvbSAnLi4vdG9vbHMnO1xuXG4vLyBQdXJlIGZ1bmN0aW9uIHRlc3RzIC0ga2VlcCBhcy1pc1xuZGVzY3JpYmUoJ3JlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzJywgKCkgPT4ge1xuICBsZXQgbWFya3MgPSBbXG4gICAge1xuICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICAgIHg6IDIsXG4gICAgICB5OiAyLFxuICAgICAgbGFiZWw6ICdQb2ludCcsXG4gICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnbGluZScsXG4gICAgICBmcm9tOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgIGxhYmVsOiAnTGluZScsXG4gICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICB9LFxuICBdO1xuXG4gIGl0KCdrZWVwcyBhbGwgbWFya3MgaWYgY3VycmVudFRvb2wgaXMgdGhlIHNhbWUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzKHsgbWFya3MsIGN1cnJlbnRUb29sOiB7IHR5cGU6ICdsaW5lJyB9IH0pKS50b0VxdWFsKG1hcmtzKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbW92ZXMgYnVpbGRpbmcgbWFya3MgaWYgY3VycmVudFRvb2wgaXMgZGlmZmVyZW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChyZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycyh7IG1hcmtzLCBjdXJyZW50VG9vbDogeyB0eXBlOiAnZGlmZmVyZW50JyB9IH0pKS50b0VxdWFsKFttYXJrc1swXV0pO1xuICB9KTtcbn0pO1xuXG4vLyBOb3RlOiBJbnN0YW5jZSBtZXRob2QgdGVzdHMgaGF2ZSBiZWVuIHJlbW92ZWQuIENvbXBvbmVudCBiZWhhdmlvciBzaG91bGQgYmUgdGVzdGVkXG4vLyB0aHJvdWdoIHVzZXIgaW50ZXJhY3Rpb25zIGFuZCBpbnRlZ3JhdGlvbiB0ZXN0cy5cbmRlc2NyaWJlKCdHcmFwaCcsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlTWFya3MgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2VNYXJrcy5tb2NrQ2xlYXIoKTtcbiAgfSk7XG5cbiAgY29uc3QgY29tcGxldGUgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGFkZFBvaW50ID0gamVzdC5mbigpO1xuICBjb25zdCBjdXJyZW50VG9vbCA9IHRvb2xzQXJyWzBdO1xuICBjdXJyZW50VG9vbC5jb21wbGV0ZSA9IGNvbXBsZXRlO1xuICBjdXJyZW50VG9vbC5hZGRQb2ludCA9IGFkZFBvaW50O1xuXG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgb25DaGFuZ2VNYXJrcyxcbiAgICB0b29sczogdG9vbHNBcnIsXG4gICAgZG9tYWluOiB7IG1pbjogMCwgbWF4OiAxLCBzdGVwOiAxIH0sXG4gICAgcmFuZ2U6IHsgbWluOiAwLCBtYXg6IDEsIHN0ZXA6IDEgfSxcbiAgICBzaXplOiB7IHdpZHRoOiA0MDAsIGhlaWdodDogNDAwIH0sXG4gICAgY3VycmVudFRvb2wsXG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIG1hcmtzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICAgIHg6IDIsXG4gICAgICAgICAgeTogMixcbiAgICAgICAgICBsYWJlbDogJ1BvaW50JyxcbiAgICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnbGluZScsXG4gICAgICAgICAgZnJvbTogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgICAgbGFiZWw6ICdMaW5lJyxcbiAgICAgICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICAuLi5leHRyYXMsXG4gICAgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxHcmFwaCB7Li4ucHJvcGVydGllc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIFNWRyBncmFwaCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3Rvcignc3ZnJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQW9DLFNBQUFJLHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFNLEVBQUEsRUFBQVAsQ0FBQSxJQUFBQyxDQUFBLENBQUFNLEVBQUEsSUFBQWQsQ0FBQSxDQUFBYyxFQUFBLFdBQUFOLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBQUEsU0FBQW1CLFFBQUFwQixDQUFBLEVBQUFHLENBQUEsUUFBQUYsQ0FBQSxHQUFBZ0IsTUFBQSxDQUFBSSxJQUFBLENBQUFyQixDQUFBLE9BQUFpQixNQUFBLENBQUFLLHFCQUFBLFFBQUFoQixDQUFBLEdBQUFXLE1BQUEsQ0FBQUsscUJBQUEsQ0FBQXRCLENBQUEsR0FBQUcsQ0FBQSxLQUFBRyxDQUFBLEdBQUFBLENBQUEsQ0FBQWlCLE1BQUEsV0FBQXBCLENBQUEsV0FBQWMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBRyxDQUFBLEVBQUFxQixVQUFBLE9BQUF2QixDQUFBLENBQUF3QixJQUFBLENBQUFDLEtBQUEsQ0FBQXpCLENBQUEsRUFBQUssQ0FBQSxZQUFBTCxDQUFBO0FBQUEsU0FBQTBCLGNBQUEzQixDQUFBLGFBQUFHLENBQUEsTUFBQUEsQ0FBQSxHQUFBeUIsU0FBQSxDQUFBQyxNQUFBLEVBQUExQixDQUFBLFVBQUFGLENBQUEsV0FBQTJCLFNBQUEsQ0FBQXpCLENBQUEsSUFBQXlCLFNBQUEsQ0FBQXpCLENBQUEsUUFBQUEsQ0FBQSxPQUFBaUIsT0FBQSxDQUFBSCxNQUFBLENBQUFoQixDQUFBLE9BQUE2QixPQUFBLFdBQUEzQixDQUFBLFFBQUE0QixnQkFBQSxhQUFBL0IsQ0FBQSxFQUFBRyxDQUFBLEVBQUFGLENBQUEsQ0FBQUUsQ0FBQSxTQUFBYyxNQUFBLENBQUFlLHlCQUFBLEdBQUFmLE1BQUEsQ0FBQWdCLGdCQUFBLENBQUFqQyxDQUFBLEVBQUFpQixNQUFBLENBQUFlLHlCQUFBLENBQUEvQixDQUFBLEtBQUFtQixPQUFBLENBQUFILE1BQUEsQ0FBQWhCLENBQUEsR0FBQTZCLE9BQUEsV0FBQTNCLENBQUEsSUFBQWMsTUFBQSxDQUFBQyxjQUFBLENBQUFsQixDQUFBLEVBQUFHLENBQUEsRUFBQWMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbEIsQ0FBQSxFQUFBRSxDQUFBLGlCQUFBSCxDQUFBO0FBRXBDO0FBQ0FrQyxRQUFRLENBQUMsd0NBQXdDLEVBQUUsWUFBTTtFQUN2RCxJQUFJQyxLQUFLLEdBQUcsQ0FDVjtJQUNFQyxJQUFJLEVBQUUsT0FBTztJQUNiQyxDQUFDLEVBQUUsQ0FBQztJQUNKQyxDQUFDLEVBQUUsQ0FBQztJQUNKQyxLQUFLLEVBQUUsT0FBTztJQUNkQyxTQUFTLEVBQUU7RUFDYixDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLE1BQU07SUFDWkssSUFBSSxFQUFFO01BQUVKLENBQUMsRUFBRSxDQUFDO01BQUVDLENBQUMsRUFBRTtJQUFFLENBQUM7SUFDcEJDLEtBQUssRUFBRSxNQUFNO0lBQ2JHLFFBQVEsRUFBRTtFQUNaLENBQUMsQ0FDRjtFQUVEQyxFQUFFLENBQUMsNENBQTRDLEVBQUUsWUFBTTtJQUNyREMsTUFBTSxDQUFDLElBQUFDLDZDQUFzQyxFQUFDO01BQUVWLEtBQUssRUFBTEEsS0FBSztNQUFFVyxXQUFXLEVBQUU7UUFBRVYsSUFBSSxFQUFFO01BQU87SUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDVyxPQUFPLENBQUNaLEtBQUssQ0FBQztFQUN6RyxDQUFDLENBQUM7RUFFRlEsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLFlBQU07SUFDN0RDLE1BQU0sQ0FBQyxJQUFBQyw2Q0FBc0MsRUFBQztNQUFFVixLQUFLLEVBQUxBLEtBQUs7TUFBRVcsV0FBVyxFQUFFO1FBQUVWLElBQUksRUFBRTtNQUFZO0lBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1csT0FBTyxDQUFDLENBQUNaLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ25ILENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQzs7QUFFRjtBQUNBO0FBQ0FELFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBTTtFQUN0QixJQUFJYyxhQUFhLEdBQUdDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7RUFFN0JDLFVBQVUsQ0FBQyxZQUFNO0lBQ2ZILGFBQWEsQ0FBQ0ksU0FBUyxDQUFDLENBQUM7RUFDM0IsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsUUFBUSxHQUFHSixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0VBQzFCLElBQU1JLFFBQVEsR0FBR0wsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUMxQixJQUFNSixXQUFXLEdBQUdTLGVBQVEsQ0FBQyxDQUFDLENBQUM7RUFDL0JULFdBQVcsQ0FBQ08sUUFBUSxHQUFHQSxRQUFRO0VBQy9CUCxXQUFXLENBQUNRLFFBQVEsR0FBR0EsUUFBUTtFQUUvQixJQUFNRSxLQUFLLEdBQUc7SUFDWkMsU0FBUyxFQUFFLFdBQVc7SUFDdEJULGFBQWEsRUFBYkEsYUFBYTtJQUNiVSxLQUFLLEVBQUVILGVBQVE7SUFDZkksTUFBTSxFQUFFO01BQUVDLEdBQUcsRUFBRSxDQUFDO01BQUVDLEdBQUcsRUFBRSxDQUFDO01BQUVDLElBQUksRUFBRTtJQUFFLENBQUM7SUFDbkNDLEtBQUssRUFBRTtNQUFFSCxHQUFHLEVBQUUsQ0FBQztNQUFFQyxHQUFHLEVBQUUsQ0FBQztNQUFFQyxJQUFJLEVBQUU7SUFBRSxDQUFDO0lBQ2xDRSxJQUFJLEVBQUU7TUFBRUMsS0FBSyxFQUFFLEdBQUc7TUFBRUMsTUFBTSxFQUFFO0lBQUksQ0FBQztJQUNqQ3BCLFdBQVcsRUFBWEE7RUFDRixDQUFDO0VBRUQsSUFBTXFCLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsTUFBTSxFQUFLO0lBQ2xDLElBQU1DLFVBQVUsR0FBQTFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNYNkIsS0FBSztNQUNSckIsS0FBSyxFQUFFLENBQ0w7UUFDRUMsSUFBSSxFQUFFLE9BQU87UUFDYkMsQ0FBQyxFQUFFLENBQUM7UUFDSkMsQ0FBQyxFQUFFLENBQUM7UUFDSkMsS0FBSyxFQUFFLE9BQU87UUFDZEMsU0FBUyxFQUFFO01BQ2IsQ0FBQyxFQUNEO1FBQ0VKLElBQUksRUFBRSxNQUFNO1FBQ1pLLElBQUksRUFBRTtVQUFFSixDQUFDLEVBQUUsQ0FBQztVQUFFQyxDQUFDLEVBQUU7UUFBRSxDQUFDO1FBQ3BCQyxLQUFLLEVBQUUsTUFBTTtRQUNiRyxRQUFRLEVBQUU7TUFDWixDQUFDO0lBQ0YsR0FDRTBCLE1BQU0sQ0FDVjtJQUNELE9BQU8sSUFBQUUsaUJBQU0sZUFBQzNFLE1BQUEsWUFBQTRFLGFBQUEsQ0FBQzFFLE1BQUEsV0FBSyxFQUFLd0UsVUFBYSxDQUFDLENBQUM7RUFDMUMsQ0FBQztFQUVEbkMsUUFBUSxDQUFDLFdBQVcsRUFBRSxZQUFNO0lBQzFCUyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsWUFBTTtNQUNuQyxJQUFBNkIsZ0JBQUEsR0FBc0JMLGVBQWUsQ0FBQyxDQUFDO1FBQS9CTSxTQUFTLEdBQUFELGdCQUFBLENBQVRDLFNBQVM7TUFDakI3QixNQUFNLENBQUM2QixTQUFTLENBQUNDLFVBQVUsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztJQUVGaEMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLFlBQU07TUFDNUIsSUFBQWlDLGlCQUFBLEdBQXNCVCxlQUFlLENBQUMsQ0FBQztRQUEvQk0sU0FBUyxHQUFBRyxpQkFBQSxDQUFUSCxTQUFTO01BQ2pCN0IsTUFBTSxDQUFDNkIsU0FBUyxDQUFDSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQ0YsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|