@pie-element/select-text 9.6.2-beta.1 → 9.6.2-beta.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.
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _ = _interopRequireDefault(require(".."));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
-
11
- var _piePlayerEvents = require("@pie-framework/pie-player-events");
12
-
13
- var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
14
-
15
- jest.mock('@pie-lib/pie-toolbox/math-rendering', function () {
16
- return {
17
- renderMath: jest.fn()
18
- };
19
- });
20
- jest.mock('../main', function () {
21
- return jest.fn();
22
- });
23
- jest.mock('react', function () {
24
- return {
25
- createElement: jest.fn()
26
- };
27
- });
28
- jest.mock('react-dom', function () {
29
- return {
30
- render: jest.fn(function (r, el, cb) {
31
- cb();
32
- })
33
- };
34
- });
35
- describe('select-text', function () {
36
- var c;
37
- beforeEach(function () {
38
- c = new _["default"]();
39
- c.dispatchEvent = jest.fn();
40
- c.tagName = 'select-text';
41
- c.model = {};
42
- c.session = {};
43
- });
44
- describe('init', function () {
45
- it('calls createElement', function () {
46
- expect(_react["default"].createElement).toBeCalled();
47
- });
48
- it('calls render', function () {
49
- expect(_reactDom["default"].render).toBeCalledWith(undefined, expect.anything(), expect.any(Function));
50
- });
51
- it('calls renderMath', function () {
52
- expect(_mathRendering.renderMath).toHaveBeenCalled();
53
- });
54
- });
55
- describe('isSessionComplete', function () {
56
- it('returns true for non empty selectedTokens', function () {
57
- c.session = {
58
- selectedTokens: [{
59
- start: 0,
60
- end: 1,
61
- text: 'f'
62
- }]
63
- };
64
- expect(c.isSessionComplete()).toEqual(true);
65
- });
66
- it('returns false for empty selectedTokens', function () {
67
- c.session = {
68
- selectedTokens: []
69
- };
70
- expect(c.isSessionComplete()).toEqual(false);
71
- });
72
- });
73
- describe('selectionChanged', function () {
74
- var newTokens;
75
- beforeEach(function () {
76
- newTokens = [{
77
- start: 2,
78
- end: 3,
79
- text: 'f'
80
- }];
81
- c.selectionChanged(newTokens);
82
- });
83
- it('sets the tokens', function () {
84
- expect(c._session.selectedTokens).toEqual(newTokens);
85
- });
86
- it('calls dispatchEvent', function () {
87
- expect(c.dispatchEvent).toBeCalledWith(new _piePlayerEvents.SessionChangedEvent('select-text', true));
88
- });
89
- });
90
- });
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInJlbmRlck1hdGgiLCJmbiIsImNyZWF0ZUVsZW1lbnQiLCJyZW5kZXIiLCJyIiwiZWwiLCJjYiIsImRlc2NyaWJlIiwiYyIsImJlZm9yZUVhY2giLCJTZWxlY3RUZXh0IiwiZGlzcGF0Y2hFdmVudCIsInRhZ05hbWUiLCJtb2RlbCIsInNlc3Npb24iLCJpdCIsImV4cGVjdCIsIlJlYWN0IiwidG9CZUNhbGxlZCIsIlJlYWN0RE9NIiwidG9CZUNhbGxlZFdpdGgiLCJ1bmRlZmluZWQiLCJhbnl0aGluZyIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZCIsInNlbGVjdGVkVG9rZW5zIiwic3RhcnQiLCJlbmQiLCJ0ZXh0IiwiaXNTZXNzaW9uQ29tcGxldGUiLCJ0b0VxdWFsIiwibmV3VG9rZW5zIiwic2VsZWN0aW9uQ2hhbmdlZCIsIl9zZXNzaW9uIiwiU2Vzc2lvbkNoYW5nZWRFdmVudCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSxxQ0FBVixFQUFpRDtBQUFBLFNBQU87QUFDdERDLElBQUFBLFVBQVUsRUFBRUYsSUFBSSxDQUFDRyxFQUFMO0FBRDBDLEdBQVA7QUFBQSxDQUFqRDtBQUdBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxTQUFWLEVBQXFCO0FBQUEsU0FBTUQsSUFBSSxDQUFDRyxFQUFMLEVBQU47QUFBQSxDQUFyQjtBQUVBSCxJQUFJLENBQUNDLElBQUwsQ0FBVSxPQUFWLEVBQW1CO0FBQUEsU0FBTztBQUN4QkcsSUFBQUEsYUFBYSxFQUFFSixJQUFJLENBQUNHLEVBQUw7QUFEUyxHQUFQO0FBQUEsQ0FBbkI7QUFJQUgsSUFBSSxDQUFDQyxJQUFMLENBQVUsV0FBVixFQUF1QjtBQUFBLFNBQU87QUFDNUJJLElBQUFBLE1BQU0sRUFBRUwsSUFBSSxDQUFDRyxFQUFMLENBQVEsVUFBQ0csQ0FBRCxFQUFJQyxFQUFKLEVBQVFDLEVBQVIsRUFBZTtBQUM3QkEsTUFBQUEsRUFBRTtBQUNILEtBRk87QUFEb0IsR0FBUDtBQUFBLENBQXZCO0FBTUFDLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFDNUIsTUFBSUMsQ0FBSjtBQUNBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxDQUFDLEdBQUcsSUFBSUUsWUFBSixFQUFKO0FBQ0FGLElBQUFBLENBQUMsQ0FBQ0csYUFBRixHQUFrQmIsSUFBSSxDQUFDRyxFQUFMLEVBQWxCO0FBQ0FPLElBQUFBLENBQUMsQ0FBQ0ksT0FBRixHQUFZLGFBQVo7QUFDQUosSUFBQUEsQ0FBQyxDQUFDSyxLQUFGLEdBQVUsRUFBVjtBQUNBTCxJQUFBQSxDQUFDLENBQUNNLE9BQUYsR0FBWSxFQUFaO0FBQ0QsR0FOUyxDQUFWO0FBUUFQLEVBQUFBLFFBQVEsQ0FBQyxNQUFELEVBQVMsWUFBTTtBQUNyQlEsSUFBQUEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDOUJDLE1BQUFBLE1BQU0sQ0FBQ0Msa0JBQU1mLGFBQVAsQ0FBTixDQUE0QmdCLFVBQTVCO0FBQ0QsS0FGQyxDQUFGO0FBR0FILElBQUFBLEVBQUUsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDdkJDLE1BQUFBLE1BQU0sQ0FBQ0cscUJBQVNoQixNQUFWLENBQU4sQ0FBd0JpQixjQUF4QixDQUF1Q0MsU0FBdkMsRUFBa0RMLE1BQU0sQ0FBQ00sUUFBUCxFQUFsRCxFQUFxRU4sTUFBTSxDQUFDTyxHQUFQLENBQVdDLFFBQVgsQ0FBckU7QUFDRCxLQUZDLENBQUY7QUFJQVQsSUFBQUEsRUFBRSxDQUFDLGtCQUFELEVBQXFCLFlBQU07QUFDM0JDLE1BQUFBLE1BQU0sQ0FBQ2hCLHlCQUFELENBQU4sQ0FBbUJ5QixnQkFBbkI7QUFDRCxLQUZDLENBQUY7QUFHRCxHQVhPLENBQVI7QUFhQWxCLEVBQUFBLFFBQVEsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQ2xDUSxJQUFBQSxFQUFFLENBQUMsMkNBQUQsRUFBOEMsWUFBTTtBQUNwRFAsTUFBQUEsQ0FBQyxDQUFDTSxPQUFGLEdBQVk7QUFBRVksUUFBQUEsY0FBYyxFQUFFLENBQUM7QUFBRUMsVUFBQUEsS0FBSyxFQUFFLENBQVQ7QUFBWUMsVUFBQUEsR0FBRyxFQUFFLENBQWpCO0FBQW9CQyxVQUFBQSxJQUFJLEVBQUU7QUFBMUIsU0FBRDtBQUFsQixPQUFaO0FBQ0FiLE1BQUFBLE1BQU0sQ0FBQ1IsQ0FBQyxDQUFDc0IsaUJBQUYsRUFBRCxDQUFOLENBQThCQyxPQUE5QixDQUFzQyxJQUF0QztBQUNELEtBSEMsQ0FBRjtBQUtBaEIsSUFBQUEsRUFBRSxDQUFDLHdDQUFELEVBQTJDLFlBQU07QUFDakRQLE1BQUFBLENBQUMsQ0FBQ00sT0FBRixHQUFZO0FBQUVZLFFBQUFBLGNBQWMsRUFBRTtBQUFsQixPQUFaO0FBQ0FWLE1BQUFBLE1BQU0sQ0FBQ1IsQ0FBQyxDQUFDc0IsaUJBQUYsRUFBRCxDQUFOLENBQThCQyxPQUE5QixDQUFzQyxLQUF0QztBQUNELEtBSEMsQ0FBRjtBQUlELEdBVk8sQ0FBUjtBQVlBeEIsRUFBQUEsUUFBUSxDQUFDLGtCQUFELEVBQXFCLFlBQU07QUFDakMsUUFBSXlCLFNBQUo7QUFDQXZCLElBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2Z1QixNQUFBQSxTQUFTLEdBQUcsQ0FBQztBQUFFTCxRQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxRQUFBQSxHQUFHLEVBQUUsQ0FBakI7QUFBb0JDLFFBQUFBLElBQUksRUFBRTtBQUExQixPQUFELENBQVo7QUFDQXJCLE1BQUFBLENBQUMsQ0FBQ3lCLGdCQUFGLENBQW1CRCxTQUFuQjtBQUNELEtBSFMsQ0FBVjtBQUtBakIsSUFBQUEsRUFBRSxDQUFDLGlCQUFELEVBQW9CLFlBQU07QUFDMUJDLE1BQUFBLE1BQU0sQ0FBQ1IsQ0FBQyxDQUFDMEIsUUFBRixDQUFXUixjQUFaLENBQU4sQ0FBa0NLLE9BQWxDLENBQTBDQyxTQUExQztBQUNELEtBRkMsQ0FBRjtBQUlBakIsSUFBQUEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDOUJDLE1BQUFBLE1BQU0sQ0FBQ1IsQ0FBQyxDQUFDRyxhQUFILENBQU4sQ0FBd0JTLGNBQXhCLENBQXVDLElBQUllLG9DQUFKLENBQXdCLGFBQXhCLEVBQXVDLElBQXZDLENBQXZDO0FBQ0QsS0FGQyxDQUFGO0FBR0QsR0FkTyxDQUFSO0FBZUQsQ0FsRE8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTZWxlY3RUZXh0IGZyb20gJy4uJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFNlc3Npb25DaGFuZ2VkRXZlbnQgfSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtcGxheWVyLWV2ZW50cyc7XG5cbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9tYXRoLXJlbmRlcmluZyc7XG5qZXN0Lm1vY2soJ0BwaWUtbGliL3BpZS10b29sYm94L21hdGgtcmVuZGVyaW5nJywgKCkgPT4gKHtcbiAgcmVuZGVyTWF0aDogamVzdC5mbigpLFxufSkpO1xuamVzdC5tb2NrKCcuLi9tYWluJywgKCkgPT4gamVzdC5mbigpKTtcblxuamVzdC5tb2NrKCdyZWFjdCcsICgpID0+ICh7XG4gIGNyZWF0ZUVsZW1lbnQ6IGplc3QuZm4oKSxcbn0pKTtcblxuamVzdC5tb2NrKCdyZWFjdC1kb20nLCAoKSA9PiAoe1xuICByZW5kZXI6IGplc3QuZm4oKHIsIGVsLCBjYikgPT4ge1xuICAgIGNiKCk7XG4gIH0pLFxufSkpO1xuXG5kZXNjcmliZSgnc2VsZWN0LXRleHQnLCAoKSA9PiB7XG4gIGxldCBjO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjID0gbmV3IFNlbGVjdFRleHQoKTtcbiAgICBjLmRpc3BhdGNoRXZlbnQgPSBqZXN0LmZuKCk7XG4gICAgYy50YWdOYW1lID0gJ3NlbGVjdC10ZXh0JztcbiAgICBjLm1vZGVsID0ge307XG4gICAgYy5zZXNzaW9uID0ge307XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpbml0JywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBjcmVhdGVFbGVtZW50JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFJlYWN0LmNyZWF0ZUVsZW1lbnQpLnRvQmVDYWxsZWQoKTtcbiAgICB9KTtcbiAgICBpdCgnY2FsbHMgcmVuZGVyJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFJlYWN0RE9NLnJlbmRlcikudG9CZUNhbGxlZFdpdGgodW5kZWZpbmVkLCBleHBlY3QuYW55dGhpbmcoKSwgZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIHJlbmRlck1hdGgnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVuZGVyTWF0aCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaXNTZXNzaW9uQ29tcGxldGUnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3Igbm9uIGVtcHR5IHNlbGVjdGVkVG9rZW5zJywgKCkgPT4ge1xuICAgICAgYy5zZXNzaW9uID0geyBzZWxlY3RlZFRva2VuczogW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH1dIH07XG4gICAgICBleHBlY3QoYy5pc1Nlc3Npb25Db21wbGV0ZSgpKS50b0VxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JldHVybnMgZmFsc2UgZm9yIGVtcHR5IHNlbGVjdGVkVG9rZW5zJywgKCkgPT4ge1xuICAgICAgYy5zZXNzaW9uID0geyBzZWxlY3RlZFRva2VuczogW10gfTtcbiAgICAgIGV4cGVjdChjLmlzU2Vzc2lvbkNvbXBsZXRlKCkpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2VsZWN0aW9uQ2hhbmdlZCcsICgpID0+IHtcbiAgICBsZXQgbmV3VG9rZW5zO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbmV3VG9rZW5zID0gW3sgc3RhcnQ6IDIsIGVuZDogMywgdGV4dDogJ2YnIH1dO1xuICAgICAgYy5zZWxlY3Rpb25DaGFuZ2VkKG5ld1Rva2Vucyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2V0cyB0aGUgdG9rZW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGMuX3Nlc3Npb24uc2VsZWN0ZWRUb2tlbnMpLnRvRXF1YWwobmV3VG9rZW5zKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBkaXNwYXRjaEV2ZW50JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGMuZGlzcGF0Y2hFdmVudCkudG9CZUNhbGxlZFdpdGgobmV3IFNlc3Npb25DaGFuZ2VkRXZlbnQoJ3NlbGVjdC10ZXh0JywgdHJ1ZSkpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _main = require("../main");
12
-
13
- jest.mock('@pie-lib/pie-toolbox/text-select', function () {
14
- return {
15
- prepareText: jest.fn()
16
- };
17
- });
18
- describe('main', function () {
19
- var getWrapper = function getWrapper(props) {
20
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, (0, _extends2["default"])({
21
- onSelectionChange: jest.fn(),
22
- model: {
23
- text: 'foo',
24
- tokens: [{
25
- start: 0,
26
- end: 1,
27
- text: 'f'
28
- }]
29
- },
30
- session: {
31
- selectedTokens: [{
32
- start: 0,
33
- end: 1,
34
- text: 'f'
35
- }]
36
- },
37
- classes: {}
38
- }, props)));
39
- };
40
-
41
- describe('snapshot', function () {
42
- it('renders', function () {
43
- var w = getWrapper();
44
- expect(w).toMatchSnapshot();
45
- });
46
- it('renders rationale', function () {
47
- var w = getWrapper({
48
- rationale: 'This is rationale '
49
- });
50
- expect(w).toMatchSnapshot();
51
- });
52
- it('renders showCorrect', function () {
53
- var w = getWrapper();
54
- w.instance().toggleShowCorrect();
55
- expect(w).toMatchSnapshot();
56
- });
57
- });
58
- describe('logic', function () {
59
- var w;
60
- beforeEach(function () {
61
- w = getWrapper();
62
- });
63
- it('shows correct answer', function () {
64
- var correctTokens = [{
65
- start: 0,
66
- end: 1,
67
- text: 'f',
68
- correct: true,
69
- oldStart: 0,
70
- oldEnd: 1
71
- }];
72
- w.setProps({
73
- model: {
74
- text: 'foo',
75
- tokens: correctTokens
76
- }
77
- });
78
- var result = w.instance().correctAnswer();
79
- expect(result).toEqual(correctTokens);
80
- });
81
- });
82
- });
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzeCJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsInByZXBhcmVUZXh0IiwiZm4iLCJkZXNjcmliZSIsImdldFdyYXBwZXIiLCJwcm9wcyIsInRleHQiLCJ0b2tlbnMiLCJzdGFydCIsImVuZCIsInNlbGVjdGVkVG9rZW5zIiwiaXQiLCJ3IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwicmF0aW9uYWxlIiwiaW5zdGFuY2UiLCJ0b2dnbGVTaG93Q29ycmVjdCIsImJlZm9yZUVhY2giLCJjb3JyZWN0VG9rZW5zIiwiY29ycmVjdCIsIm9sZFN0YXJ0Iiwib2xkRW5kIiwic2V0UHJvcHMiLCJtb2RlbCIsInJlc3VsdCIsImNvcnJlY3RBbnN3ZXIiLCJ0b0VxdWFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsa0NBQVYsRUFBOEM7QUFBQSxTQUFPO0FBQ25EQyxJQUFBQSxXQUFXLEVBQUVGLElBQUksQ0FBQ0csRUFBTDtBQURzQyxHQUFQO0FBQUEsQ0FBOUM7QUFJQUMsUUFBUSxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ3JCLE1BQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLEtBQUQsRUFBVztBQUM1QixXQUFPLG1DQUNMLGdDQUFDLFVBQUQ7QUFDRSxNQUFBLGlCQUFpQixFQUFFTixJQUFJLENBQUNHLEVBQUwsRUFEckI7QUFFRSxNQUFBLEtBQUssRUFBRTtBQUNMSSxRQUFBQSxJQUFJLEVBQUUsS0FERDtBQUVMQyxRQUFBQSxNQUFNLEVBQUUsQ0FBQztBQUFFQyxVQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxVQUFBQSxHQUFHLEVBQUUsQ0FBakI7QUFBb0JILFVBQUFBLElBQUksRUFBRTtBQUExQixTQUFEO0FBRkgsT0FGVDtBQU1FLE1BQUEsT0FBTyxFQUFFO0FBQ1BJLFFBQUFBLGNBQWMsRUFBRSxDQUFDO0FBQUVGLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRSxDQUFqQjtBQUFvQkgsVUFBQUEsSUFBSSxFQUFFO0FBQTFCLFNBQUQ7QUFEVCxPQU5YO0FBU0UsTUFBQSxPQUFPLEVBQUU7QUFUWCxPQVVNRCxLQVZOLEVBREssQ0FBUDtBQWNELEdBZkQ7O0FBaUJBRixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJRLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQixVQUFNQyxDQUFDLEdBQUdSLFVBQVUsRUFBcEI7QUFDQVMsTUFBQUEsTUFBTSxDQUFDRCxDQUFELENBQU4sQ0FBVUUsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUtBSCxJQUFBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixVQUFNQyxDQUFDLEdBQUdSLFVBQVUsQ0FBQztBQUFFVyxRQUFBQSxTQUFTLEVBQUU7QUFBYixPQUFELENBQXBCO0FBQ0FGLE1BQUFBLE1BQU0sQ0FBQ0QsQ0FBRCxDQUFOLENBQVVFLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFLQUgsSUFBQUEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDOUIsVUFBTUMsQ0FBQyxHQUFHUixVQUFVLEVBQXBCO0FBQ0FRLE1BQUFBLENBQUMsQ0FBQ0ksUUFBRixHQUFhQyxpQkFBYjtBQUNBSixNQUFBQSxNQUFNLENBQUNELENBQUQsQ0FBTixDQUFVRSxlQUFWO0FBQ0QsS0FKQyxDQUFGO0FBS0QsR0FoQk8sQ0FBUjtBQWtCQVgsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLFFBQUlTLENBQUo7QUFFQU0sSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZk4sTUFBQUEsQ0FBQyxHQUFHUixVQUFVLEVBQWQ7QUFDRCxLQUZTLENBQVY7QUFJQU8sSUFBQUEsRUFBRSxDQUFDLHNCQUFELEVBQXlCLFlBQU07QUFDL0IsVUFBTVEsYUFBYSxHQUFHLENBQUM7QUFBRVgsUUFBQUEsS0FBSyxFQUFFLENBQVQ7QUFBWUMsUUFBQUEsR0FBRyxFQUFFLENBQWpCO0FBQW9CSCxRQUFBQSxJQUFJLEVBQUUsR0FBMUI7QUFBK0JjLFFBQUFBLE9BQU8sRUFBRSxJQUF4QztBQUE4Q0MsUUFBQUEsUUFBUSxFQUFFLENBQXhEO0FBQTJEQyxRQUFBQSxNQUFNLEVBQUU7QUFBbkUsT0FBRCxDQUF0QjtBQUNBVixNQUFBQSxDQUFDLENBQUNXLFFBQUYsQ0FBVztBQUNUQyxRQUFBQSxLQUFLLEVBQUU7QUFBRWxCLFVBQUFBLElBQUksRUFBRSxLQUFSO0FBQWVDLFVBQUFBLE1BQU0sRUFBRVk7QUFBdkI7QUFERSxPQUFYO0FBR0EsVUFBTU0sTUFBTSxHQUFHYixDQUFDLENBQUNJLFFBQUYsR0FBYVUsYUFBYixFQUFmO0FBQ0FiLE1BQUFBLE1BQU0sQ0FBQ1ksTUFBRCxDQUFOLENBQWVFLE9BQWYsQ0FBdUJSLGFBQXZCO0FBQ0QsS0FQQyxDQUFGO0FBUUQsR0FmTyxDQUFSO0FBZ0JELENBcERPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYWluIH0gZnJvbSAnLi4vbWFpbic7XG5cbmplc3QubW9jaygnQHBpZS1saWIvcGllLXRvb2xib3gvdGV4dC1zZWxlY3QnLCAoKSA9PiAoe1xuICBwcmVwYXJlVGV4dDogamVzdC5mbigpLFxufSkpO1xuXG5kZXNjcmliZSgnbWFpbicsICgpID0+IHtcbiAgY29uc3QgZ2V0V3JhcHBlciA9IChwcm9wcykgPT4ge1xuICAgIHJldHVybiBzaGFsbG93KFxuICAgICAgPE1haW5cbiAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2U9e2plc3QuZm4oKX1cbiAgICAgICAgbW9kZWw9e3tcbiAgICAgICAgICB0ZXh0OiAnZm9vJyxcbiAgICAgICAgICB0b2tlbnM6IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSxcbiAgICAgICAgfX1cbiAgICAgICAgc2Vzc2lvbj17e1xuICAgICAgICAgIHNlbGVjdGVkVG9rZW5zOiBbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfV0sXG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPixcbiAgICApO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBnZXRXcmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyByYXRpb25hbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gZ2V0V3JhcHBlcih7IHJhdGlvbmFsZTogJ1RoaXMgaXMgcmF0aW9uYWxlICcgfSk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBzaG93Q29ycmVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBnZXRXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkudG9nZ2xlU2hvd0NvcnJlY3QoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICB3ID0gZ2V0V3JhcHBlcigpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3dzIGNvcnJlY3QgYW5zd2VyJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29ycmVjdFRva2VucyA9IFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJywgY29ycmVjdDogdHJ1ZSwgb2xkU3RhcnQ6IDAsIG9sZEVuZDogMSB9XTtcbiAgICAgIHcuc2V0UHJvcHMoe1xuICAgICAgICBtb2RlbDogeyB0ZXh0OiAnZm9vJywgdG9rZW5zOiBjb3JyZWN0VG9rZW5zIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHcuaW5zdGFuY2UoKS5jb3JyZWN0QW5zd2VyKCk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGNvcnJlY3RUb2tlbnMpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19