@pie-lib/text-select 1.12.8 → 1.14.0-beta.0

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/__tests__/text-select.test.js +56 -0
  4. package/lib/__tests__/utils.test.js +23 -0
  5. package/lib/index.js +9 -1
  6. package/lib/legend.js +1 -1
  7. package/lib/text-select.js +1 -1
  8. package/lib/token-select/__tests__/index.test.js +268 -0
  9. package/lib/token-select/__tests__/token.test.js +35 -0
  10. package/lib/token-select/index.js +4 -3
  11. package/lib/token-select/token.js +13 -20
  12. package/lib/tokenizer/__tests__/builder.test.js +399 -0
  13. package/lib/tokenizer/__tests__/controls.test.js +34 -0
  14. package/lib/tokenizer/__tests__/index.test.js +210 -0
  15. package/lib/tokenizer/__tests__/selection-utils.test.js +27 -0
  16. package/lib/tokenizer/__tests__/token-text.test.js +154 -0
  17. package/lib/tokenizer/builder.js +1 -1
  18. package/lib/tokenizer/controls.js +15 -1
  19. package/lib/tokenizer/index.js +1 -1
  20. package/lib/tokenizer/selection-utils.js +1 -1
  21. package/lib/tokenizer/token-text.js +12 -3
  22. package/lib/utils.js +1 -1
  23. package/package.json +7 -6
  24. package/src/__tests__/__snapshots__/text-select.test.jsx.snap +21 -0
  25. package/src/__tests__/text-select.test.jsx +34 -0
  26. package/src/__tests__/utils.test.jsx +27 -0
  27. package/src/index.js +2 -1
  28. package/src/token-select/__tests__/__snapshots__/index.test.jsx.snap +49 -0
  29. package/src/token-select/__tests__/__snapshots__/token.test.jsx.snap +31 -0
  30. package/src/token-select/__tests__/index.test.jsx +257 -0
  31. package/src/token-select/__tests__/token.test.jsx +33 -0
  32. package/src/token-select/index.jsx +3 -1
  33. package/src/token-select/token.jsx +11 -20
  34. package/src/tokenizer/__tests__/__snapshots__/controls.test.jsx.snap +59 -0
  35. package/src/tokenizer/__tests__/__snapshots__/index.test.jsx.snap +31 -0
  36. package/src/tokenizer/__tests__/__snapshots__/token-text.test.jsx.snap +17 -0
  37. package/src/tokenizer/__tests__/builder.test.js +256 -0
  38. package/src/tokenizer/__tests__/controls.test.jsx +25 -0
  39. package/src/tokenizer/__tests__/index.test.jsx +140 -0
  40. package/src/tokenizer/__tests__/selection-utils.test.js +26 -0
  41. package/src/tokenizer/__tests__/token-text.test.jsx +136 -0
  42. package/src/tokenizer/controls.jsx +20 -1
  43. package/src/tokenizer/token-text.jsx +9 -0
  44. package/README.md +0 -3
  45. package/lib/index.js.map +0 -1
  46. package/lib/legend.js.map +0 -1
  47. package/lib/text-select.js.map +0 -1
  48. package/lib/token-select/index.js.map +0 -1
  49. package/lib/token-select/token.js.map +0 -1
  50. package/lib/tokenizer/builder.js.map +0 -1
  51. package/lib/tokenizer/controls.js.map +0 -1
  52. package/lib/tokenizer/index.js.map +0 -1
  53. package/lib/tokenizer/selection-utils.js.map +0 -1
  54. package/lib/tokenizer/token-text.js.map +0 -1
  55. package/lib/utils.js.map +0 -1
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _index = require("../index");
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _enzyme = require("enzyme");
10
+
11
+ var _builder = require("../builder");
12
+
13
+ var tokens = function tokens() {
14
+ return [{
15
+ start: 0,
16
+ end: 1,
17
+ text: 'f'
18
+ }];
19
+ };
20
+
21
+ var eff = function eff() {
22
+ return tokens()[0];
23
+ };
24
+
25
+ jest.mock('../builder', function () {
26
+ return {
27
+ words: jest.fn().mockReturnValue([{
28
+ start: 0,
29
+ end: 3,
30
+ text: 'foo'
31
+ }]),
32
+ sentences: jest.fn().mockReturnValue([{
33
+ start: 0,
34
+ end: 3,
35
+ text: 'foo'
36
+ }]),
37
+ paragraphs: jest.fn().mockReturnValue([{
38
+ start: 0,
39
+ end: 3,
40
+ text: 'foo'
41
+ }])
42
+ };
43
+ });
44
+ describe('tokenizer', function () {
45
+ describe('snapshot', function () {
46
+ it('renders', function () {
47
+ var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
48
+ text: "foo",
49
+ classes: {},
50
+ onChange: jest.fn(),
51
+ tokens: tokens()
52
+ }));
53
+ expect(w).toMatchSnapshot();
54
+ });
55
+ });
56
+ describe('logic', function () {
57
+ var w;
58
+ var onChange;
59
+ beforeEach(function () {
60
+ onChange = jest.fn();
61
+ w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
62
+ text: "foo",
63
+ classes: {},
64
+ onChange: onChange,
65
+ tokens: tokens()
66
+ }));
67
+ });
68
+ describe('tokenIndex', function () {
69
+ it('returns 0', function () {
70
+ var index = w.instance().tokenIndex(eff());
71
+ expect(index).toEqual(0);
72
+ });
73
+ it('returns -1', function () {
74
+ var index = w.instance().tokenIndex({
75
+ start: 2,
76
+ end: 3,
77
+ text: 'f'
78
+ });
79
+ expect(index).toEqual(-1);
80
+ });
81
+ });
82
+ describe('tokenClick', function () {
83
+ var i;
84
+ beforeEach(function () {
85
+ i = w.instance();
86
+ i.setCorrect = jest.fn();
87
+ i.removeToken = jest.fn();
88
+ });
89
+ it('calls removeToken if setCorrectMode == false', function () {
90
+ i.tokenClick(eff());
91
+ expect(i.setCorrect).not.toBeCalled();
92
+ expect(i.removeToken).toBeCalled();
93
+ });
94
+ it('calls setCorrect if setCorrectMode == true', function () {
95
+ i.setState({
96
+ setCorrectMode: true
97
+ });
98
+ i.tokenClick(eff());
99
+ expect(i.setCorrect).toBeCalled();
100
+ expect(i.removeToken).not.toBeCalled();
101
+ });
102
+ });
103
+ describe('selectToken', function () {
104
+ it('calls onChange', function () {
105
+ w.instance().selectToken({
106
+ start: 1,
107
+ end: 3,
108
+ text: 'oo'
109
+ }, [{
110
+ start: 0,
111
+ end: 1,
112
+ text: 'f'
113
+ }]);
114
+ expect(onChange).toBeCalledWith([{
115
+ start: 1,
116
+ end: 3,
117
+ text: 'oo'
118
+ }], '');
119
+ });
120
+ });
121
+ describe('buildParagraphsTokens', function () {
122
+ it('calls paragraphs', function () {
123
+ w.instance().buildTokens('paragraph', _builder.paragraphs);
124
+ expect(_builder.paragraphs).toBeCalledWith('foo');
125
+ });
126
+ });
127
+ describe('buildSentenceTokens', function () {
128
+ it('calls sentences', function () {
129
+ w.instance().buildTokens('sentence', _builder.sentences);
130
+ expect(_builder.sentences).toBeCalledWith('foo');
131
+ });
132
+ });
133
+ describe('buildWordTokens', function () {
134
+ it('calls words', function () {
135
+ w.instance().buildTokens('word', _builder.words);
136
+ expect(_builder.words).toBeCalledWith('foo');
137
+ });
138
+ });
139
+ describe('clear', function () {
140
+ it('calls onChange with an empty array', function () {
141
+ w.instance().clear();
142
+ expect(onChange).toBeCalledWith([], '');
143
+ });
144
+ });
145
+ describe('toggleCorrectMode', function () {
146
+ it('set state', function () {
147
+ w.setState({
148
+ setCorrectMode: true
149
+ });
150
+ w.instance().toggleCorrectMode();
151
+ expect(w.state('setCorrectMode')).toEqual(false);
152
+ });
153
+ });
154
+ describe('setCorrect', function () {
155
+ it('calls onChange', function () {
156
+ w.instance().setCorrect({
157
+ start: 0,
158
+ end: 1,
159
+ text: 'f'
160
+ });
161
+ expect(onChange).toBeCalledWith([{
162
+ start: 0,
163
+ end: 1,
164
+ text: 'f',
165
+ correct: true
166
+ }], '');
167
+ });
168
+ it('calls onChange w/ correct: false', function () {
169
+ w.setProps({
170
+ tokens: [{
171
+ start: 0,
172
+ end: 1,
173
+ text: 'f',
174
+ correct: true
175
+ }]
176
+ });
177
+ w.instance().setCorrect({
178
+ start: 0,
179
+ end: 1,
180
+ text: 'f'
181
+ });
182
+ expect(onChange).toBeCalledWith([{
183
+ start: 0,
184
+ end: 1,
185
+ text: 'f',
186
+ correct: false
187
+ }], '');
188
+ });
189
+ });
190
+ describe('removeToken', function () {
191
+ it('calls onChange', function () {
192
+ w.instance().removeToken({
193
+ start: 0,
194
+ end: 1,
195
+ text: 'f'
196
+ });
197
+ expect(onChange).toBeCalledWith([], '');
198
+ });
199
+ it('does not call onChange if it cant find the token', function () {
200
+ w.instance().removeToken({
201
+ start: 2,
202
+ end: 3,
203
+ text: 'a'
204
+ });
205
+ expect(onChange).not.toBeCalled();
206
+ });
207
+ });
208
+ });
209
+ });
210
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sIm5hbWVzIjpbInRva2VucyIsInN0YXJ0IiwiZW5kIiwidGV4dCIsImVmZiIsImplc3QiLCJtb2NrIiwid29yZHMiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsInNlbnRlbmNlcyIsInBhcmFncmFwaHMiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsImluZGV4IiwiaW5zdGFuY2UiLCJ0b2tlbkluZGV4IiwidG9FcXVhbCIsImkiLCJzZXRDb3JyZWN0IiwicmVtb3ZlVG9rZW4iLCJ0b2tlbkNsaWNrIiwibm90IiwidG9CZUNhbGxlZCIsInNldFN0YXRlIiwic2V0Q29ycmVjdE1vZGUiLCJzZWxlY3RUb2tlbiIsInRvQmVDYWxsZWRXaXRoIiwiYnVpbGRUb2tlbnMiLCJjbGVhciIsInRvZ2dsZUNvcnJlY3RNb2RlIiwic3RhdGUiLCJjb3JyZWN0Iiwic2V0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLFNBQU0sQ0FDbkI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLENBRFQ7QUFFRUMsSUFBQUEsR0FBRyxFQUFFLENBRlA7QUFHRUMsSUFBQUEsSUFBSSxFQUFFO0FBSFIsR0FEbUIsQ0FBTjtBQUFBLENBQWY7O0FBUUEsSUFBTUMsR0FBRyxHQUFHLFNBQU5BLEdBQU07QUFBQSxTQUFNSixNQUFNLEdBQUcsQ0FBSCxDQUFaO0FBQUEsQ0FBWjs7QUFFQUssSUFBSSxDQUFDQyxJQUFMLENBQVUsWUFBVixFQUF3QjtBQUFBLFNBQU87QUFDN0JDLElBQUFBLEtBQUssRUFBRUYsSUFBSSxDQUFDRyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsQ0FBQztBQUFFUixNQUFBQSxLQUFLLEVBQUUsQ0FBVDtB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LENBQWlCZSxjQUFqQixDQUFnQyxFQUFoQyxFQUFvQyxFQUFwQztBQUNELE9BSEMsQ0FBRjtBQUlBbkIsTUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQU07QUFDM0RDLFFBQUFBLENBQUMsQ0FBQ00sUUFBRixHQUFhSyxXQUFiLENBQXlCO0FBQUV4QixVQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxVQUFBQSxHQUFHLEVBQUUsQ0FBakI7QUFBb0JDLFVBQUFBLElBQUksRUFBRTtBQUExQixTQUF6QjtBQUNBWSxRQUFBQSxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQlUsR0FBakIsQ0FBcUJDLFVBQXJCO0FBQ0QsT0FIQyxDQUFGO0FBSUQsS0FUTyxDQUFSO0FBVUQsR0E5R08sQ0FBUjtBQStHRCxDQXZITyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW5pemVyIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHsgd29yZHMsIHNlbnRlbmNlcywgcGFyYWdyYXBocyB9IGZyb20gJy4uL2J1aWxkZXInO1xuXG5jb25zdCB0b2tlbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDEsXG4gICAgdGV4dDogJ2YnLFxuICB9LFxuXTtcblxuY29uc3QgZWZmID0gKCkgPT4gdG9rZW5zKClbMF07XG5cbmplc3QubW9jaygnLi4vYnVpbGRlcicsICgpID0+ICh7XG4gIHdvcmRzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbiAgc2VudGVuY2VzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbiAgcGFyYWdyYXBoczogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbeyBzdGFydDogMCwgZW5kOiAzLCB0ZXh0OiAnZm9vJyB9XSksXG59KSk7XG5kZXNjcmliZSgndG9rZW5pemVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyg8VG9rZW5pemVyIHRleHQ9XCJmb29cIiBjbGFzc2VzPXt7fX0gb25DaGFuZ2U9e2plc3QuZm4oKX0gdG9rZW5zPXt0b2tlbnMoKX0gLz4pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgbGV0IHc7XG4gICAgbGV0IG9uQ2hhbmdlO1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICAgIHcgPSBzaGFsbG93KDxUb2tlbml6ZXIgdGV4dD1cImZvb1wiIGNsYXNzZXM9e3t9fSBvbkNoYW5nZT17b25DaGFuZ2V9IHRva2Vucz17dG9rZW5zKCl9IC8+KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgndG9rZW5JbmRleCcsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIDAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdy5pbnN0YW5jZSgpLnRva2VuSW5kZXgoZWZmKCkpO1xuICAgICAgICBleHBlY3QoaW5kZXgpLnRvRXF1YWwoMCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3JldHVybnMgLTEnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdy5pbnN0YW5jZSgpLnRva2VuSW5kZXgoeyBzdGFydDogMiwgZW5kOiAzLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChpbmRleCkudG9FcXVhbCgtMSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd0b2tlbkNsaWNrJywgKCkgPT4ge1xuICAgICAgbGV0IGk7XG5cbiAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICBpID0gdy5pbnN0YW5jZSgpO1xuICAgICAgICBpLnNldENvcnJlY3QgPSBqZXN0LmZuKCk7XG4gICAgICAgIGkucmVtb3ZlVG9rZW4gPSBqZXN0LmZuKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIHJlbW92ZVRva2VuIGlmIHNldENvcnJlY3RNb2RlID09IGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBpLnRva2VuQ2xpY2soZWZmKCkpO1xuICAgICAgICBleHBlY3QoaS5zZXRDb3JyZWN0KS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3QoaS5yZW1vdmVUb2tlbikudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBzZXRDb3JyZWN0IGlmIHNldENvcnJlY3RNb2RlID09IHRydWUnLCAoKSA9PiB7XG4gICAgICAgIGkuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICAgICAgaS50b2tlbkNsaWNrKGVmZigpKTtcbiAgICAgICAgZXhwZWN0KGkuc2V0Q29ycmVjdCkudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3QoaS5yZW1vdmVUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NlbGVjdFRva2VuJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuc2VsZWN0VG9rZW4oeyBzdGFydDogMSwgZW5kOiAzLCB0ZXh0OiAnb28nIH0sIFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDEsIGVuZDogMywgdGV4dDogJ29vJyB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnYnVpbGRQYXJhZ3JhcGhzVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHBhcmFncmFwaHMnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5idWlsZFRva2VucygncGFyYWdyYXBoJywgcGFyYWdyYXBocyk7XG4gICAgICAgIGV4cGVjdChwYXJhZ3JhcGhzKS50b0JlQ2FsbGVkV2l0aCgnZm9vJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdidWlsZFNlbnRlbmNlVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHNlbnRlbmNlcycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCdzZW50ZW5jZScsIHNlbnRlbmNlcyk7XG4gICAgICAgIGV4cGVjdChzZW50ZW5jZXMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2J1aWxkV29yZFRva2VucycsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyB3b3JkcycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCd3b3JkJywgd29yZHMpO1xuICAgICAgICBleHBlY3Qod29yZHMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NsZWFyJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIHdpdGggYW4gZW1wdHkgYXJyYXknLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jbGVhcigpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFtdLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd0b2dnbGVDb3JyZWN0TW9kZScsICgpID0+IHtcbiAgICAgIGl0KCdzZXQgc3RhdGUnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnRvZ2dsZUNvcnJlY3RNb2RlKCk7XG4gICAgICAgIGV4cGVjdCh3LnN0YXRlKCdzZXRDb3JyZWN0TW9kZScpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NldENvcnJlY3QnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5zZXRDb3JyZWN0KHsgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH0pO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJywgY29ycmVjdDogdHJ1ZSB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugdy8gY29ycmVjdDogZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0UHJvcHMoe1xuICAgICAgICAgIHRva2VuczogW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiB0cnVlIH1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnNldENvcnJlY3QoeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiBmYWxzZSB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgncmVtb3ZlVG9rZW4nLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yZW1vdmVUb2tlbih7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbXSwgJycpO1xuICAgICAgfSk7XG4gICAgICBpdCgnZG9lcyBub3QgY2FsbCBvbkNoYW5nZSBpZiBpdCBjYW50IGZpbmQgdGhlIHRva2VuJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkucmVtb3ZlVG9rZW4oeyBzdGFydDogMiwgZW5kOiAzLCB0ZXh0OiAnYScgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _selectionUtils = require("../selection-utils");
4
+
5
+ describe('selection-utils', function () {
6
+ var selection;
7
+ var range;
8
+ beforeEach(function () {
9
+ selection = {
10
+ removeAllRanges: jest.fn(),
11
+ addRange: jest.fn(),
12
+ getRangeAt: jest.fn().mockReturnValue(range)
13
+ };
14
+ global.document.getSelection = jest.fn().mockReturnValue(selection);
15
+ global.document.createRange = jest.fn();
16
+ });
17
+ describe('clearSelection', function () {
18
+ it('calls removeAllRanges', function () {
19
+ (0, _selectionUtils.clearSelection)();
20
+ expect(selection.removeAllRanges).toBeCalled();
21
+ });
22
+ });
23
+ xdescribe('getCaretCharacterOffsetWithin', function () {
24
+ it('TODO', function () {});
25
+ });
26
+ });
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3NlbGVjdGlvbi11dGlscy50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwic2VsZWN0aW9uIiwicmFuZ2UiLCJiZWZvcmVFYWNoIiwicmVtb3ZlQWxsUmFuZ2VzIiwiamVzdCIsImZuIiwiYWRkUmFuZ2UiLCJnZXRSYW5nZUF0IiwibW9ja1JldHVyblZhbHVlIiwiZ2xvYmFsIiwiZG9jdW1lbnQiLCJnZXRTZWxlY3Rpb24iLCJjcmVhdGVSYW5nZSIsIml0IiwiZXhwZWN0IiwidG9CZUNhbGxlZCIsInhkZXNjcmliZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFFQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQU07QUFDaEMsTUFBSUMsU0FBSjtBQUNBLE1BQUlDLEtBQUo7QUFDQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkYsSUFBQUEsU0FBUyxHQUFHO0FBQ1ZHLE1BQUFBLGVBQWUsRUFBRUMsSUFBSSxDQUFDQyxFQUFMLEVBRFA7QUFFVkMsTUFBQUEsUUFBUSxFQUFFRixJQUFJLENBQUNDLEVBQUwsRUFGQTtBQUdWRSxNQUFBQSxVQUFVLEVBQUVILElBQUksQ0FBQ0MsRUFBTCxHQUFVRyxlQUFWLENBQTBCUCxLQUExQjtBQUhGLEtBQVo7QUFLQVEsSUFBQUEsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxZQUFoQixHQUErQlAsSUFBSSxDQUFDQyxFQUFMLEdBQVVHLGVBQVYsQ0FBMEJSLFNBQTFCLENBQS9CO0FBQ0FTLElBQUFBLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkUsV0FBaEIsR0FBOEJSLElBQUksQ0FBQ0MsRUFBTCxFQUE5QjtBQUNELEdBUlMsQ0FBVjtBQVVBTixFQUFBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMvQmMsSUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDaEM7QUFDQUMsTUFBQUEsTUFBTSxDQUFDZCxTQUFTLENBQUNHLGVBQVgsQ0FBTixDQUFrQ1ksVUFBbEM7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFPQUMsRUFBQUEsU0FBUyxDQUFDLCtCQUFELEVBQWtDLFlBQU07QUFDL0NILElBQUFBLEVBQUUsQ0FBQyxNQUFELEVBQVMsWUFBTSxDQUFFLENBQWpCLENBQUY7QUFDRCxHQUZRLENBQVQ7QUFHRCxDQXZCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xlYXJTZWxlY3Rpb24sIGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluIH0gZnJvbSAnLi4vc2VsZWN0aW9uLXV0aWxzJztcblxuZGVzY3JpYmUoJ3NlbGVjdGlvbi11dGlscycsICgpID0+IHtcbiAgbGV0IHNlbGVjdGlvbjtcbiAgbGV0IHJhbmdlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICByZW1vdmVBbGxSYW5nZXM6IGplc3QuZm4oKSxcbiAgICAgIGFkZFJhbmdlOiBqZXN0LmZuKCksXG4gICAgICBnZXRSYW5nZUF0OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHJhbmdlKSxcbiAgICB9O1xuICAgIGdsb2JhbC5kb2N1bWVudC5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHNlbGVjdGlvbik7XG4gICAgZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZVJhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY2xlYXJTZWxlY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHJlbW92ZUFsbFJhbmdlcycsICgpID0+IHtcbiAgICAgIGNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICBleHBlY3Qoc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcykudG9CZUNhbGxlZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICB4ZGVzY3JpYmUoJ2dldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluJywgKCkgPT4ge1xuICAgIGl0KCdUT0RPJywgKCkgPT4ge30pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _tokenText = _interopRequireDefault(require("../token-text"));
10
+
11
+ var _builder = require("../builder");
12
+
13
+ var _selectionUtils = require("../selection-utils");
14
+
15
+ jest.mock('../selection-utils', function () {
16
+ return {
17
+ clearSelection: jest.fn(),
18
+ getCaretCharacterOffsetWithin: jest.fn().mockReturnValue(10)
19
+ };
20
+ });
21
+ jest.mock('../builder', function () {
22
+ return {
23
+ intersection: jest.fn().mockReturnValue({
24
+ hasOverlap: jest.fn().mockReturnValue(false),
25
+ surroundedTokens: jest.fn().mockReturnValue([])
26
+ }),
27
+ normalize: jest.fn().mockReturnValue([{
28
+ text: "lorem\nfoo bar",
29
+ start: 0,
30
+ end: 13,
31
+ predefined: true
32
+ }])
33
+ };
34
+ });
35
+
36
+ var tokens = function tokens() {
37
+ return [{
38
+ start: 0,
39
+ end: 7,
40
+ text: "lorem\nfoo bar"
41
+ }];
42
+ };
43
+
44
+ var mkEvent = function mkEvent() {
45
+ return {
46
+ preventDefault: jest.fn()
47
+ };
48
+ };
49
+
50
+ describe('token-text', function () {
51
+ describe('snapshot', function () {
52
+ it('renders', function () {
53
+ var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
54
+ onTokenClick: jest.fn(),
55
+ onSelectToken: jest.fn(),
56
+ text: "lorem\nfoo bar",
57
+ tokens: tokens()
58
+ }));
59
+ expect(w).toMatchSnapshot();
60
+ });
61
+ });
62
+ describe('logic', function () {
63
+ var w;
64
+ var onSelectToken;
65
+ var onTokenClick;
66
+ beforeEach(function () {
67
+ global.window.getSelection = jest.fn().mockReturnValue({
68
+ toString: function toString() {
69
+ return 'bar';
70
+ }
71
+ });
72
+ onSelectToken = jest.fn();
73
+ onTokenClick = jest.fn();
74
+ w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
75
+ onTokenClick: onTokenClick,
76
+ onSelectToken: onSelectToken,
77
+ text: "lorem\nfoo bar",
78
+ tokens: tokens()
79
+ }));
80
+ });
81
+ describe('mouseup', function () {
82
+ it('calls event.preventDefault', function () {
83
+ var event = mkEvent();
84
+ w.instance().onClick(event);
85
+ expect(event.preventDefault).toBeCalled();
86
+ });
87
+ it('calls getCaretCharacterOffsetWithin', function () {
88
+ var event = mkEvent();
89
+ w.instance().root = {};
90
+ w.instance().onClick(event);
91
+ expect(_selectionUtils.getCaretCharacterOffsetWithin).toBeCalledWith({});
92
+ });
93
+ it('calls clear selection if there is an overlap', function () {
94
+ _builder.intersection.mockReturnValue({
95
+ hasOverlap: true
96
+ });
97
+
98
+ var event = mkEvent();
99
+ w.instance().root = {};
100
+ w.instance().onClick(event);
101
+ expect(_selectionUtils.clearSelection).toBeCalled();
102
+ expect(onSelectToken).not.toBeCalled();
103
+ });
104
+ it('calls onSelectToken', function () {
105
+ var event = mkEvent();
106
+
107
+ _builder.intersection.mockReturnValue({
108
+ hasOverlap: false,
109
+ surroundedTokens: []
110
+ });
111
+
112
+ w.instance().root = {};
113
+ w.instance().onClick(event);
114
+ expect(onSelectToken).toBeCalledWith({
115
+ text: 'bar',
116
+ start: 10,
117
+ end: 13
118
+ }, []);
119
+ });
120
+ it('does not call onSelectToken for ["\n", " ", "\t"]', function () {
121
+ var event = mkEvent();
122
+
123
+ _builder.intersection.mockReturnValue({
124
+ hasOverlap: false,
125
+ surroundedTokens: []
126
+ });
127
+
128
+ w.instance().root = {};
129
+ global.window.getSelection = jest.fn().mockReturnValue({
130
+ toString: function toString() {
131
+ return '\n';
132
+ }
133
+ });
134
+ w.instance().onClick(event);
135
+ expect(onSelectToken).not.toBeCalled();
136
+ global.window.getSelection = jest.fn().mockReturnValue({
137
+ toString: function toString() {
138
+ return ' ';
139
+ }
140
+ });
141
+ w.instance().onClick(event);
142
+ expect(onSelectToken).not.toBeCalled();
143
+ global.window.getSelection = jest.fn().mockReturnValue({
144
+ toString: function toString() {
145
+ return '\t';
146
+ }
147
+ });
148
+ w.instance().onClick(event);
149
+ expect(onSelectToken).not.toBeCalled();
150
+ });
151
+ });
152
+ });
153
+ });
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3Rva2VuLXRleHQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJjbGVhclNlbGVjdGlvbiIsImZuIiwiZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4iLCJtb2NrUmV0dXJuVmFsdWUiLCJpbnRlcnNlY3Rpb24iLCJoYXNPdmVybGFwIiwic3Vycm91bmRlZFRva2VucyIsIm5vcm1hbGl6ZSIsInRleHQiLCJzdGFydCIsImVuZCIsInByZWRlZmluZWQiLCJ0b2tlbnMiLCJta0V2ZW50IiwicHJldmVudERlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uU2VsZWN0VG9rZW4iLCJvblRva2VuQ2xpY2siLCJiZWZvcmVFYWNoIiwiZ2xvYmFsIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwidG9TdHJpbmciLCJldmVudCIsImluc3RhbmNlIiwib25DbGljayIsInRvQmVDYWxsZWQiLCJyb290IiwidG9CZUNhbGxlZFdpdGgiLCJub3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsb0JBQVYsRUFBZ0M7QUFBQSxTQUFPO0FBQ3JDQyxJQUFBQSxjQUFjLEVBQUVGLElBQUksQ0FBQ0csRUFBTCxFQURxQjtBQUVyQ0MsSUFBQUEsNkJBQTZCLEVBQUVKLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCLEVBQTFCO0FBRk0sR0FBUDtBQUFBLENBQWhDO0FBS0FMLElBQUksQ0FBQ0MsSUFBTCxDQUFVLFlBQVYsRUFBd0I7QUFBQSxTQUFPO0FBQzdCSyxJQUFBQSxZQUFZLEVBQUVOLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCO0FBQ3RDRSxNQUFBQSxVQUFVLEVBQUVQLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBC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LFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNFLGFBQUQsQ0FBTixDQUFzQmEsR0FBdEIsQ0FBMEJILFVBQTFCO0FBQ0QsT0ExQkMsQ0FBRjtBQTJCRCxLQS9ETyxDQUFSO0FBZ0VELEdBdEZPLENBQVI7QUF1RkQsQ0FqR08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb2tlblRleHQgZnJvbSAnLi4vdG9rZW4tdGV4dCc7XG5pbXBvcnQgeyBpbnRlcnNlY3Rpb24gfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IGNsZWFyU2VsZWN0aW9uLCBnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbiB9IGZyb20gJy4uL3NlbGVjdGlvbi11dGlscyc7XG5cbmplc3QubW9jaygnLi4vc2VsZWN0aW9uLXV0aWxzJywgKCkgPT4gKHtcbiAgY2xlYXJTZWxlY3Rpb246IGplc3QuZm4oKSxcbiAgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW46IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoMTApLFxufSkpO1xuXG5qZXN0Lm1vY2soJy4uL2J1aWxkZXInLCAoKSA9PiAoe1xuICBpbnRlcnNlY3Rpb246IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIGhhc092ZXJsYXA6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoZmFsc2UpLFxuICAgIHN1cnJvdW5kZWRUb2tlbnM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW10pLFxuICB9KSxcbiAgbm9ybWFsaXplOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFtcbiAgICB7XG4gICAgICB0ZXh0OiBgbG9yZW1cXG5mb28gYmFyYCxcbiAgICAgIHN0YXJ0OiAwLFxuICAgICAgZW5kOiAxMyxcbiAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgfSxcbiAgXSksXG59KSk7XG5cbmNvbnN0IHRva2VucyA9ICgpID0+IFtcbiAge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogNyxcbiAgICB0ZXh0OiBgbG9yZW1cXG5mb28gYmFyYCxcbiAgfSxcbl07XG5cbmNvbnN0IG1rRXZlbnQgPSAoKSA9PiAoe1xuICBwcmV2ZW50RGVmYXVsdDogamVzdC5mbigpLFxufSk7XG5cbmRlc2NyaWJlKCd0b2tlbi10ZXh0JywgKCkgPT4ge1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyhcbiAgICAgICAgPFRva2VuVGV4dCBvblRva2VuQ2xpY2s9e2plc3QuZm4oKX0gb25TZWxlY3RUb2tlbj17amVzdC5mbigpfSB0ZXh0PXtgbG9yZW1cXG5mb28gYmFyYH0gdG9rZW5zPXt0b2tlbnMoKX0gLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgbGV0IHc7XG4gICAgbGV0IG9uU2VsZWN0VG9rZW47XG4gICAgbGV0IG9uVG9rZW5DbGljaztcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIGdsb2JhbC53aW5kb3cuZ2V0U2VsZWN0aW9uID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnYmFyJyxcbiAgICAgIH0pO1xuXG4gICAgICBvblNlbGVjdFRva2VuID0gamVzdC5mbigpO1xuICAgICAgb25Ub2tlbkNsaWNrID0gamVzdC5mbigpO1xuXG4gICAgICB3ID0gc2hhbGxvdyhcbiAgICAgICAgPFRva2VuVGV4dFxuICAgICAgICAgIG9uVG9rZW5DbGljaz17b25Ub2tlbkNsaWNrfVxuICAgICAgICAgIG9uU2VsZWN0VG9rZW49e29uU2VsZWN0VG9rZW59XG4gICAgICAgICAgdGV4dD17YGxvcmVtXFxuZm9vIGJhcmB9XG4gICAgICAgICAgdG9rZW5zPXt0b2tlbnMoKX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ21vdXNldXAnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgZXZlbnQucHJldmVudERlZmF1bHQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChldmVudC5wcmV2ZW50RGVmYXVsdCkudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIGNsZWFyIHNlbGVjdGlvbiBpZiB0aGVyZSBpcyBhbiBvdmVybGFwJywgKCkgPT4ge1xuICAgICAgICBpbnRlcnNlY3Rpb24ubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBoYXNPdmVybGFwOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KGNsZWFyU2VsZWN0aW9uKS50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBvblNlbGVjdFRva2VuJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcbiAgICAgICAgaW50ZXJzZWN0aW9uLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgaGFzT3ZlcmxhcDogZmFsc2UsXG4gICAgICAgICAgc3Vycm91bmRlZFRva2VuczogW10sXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS50b0JlQ2FsbGVkV2l0aCh7IHRleHQ6ICdiYXInLCBzdGFydDogMTAsIGVuZDogMTMgfSwgW10pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uU2VsZWN0VG9rZW4gZm9yIFtcIlxcblwiLCBcIiBcIiwgXCJcXHRcIl0nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuXG4gICAgICAgIGludGVyc2VjdGlvbi5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIGhhc092ZXJsYXA6IGZhbHNlLFxuICAgICAgICAgIHN1cnJvdW5kZWRUb2tlbnM6IFtdLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJvb3QgPSB7fTtcblxuICAgICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnXFxuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJyAnLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcblxuICAgICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnXFx0JyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -308,4 +308,4 @@ var normalize = function normalize(textToNormalize, tokens) {
308
308
  };
309
309
 
310
310
  exports.normalize = normalize;
311
- //# sourceMappingURL=builder.js.map
311
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvYnVpbGRlci5qcyJdLCJuYW1lcyI6WyJnIiwic3RyIiwibm9kZSIsImNoaWxkcmVuIiwicmVkdWNlIiwidmFsdWUiLCJnZXRQYXJhZ3JhcGgiLCJwIiwiZ2V0U2VudGVuY2UiLCJzIiwiZ2V0V29yZCIsInciLCJwYXJhZ3JhcGhzIiwidGV4dCIsInRyZWUiLCJFbmdsaXNoIiwicGFyc2UiLCJvdXQiLCJhY2MiLCJjaGlsZCIsInR5cGUiLCJwYXJhZ3JhcGgiLCJzdGFydCIsInBvc2l0aW9uIiwib2Zmc2V0IiwiZW5kIiwiY29uY2F0IiwiaGFuZGxlU2VudGVuY2UiLCJzZW50ZW5jZUNoaWxkcyIsIm5ld0FjYyIsImxlbmd0aCIsImZpcnN0V29yZCIsInNlbnRlbmNlIiwibWFwIiwiZCIsImpvaW4iLCJzcGxpY2UiLCJwdXNoIiwibGFzdFdvcmQiLCJzZW50ZW5jZXMiLCJ3b3JkcyIsIkludGVyc2VjdGlvbiIsInJlc3VsdHMiLCJmaWx0ZXIiLCJyIiwidCIsInRva2VuIiwiaW50ZXJzZWN0aW9uIiwic2VsZWN0aW9uIiwidG9rZW5zIiwic3RhcnRzV2l0aGluIiwiZW5kc1dpdGhpbiIsIm1hcHBlZCIsInNvcnQiLCJBcnJheSIsImlzQXJyYXkiLCJhIiwiYiIsImUiLCJFcnJvciIsIm5vcm1hbGl6ZSIsInRleHRUb05vcm1hbGl6ZSIsImluZGV4Iiwib3V0ZXIiLCJsYXN0SW5kZXgiLCJzdWJzdHJpbmciLCJwcmVkZWZpbmVkIiwiY29ycmVjdCIsImlzTWlzc2luZyIsImxhc3QiLCJyZXN1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxDQUFDLEdBQUcsU0FBSkEsQ0FBSSxDQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QixNQUFJQSxJQUFJLENBQUNDLFFBQVQsRUFBbUI7QUFDakIsV0FBT0QsSUFBSSxDQUFDQyxRQUFMLENBQWNDLE1BQWQsQ0FBcUJK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SEMsT0FBYjtBQUtBbUIsTUFBQUEsTUFBTSxDQUFDWixJQUFQLENBQVlnQyxJQUFaO0FBQ0Q7O0FBRUQsV0FBTztBQUNMTCxNQUFBQSxTQUFTLEVBQUVmLE1BQU0sQ0FBQ25CLE1BQVAsR0FBZ0JtQixNQUFNLENBQUNBLE1BQU0sQ0FBQ25CLE1BQVAsR0FBZ0IsQ0FBakIsQ0FBTixDQUEwQkwsR0FBMUMsR0FBZ0R1QyxTQUR0RDtBQUVMTSxNQUFBQSxNQUFNLEVBQUVwRCxHQUFHLENBQUNvRCxNQUFKLENBQVc1QyxNQUFYLENBQWtCdUIsTUFBbEI7QUFGSCxLQUFQO0FBSUQsR0EvQ1MsRUFnRFY7QUFBRXFCLElBQUFBLE1BQU0sRUFBRSxFQUFWO0FBQWNOLElBQUFBLFNBQVMsRUFBRTtBQUF6QixHQWhEVSxDQUFaO0FBbURBLFNBQU8vQyxHQUFHLENBQUNxRCxNQUFYO0FBQ0QsQ0FsRU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcGFjdCBmcm9tICdsb2Rhc2gvY29tcGFjdCc7XG5pbXBvcnQgRW5nbGlzaCBmcm9tICdAcGllLWZyYW1ld29yay9wYXJzZS1lbmdsaXNoJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuXG5jb25zdCBnID0gKHN0ciwgbm9kZSkgPT4ge1xuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIHJldHVybiBub2RlLmNoaWxkcmVuLnJlZHVjZShnLCBzdHIpO1xuICB9IGVsc2UgaWYgKG5vZGUudmFsdWUpIHtcbiAgICByZXR1cm4gc3RyICsgbm9kZS52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG59O1xuXG5jb25zdCBnZXRQYXJhZ3JhcGggPSAocCkgPT4gZygnJywgcCk7XG5cbmNvbnN0IGdldFNlbnRlbmNlID0gKHMpID0+IGcoJycsIHMpO1xuXG5jb25zdCBnZXRXb3JkID0gKHcpID0+IGcoJycsIHcpO1xuXG5leHBvcnQgY29uc3QgcGFyYWdyYXBocyA9ICh0ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWUgPSBuZXcgRW5nbGlzaCgpLnBhcnNlKHRleHQpO1xuXG4gIGNvbnN0IG91dCA9IHRyZWUuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdQYXJhZ3JhcGhOb2RlJykge1xuICAgICAgY29uc3QgcGFyYWdyYXBoID0ge1xuICAgICAgICB0ZXh0OiBnZXRQYXJhZ3JhcGgoY2hpbGQpLFxuICAgICAgICBzdGFydDogY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0LFxuICAgICAgICBlbmQ6IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gYWNjLmNvbmNhdChbcGFyYWdyYXBoXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW50ZW5jZSA9IChjaGlsZCwgYWNjKSA9PiB7XG4gIGNvbnN0IHNlbnRlbmNlQ2hpbGRzID0gW107XG4gIC8vIHdlIHBhcnNlIHRoZSBjaGlsZHJlbiBvZiB0aGUgc2VudGVuY2VcbiAgbGV0IG5ld0FjYyA9IGNoaWxkLmNoaWxkcmVuLnJlZHVjZShmdW5jdGlvbihhY2MsIGNoaWxkKSB7XG4gICAgLy8gaWYgd2UgZmluZCBhIHdoaXRlc3BhY2Ugbm9kZSB0aGF0J3MgXFxuLCB3ZSBlbmQgdGhlIHNlbnRlbmNlXG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdXaGl0ZVNwYWNlTm9kZScgJiYgY2hpbGQudmFsdWUgPT09ICdcXG4nKSB7XG4gICAgICBpZiAoc2VudGVuY2VDaGlsZHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0V29yZCA9IHNlbnRlbmNlQ2hpbGRzWzBdO1xuICAgICAgICAvLyB3ZSBjcmVhdGUgYSBzZW50ZW5jZSBzdGFydGluZyBmcm9tIHRoZSBmaXJzdCB3b3JkIHVudGlsIHRoZSBuZXcgbGluZVxuICAgICAgICBjb25zdCBzZW50ZW5jZSA9IHtcbiAgICAgICAgICB0ZXh0OiBzZW50ZW5jZUNoaWxkcy5tYXAoKGQpID0+IGdldFNlbnRlbmNlKGQpKS5qb2luKCcnKSxcbiAgICAgICAgICBzdGFydDogZmlyc3RXb3JkLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgICBlbmQ6IGNoaWxkLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyB3ZSByZW1vdmUgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBhcnJheVxuICAgICAgICBzZW50ZW5jZUNoaWxkcy5zcGxpY2UoMCwgc2VudGVuY2VDaGlsZHMubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoW3NlbnRlbmNlXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG90aGVyd2lzZSB3ZSBhZGQgaXQgdG8gdGhlIGFycmF5IHRoYXQgY29udGFpbnMgdGhlIGNoaWxkIGZvcm1pbmcgYSBzZW50ZW5jZVxuICAgICAgc2VudGVuY2VDaGlsZHMucHVzaChjaGlsZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgYWNjKTtcblxuICAvLyB3ZSB0cmVhdCB0aGUgY2FzZSB3aGVuIG5vIFxcbiBjaGFyYWN0ZXIgaXMgZm91bmQgYXQgdGhlIGVuZFxuICAvLyBzbyB3ZSBjcmVhdGUgYSBzZW50ZW5jZSBmcm9tIHRoZSBsYXN0IHdvcmRzIG9yIHdoaXRlIHNwYWNlcyBmb3VuZFxuICBpZiAoc2VudGVuY2VDaGlsZHMubGVuZ3RoKSB7XG4gICAgY29uc3QgZmlyc3RXb3JkID0gc2VudGVuY2VDaGlsZHNbMF07XG4gICAgY29uc3QgbGFzdFdvcmQgPSBzZW50ZW5jZUNoaWxkc1tzZW50ZW5jZUNoaWxkcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBzZW50ZW5jZSA9IHtcbiAgICAgIHRleHQ6IHNlbnRlbmNlQ2hpbGRzLm1hcCgoZCkgPT4gZ2V0U2VudGVuY2UoZCkpLmpvaW4oJycpLFxuICAgICAgc3RhcnQ6IGZpcnN0V29yZC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICBlbmQ6IGxhc3RXb3JkLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgfTtcblxuICAgIG5ld0FjYyA9IG5ld0FjYy5jb25jYXQoW3NlbnRlbmNlXSk7XG5cbiAgICBzZW50ZW5jZUNoaWxkcy5zcGxpY2UoMCwgc2VudGVuY2VDaGlsZHMubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBuZXdBY2M7XG59O1xuXG5leHBvcnQgY29uc3Qgc2VudGVuY2VzID0gKHRleHQpID0+IHtcbiAgY29uc3QgdHJlZSA9IG5ldyBFbmdsaXNoKCkucGFyc2UodGV4dCk7XG5cbiAgY29uc3Qgb3V0ID0gdHJlZS5jaGlsZHJlbi5yZWR1Y2UoKGFjYywgY2hpbGQpID0+IHtcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1BhcmFncmFwaE5vZGUnKSB7XG4gICAgICByZXR1cm4gY2hpbGQuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAnU2VudGVuY2VOb2RlJykge1xuICAgICAgICAgIGNvbnN0IG5ld0FjYyA9IGhhbmRsZVNlbnRlbmNlKGNoaWxkLCBhY2MpO1xuXG4gICAgICAgICAgcmV0dXJuIG5ld0FjYyB8fCBhY2M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgfSwgYWNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG4gIH0sIFtdKTtcblxuICByZXR1cm4gb3V0O1xufTtcbmV4cG9ydCBjb25zdCB3b3JkcyA9ICh0ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWUgPSBuZXcgRW5nbGlzaCgpLnBhcnNlKHRleHQpO1xuXG4gIGNvbnN0IG91dCA9IHRyZWUuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdQYXJhZ3JhcGhOb2RlJykge1xuICAgICAgcmV0dXJuIGNoaWxkLmNoaWxkcmVuLnJlZHVjZSgoYWNjLCBjaGlsZCkgPT4ge1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1NlbnRlbmNlTm9kZScpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1dvcmROb2RlJykge1xuICAgICAgICAgICAgICBjb25zdCBub2RlID0ge1xuICAgICAgICAgICAgICAgIHRleHQ6IGdldFdvcmQoY2hpbGQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBjaGlsZC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgICAgICAgICAgZW5kOiBjaGlsZC5wb3NpdGlvbi5lbmQub2Zmc2V0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICByZXR1cm4gYWNjLmNvbmNhdChbbm9kZV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCBhY2MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgIH0sIGFjYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmNsYXNzIEludGVyc2VjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHJlc3VsdHMpIHtcbiAgICB0aGlzLnJlc3VsdHMgPSByZXN1bHRzO1xuICB9XG5cbiAgZ2V0IGhhc092ZXJsYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ292ZXJsYXAnKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHN1cnJvdW5kZWRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ3dpdGhpbi1zZWxlY3Rpb24nKS5tYXAoKHQpID0+IHQudG9rZW4pO1xuICB9XG59XG4vKipcbiAqIGdldCBpbnRlcnNlY3Rpb24gaW5mbyBmb3IgdGhlIHNlbGVjdGlvbiBpbiByZWxhdGlvbiB0byB0b2tlbnMuXG4gKiBAcGFyYW0ge3tzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcn19IHNlbGVjdGlvblxuICogQHBhcmFtIHt7c3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXJ9W119IHRva2Vuc1xuICogQHJldHVybiB7dG9rZW5zOiBbXSwgdHlwZTogJ292ZXJsYXB8bm8tb3ZlcmxhcHxjb250YWlucyd9XG4gKi9cbmV4cG9ydCBjb25zdCBpbnRlcnNlY3Rpb24gPSAoc2VsZWN0aW9uLCB0b2tlbnMpID0+IHtcbiAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBzZWxlY3Rpb247XG5cbiAgY29uc3Qgc3RhcnRzV2l0aGluID0gKHQpID0+IHN0YXJ0ID49IHQuc3RhcnQgJiYgc3RhcnQgPCB0LmVuZDtcbiAgY29uc3QgZW5kc1dpdGhpbiA9ICh0KSA9PiBlbmQgPiB0LnN0YXJ0ICYmIGVuZCA8PSB0LmVuZDtcblxuICBjb25zdCBtYXBwZWQgPSB0b2tlbnMubWFwKCh0KSA9PiB7XG4gICAgaWYgKHN0YXJ0ID09PSB0LnN0YXJ0ICYmIGVuZCA9PT0gdC5lbmQpIHtcbiAgICAgIHJldHVybiB7IHRva2VuOiB0LCB0eXBlOiAnZXhhY3QtZml0JyB9O1xuICAgIH0gZWxzZSBpZiAoc3RhcnQgPD0gdC5zdGFydCAmJiBlbmQgPj0gdC5lbmQpIHtcbiAgICAgIHJldHVybiB7IHRva2VuOiB0LCB0eXBlOiAnd2l0aGluLXNlbGVjdGlvbicgfTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0c1dpdGhpbih0KSB8fCBlbmRzV2l0aGluKHQpKSB7XG4gICAgICByZXR1cm4geyB0b2tlbjogdCwgdHlwZTogJ292ZXJsYXAnIH07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG5ldyBJbnRlcnNlY3Rpb24oY29tcGFjdChtYXBwZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzb3J0ID0gKHRva2VucykgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodG9rZW5zKSkge1xuICAgIHJldHVybiB0b2tlbnM7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb3V0ID0gY2xvbmUodG9rZW5zKTtcbiAgICBvdXQuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcyA9IGEuc3RhcnQgPCBiLnN0YXJ0ID8gLTEgOiBhLnN0YXJ0ID4gYi5zdGFydCA/IDEgOiAwO1xuICAgICAgY29uc3QgZSA9IGEuZW5kIDwgYi5lbmQgPyAtMSA6IGEuZW5kID4gYi5lbmQgPyAxIDogMDtcbiAgICAgIGlmIChzID09PSAtMSAmJiBlICE9PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHNvcnQgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnNlY3RpbmcgdG9rZW5zLiBhOiAke2Euc3RhcnR9LSR7YS5lbmR9LCBiOiAke2Iuc3RhcnR9LSR7Yi5lbmR9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcztcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHRleHRUb05vcm1hbGl6ZSwgdG9rZW5zKSA9PiB7XG4gIC8vIG1ha2luZyBzdXJlIHRleHQgcHJvdmlkZWQgaXMgYSBzdHJpbmdcbiAgY29uc3QgdGV4dCA9IHRleHRUb05vcm1hbGl6ZSB8fCAnJztcblxuICBpZiAoIUFycmF5LmlzQXJyYXkodG9rZW5zKSB8fCB0b2tlbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGV4dCxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBjb25zdCBvdXQgPSBzb3J0KHRva2VucykucmVkdWNlKFxuICAgIChhY2MsIHQsIGluZGV4LCBvdXRlcikgPT4ge1xuICAgICAgbGV0IHRva2VucyA9IFtdO1xuICAgICAgY29uc3QgbGFzdEluZGV4ID0gYWNjLmxhc3RJbmRleDtcblxuICAgICAgaWYgKHQuc3RhcnQgPT09IGxhc3RJbmRleCkge1xuICAgICAgICB0b2tlbnMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdGV4dC5zdWJzdHJpbmcobGFzdEluZGV4LCB0LmVuZCksXG4gICAgICAgICAgICBzdGFydDogbGFzdEluZGV4LFxuICAgICAgICAgICAgZW5kOiB0LmVuZCxcbiAgICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgICBjb3JyZWN0OiB0LmNvcnJlY3QsXG4gICAgICAgICAgICBpc01pc3Npbmc6IHQuaXNNaXNzaW5nLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9IGVsc2UgaWYgKGxhc3RJbmRleCA8IHQuc3RhcnQpIHtcbiAgICAgICAgdG9rZW5zID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IHRleHQuc3Vic3RyaW5nKGxhc3RJbmRleCwgdC5zdGFydCksXG4gICAgICAgICAgICBzdGFydDogbGFzdEluZGV4LFxuICAgICAgICAgICAgZW5kOiB0LnN0YXJ0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdGV4dC5zdWJzdHJpbmcodC5zdGFydCwgdC5lbmQpLFxuICAgICAgICAgICAgc3RhcnQ6IHQuc3RhcnQsXG4gICAgICAgICAgICBlbmQ6IHQuZW5kLFxuICAgICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICAgIGNvcnJlY3Q6IHQuY29ycmVjdCxcbiAgICAgICAgICAgIGlzTWlzc2luZzogdC5pc01pc3NpbmcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4ID09PSBvdXRlci5sZW5ndGggLSAxICYmIHQuZW5kIDwgdGV4dC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgbGFzdCA9IHtcbiAgICAgICAgICB0ZXh0OiB0ZXh0LnN1YnN0cmluZyh0LmVuZCksXG4gICAgICAgICAgc3RhcnQ6IHQuZW5kLFxuICAgICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgICAgIH07XG4gICAgICAgIHRva2Vucy5wdXNoKGxhc3QpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYXN0SW5kZXg6IHRva2Vucy5sZW5ndGggPyB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdLmVuZCA6IGxhc3RJbmRleCxcbiAgICAgICAgcmVzdWx0OiBhY2MucmVzdWx0LmNvbmNhdCh0b2tlbnMpLFxuICAgICAgfTtcbiAgICB9LFxuICAgIHsgcmVzdWx0OiBbXSwgbGFzdEluZGV4OiAwIH0sXG4gICk7XG5cbiAgcmV0dXJuIG91dC5yZXN1bHQ7XG59O1xuIl19
@@ -31,6 +31,10 @@ var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
31
31
 
32
32
  var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
33
33
 
34
+ var _renderUi = require("@pie-lib/render-ui");
35
+
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
34
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
39
 
36
40
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -84,6 +88,10 @@ var Controls = /*#__PURE__*/function (_React$Component) {
84
88
  disabled: setCorrectMode
85
89
  }, "Clear")), /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
86
90
  control: /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
91
+ classes: {
92
+ checked: classes.checkedThumb,
93
+ bar: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.checkedBar, setCorrectMode))
94
+ },
87
95
  checked: setCorrectMode,
88
96
  onChange: onToggleCorrectMode
89
97
  }),
@@ -115,9 +123,15 @@ var _default = (0, _styles.withStyles)(function (theme) {
115
123
  display: 'flex',
116
124
  alignItems: 'center',
117
125
  justifyContent: 'space-between'
126
+ },
127
+ checkedThumb: {
128
+ color: "".concat(_renderUi.color.tertiary(), " !important")
129
+ },
130
+ checkedBar: {
131
+ backgroundColor: "".concat(_renderUi.color.tertiaryLight(), " !important")
118
132
  }
119
133
  };
120
134
  })(Controls);
121
135
 
122
136
  exports["default"] = _default;
123
- //# sourceMappingURL=controls.js.map
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvY29udHJvbHMuanN4Il0sIm5hbWVzIjpbIkNvbnRyb2xzIiwicHJvcHMiLCJjbGFzc2VzIiwib25DbGVhciIsIm9uV29yZHMiLCJvblNlbnRlbmNlcyIsIm9uUGFyYWdyYXBocyIsInNldENvcnJlY3RNb2RlIiwib25Ub2dnbGVDb3JyZWN0TW9kZSIsImNvbnRyb2xzIiwiYnV0dG9uIiwiY2hlY2tlZCIsImNoZWNrZWRUaHVtYiIsImJhciIsImNoZWNrZWRCYXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiYm9vbCIsInRoZW1lIiwibWFyZ2luUmlnaHQiLCJzcGFjaW5nIiwidW5pdCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJjb2xvciIsInRlcnRpYXJ5IiwiYmFja2dyb3VuZENvbG9yIiwidGVydGlhcnlMaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztJQUVhQSxROzs7Ozs7Ozs7Ozs7V0FhWCxrQkFBUztBQUNQLHdCQUFzRyxLQUFLQyxLQUEzRztBQUFBLFVBQVFDLE9BQVIsZUFBUUEsT0FBUjtBQUFBLFVBQWlCQyxPQUFqQixlQUFpQkEsT0FBakI7QUFBQSxVQUEwQkMsT0FBMUIsZUFBMEJBLE9BQTFCO0FBQUEsVUFBbUNDLFdBQW5DLGVBQW1DQSxXQUFuQztBQUFBLFVBQWdEQyxZQUFoRCxlQUFnREEsWUFBaEQ7QUFBQSxVQUE4REMsY0FBOUQsZUFBOERBLGNBQTlEO0FBQUEsVUFBOEVDLG1CQUE5RSxlQUE4RUEsbUJBQTlFO0FBRUEsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRU4sT0FBTyxDQUFDTztBQUF4QixzQkFDRSwwREFDRSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsT0FBTyxFQUFFTCxPQUFqQjtBQUEwQixRQUFBLFNBQVMsRUFBRUYsT0FBTyxDQUFDUSxNQUE3QztBQUFxRCxRQUFBLElBQUksRUFBQyxPQUExRDtBQUFrRSxRQUFBLEtBQUssRUFBQyxTQUF4RTtBQUFrRixRQUFBLFFBQVEsRUFBRUg7QUFBNUYsaUJBREYsZUFJRSxnQ0FBQyxrQkFBRDtBQUNFLFFBQUEsT0FBTyxFQUFFRixXQURYO0FBRUUsUUFBQSxTQUFTLEVBQUVILE9BQU8sQ0FBQ1EsTUFGckI7QUFHRSxRQUFBLElBQUksRUFBQyxPQUhQO0FBSUUsUUFBQSxLQUFLLEVBQUMsU0FKUjtBQUtFLFFBQUEsUUFBUSxFQUFFSDtBQUxaLHFCQUpGLGVBYUUsZ0NBQUMsa0JBQUQ7QUFDRSxRQUFBLE9BQU8sRUFBRUQsWUFEWDtBQUVFLFFBQUEsU0FBUyxFQUFFSixPQUFPLENBQUNRLE1BRnJCO0FBR0UsUUFBQSxJQUFJLEVBQUMsT0FIUDtBQUlFLFFBQUEsS0FBSyxFQUFDLFNBSlI7QUFLRSxRQUFBLFFBQVEsRUFBRUg7QUFMWixzQkFiRixlQXNCRSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsU0FBUyxFQUFFTCxPQUFPLENBQUNRLE1BQTNCO0FBQW1DLFFBQUEsSUFBSSxFQUFDLE9BQXhDO0FBQWdELFFBQUEsS0FBSyxFQUFDLFdBQXREO0FBQWtFLFFBQUEsT0FBTyxFQUFFUCxPQUEzRTtBQUFvRixRQUFBLFFBQVEsRUFBRUk7QUFBOUYsaUJBdEJGLENBREYsZUEyQkUsZ0NBQUMsNEJBQUQ7QUFDRSxRQUFBLE9BQU8sZUFDUCxnQ0FBQyxrQkFBRDtBQUNJLFVBQUEsT0FBTyxFQUFFO0FBQ1BJLFlBQUFBLE9BQU8sRUFBRVQsT0FBTyxDQUFDVSxZQURWO0FBRVBDLFlBQUFBLEdBQUcsRUFBRSxpRUFDRlgsT0FBTyxDQUFDWSxVQUROLEVBQ21CUCxjQURuQjtBQUZFLFdBRGI7QUFPSSxVQUFBLE9BQU8sRUFBRUEsY0FQYjtBQVFJLFVBQUEsUUFBUSxFQUFFQztBQVJkLFVBRkY7QUFhRSxRQUFBLEtBQUssRUFBQztBQWJSLFFBM0JGLENBREY7QUE2Q0Q7OztFQTdEMkJPLGtCQUFNQyxTOzs7aUNBQXZCaEIsUSxlQUNRO0FBQ2pCRSxFQUFBQSxPQUFPLEVBQUVlLHNCQUFVQyxNQUFWLENBQWlCQyxVQURUO0FBRWpCaEIsRUFBQUEsT0FBTyxFQUFFYyxzQkFBVUcsSUFBVixDQUFlRCxVQUZQO0FBR2pCZixFQUFBQSxPQUFPLEVBQUVhLHNCQUFVRyxJQUFWLENBQWVELFVBSFA7QUFJakJkLEVBQUFBLFdBQVcsRUFBRVksc0JBQVVHLElBQVYsQ0FBZUQsVUFKWDtBQUtqQmIsRUFBQUEsWUFBWSxFQUFFVyxzQkFBVUcsSUFBVixDQUFlRCxVQUxaO0FBTWpCWixFQUFBQSxjQUFjLEVBQUVVLHNCQUFVSSxJQUFWLENBQWVGLFVBTmQ7QUFPakJYLEVBQUFBLG1CQUFtQixFQUFFUyxzQkFBVUcsSUFBVixDQUFlRDtBQVBuQixDO2lDQURSbkIsUSxrQkFXVyxFOztlQW9EVCx3QkFBVyxVQUFDc0IsS0FBRDtBQUFBLFNBQVk7QUFDcENaLElBQUFBLE1BQU0sRUFBRTtBQUNOYSxNQUFBQSxXQUFXLEVBQUVELEtBQUssQ0FBQ0UsT0FBTixDQUFjQztBQURyQixLQUQ0QjtBQUlwQ2hCLElBQUFBLFFBQVEsRUFBRTtBQUNSaUIsTUFBQUEsT0FBTyxFQUFFLE1BREQ7QUFFUkMsTUFBQUEsVUFBVSxFQUFFLFFBRko7QUFHUkMsTUFBQUEsY0FBYyxFQUFFO0FBSFIsS0FKMEI7QUFTcENoQixJQUFBQSxZQUFZLEVBQUU7QUFDWmlCLE1BQUFBLEtBQUssWUFBS0EsZ0JBQU1DLFFBQU4sRUFBTDtBQURPLEtBVHNCO0FBWXBDaEIsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZpQixNQUFBQSxlQUFlLFlBQUtGLGdCQUFNRyxhQUFOLEVBQUw7QUFETDtBQVp3QixHQUFaO0FBQUEsQ0FBWCxFQWVYaEMsUUFmVyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvU3dpdGNoJztcbmltcG9ydCBGb3JtQ29udHJvbExhYmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0Zvcm1Db250cm9sTGFiZWwnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmV4cG9ydCBjbGFzcyBDb250cm9scyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uQ2xlYXI6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Xb3JkczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblNlbnRlbmNlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBhcmFncmFwaHM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2V0Q29ycmVjdE1vZGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25Ub2dnbGVDb3JyZWN0TW9kZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3Nlcywgb25DbGVhciwgb25Xb3Jkcywgb25TZW50ZW5jZXMsIG9uUGFyYWdyYXBocywgc2V0Q29ycmVjdE1vZGUsIG9uVG9nZ2xlQ29ycmVjdE1vZGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY29udHJvbHN9PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25Xb3Jkc30gY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn0gc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJwcmltYXJ5XCIgZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfT5cbiAgICAgICAgICAgIFdvcmRzXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17b25TZW50ZW5jZXN9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufVxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBkaXNhYmxlZD17c2V0Q29ycmVjdE1vZGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgU2VudGVuY2VzXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17b25QYXJhZ3JhcGhzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn1cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFBhcmFncmFwaHNcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259IHNpemU9XCJzbWFsbFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgb25DbGljaz17b25DbGVhcn0gZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfT5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rm9ybUNvbnRyb2xMYWJlbFxuICAgICAgICAgIGNvbnRyb2w9e1xuICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGNsYXNzZXMuY2hlY2tlZFRodW1iLFxuICAgICAgICAgICAgICAgIGJhcjogY2xhc3NOYW1lcyh7XG4gICAgICAgICAgICAgICAgICBbY2xhc3Nlcy5jaGVja2VkQmFyXTogc2V0Q29ycmVjdE1vZGUsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e3NldENvcnJlY3RNb2RlfSBcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVG9nZ2xlQ29ycmVjdE1vZGV9IFxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgICBsYWJlbD1cIlNldCBjb3JyZWN0IGFuc3dlcnNcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIGJ1dHRvbjoge1xuICAgIG1hcmdpblJpZ2h0OiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gIH0sXG4gIGNvbnRyb2xzOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gIH0sXG4gIGNoZWNrZWRUaHVtYjoge1xuICAgIGNvbG9yOiBgJHtjb2xvci50ZXJ0aWFyeSgpfSAhaW1wb3J0YW50YCxcbiAgfSxcbiAgY2hlY2tlZEJhcjoge1xuICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3IudGVydGlhcnlMaWdodCgpfSAhaW1wb3J0YW50YCxcbiAgfVxufSkpKENvbnRyb2xzKTtcbiJdfQ==
@@ -202,4 +202,4 @@ var _default = (0, _styles.withStyles)(function () {
202
202
  })(Tokenizer);
203
203
 
204
204
  exports["default"] = _default;
205
- //# sourceMappingURL=index.js.map
205
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbIlRva2VuaXplciIsInByb3BzIiwidG9rZW4iLCJtb2RlIiwib25DaGFuZ2UiLCJzZXRTdGF0ZSIsInNldENvcnJlY3RNb2RlIiwic3RhdGUiLCJvbkNoYW5nZUhhbmRsZXIiLCJ0eXBlIiwiZm4iLCJ0ZXh0IiwidG9rZW5zIiwibmV3VG9rZW4iLCJ0b2tlbnNUb1JlbW92ZSIsInVwZGF0ZSIsImlzRXF1YWwiLCJwdXNoIiwic2V0Q29ycmVjdCIsInJlbW92ZVRva2VuIiwiZmluZEluZGV4IiwidCIsInN0YXJ0IiwiZW5kIiwiaW5kZXgiLCJ0b2tlbkluZGV4IiwiY29ycmVjdCIsInNwbGljZSIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJ0b2tlbkNsYXNzTmFtZSIsIm5vc2VsZWN0Iiwicm9vdE5hbWUiLCJ0b2tlbml6ZXIiLCJjbGVhciIsImJ1aWxkVG9rZW5zIiwid29yZHMiLCJzZW50ZW5jZXMiLCJwYXJhZ3JhcGhzIiwidG9nZ2xlQ29ycmVjdE1vZGUiLCJ0b2tlbkNsaWNrIiwic2VsZWN0VG9rZW4iLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJhcnJheU9mIiwic2hhcGUiLCJib29sIiwibnVtYmVyIiwib2JqZWN0IiwiZnVuYyIsIndoaXRlU3BhY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7SUFFYUEsUzs7Ozs7QUFrQlgscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQURpQix3R0FRRCxVQUFDQyxLQUFELEVBQVFDLElBQVIsRUFBaUI7QUFDakMsWUFBS0YsS0FBTCxDQUFXRyxRQUFYLENBQW9CRixLQUFwQixFQUEyQkMs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O0FBSnVCLEdBQVA7QUFBQSxDQUFYLEVBS1gvQixTQUxXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBDb250cm9scyBmcm9tICcuL2NvbnRyb2xzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgd29yZHMsIHNlbnRlbmNlcywgcGFyYWdyYXBocyB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBkaWZmZXJlbmNlV2l0aCBmcm9tICdsb2Rhc2gvZGlmZmVyZW5jZVdpdGgnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBub1NlbGVjdCB9IGZyb20gJ0BwaWUtbGliL3N0eWxlLXV0aWxzJztcbmltcG9ydCBUb2tlblRleHQgZnJvbSAnLi90b2tlbi10ZXh0JztcblxuZXhwb3J0IGNsYXNzIFRva2VuaXplciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHRva2VuczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICAgc3RhcnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICAgIGVuZDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIH0pLFxuICAgICksXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNldENvcnJlY3RNb2RlOiBmYWxzZSxcbiAgICAgIG1vZGU6ICcnLFxuICAgIH07XG4gIH1cblxuICBvbkNoYW5nZUhhbmRsZXIgPSAodG9rZW4sIG1vZGUpID0+IHtcbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRva2VuLCBtb2RlKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbW9kZSxcbiAgICB9KTtcbiAgfTtcblxuICB0b2dnbGVDb3JyZWN0TW9kZSA9ICgpID0+IHRoaXMuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogIXRoaXMuc3RhdGUuc2V0Q29ycmVjdE1vZGUgfSk7XG5cbiAgY2xlYXIgPSAoKSA9PiB7XG4gICAgdGhpcy5vbkNoYW5nZUhhbmRsZXIoW10sICcnKTtcbiAgfTtcblxuICBidWlsZFRva2VucyA9ICh0eXBlLCBmbikgPT4ge1xuICAgIGNvbnN0IHsgdGV4dCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB0b2tlbnMgPSBmbih0ZXh0KTtcblxuICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHRva2VucywgdHlwZSk7XG4gIH07XG5cbiAgc2VsZWN0VG9rZW4gPSAobmV3VG9rZW4sIHRva2Vuc1RvUmVtb3ZlKSA9PiB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0gZGlmZmVyZW5jZVdpdGgoY2xvbmUodG9rZW5zKSwgdG9rZW5zVG9SZW1vdmUsIGlzRXF1YWwpO1xuXG4gICAgdXBkYXRlLnB1c2gobmV3VG9rZW4pO1xuICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHVwZGF0ZSwgdGhpcy5zdGF0ZS5tb2RlKTtcbiAgfTtcblxuICB0b2tlbkNsaWNrID0gKHRva2VuKSA9PiB7XG4gICAgY29uc3QgeyBzZXRDb3JyZWN0TW9kZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmIChzZXRDb3JyZWN0TW9kZSkge1xuICAgICAgdGhpcy5zZXRDb3JyZWN0KHRva2VuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVUb2tlbih0b2tlbik7XG4gICAgfVxuICB9O1xuXG4gIHRva2VuSW5kZXggPSAodG9rZW4pID0+IHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiB0b2tlbnMuZmluZEluZGV4KCh0KSA9PiB7XG4gICAgICByZXR1cm4gdC50ZXh0ID09IHRva2VuLnRleHQgJiYgdC5zdGFydCA9PSB0b2tlbi5zdGFydCAmJiB0LmVuZCA9PSB0b2tlbi5lbmQ7XG4gICAgfSk7XG4gIH07XG5cbiAgc2V0Q29ycmVjdCA9ICh0b2tlbikgPT4ge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50b2tlbkluZGV4KHRva2VuKTtcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCB0ID0gdG9rZW5zW2luZGV4XTtcblxuICAgICAgdC5jb3JyZWN0ID0gIXQuY29ycmVjdDtcblxuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmUodG9rZW5zKTtcblxuICAgICAgdXBkYXRlLnNwbGljZShpbmRleCwgMSwgdCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlSGFuZGxlcih1cGRhdGUsIHRoaXMuc3RhdGUubW9kZSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbW92ZVRva2VuID0gKHRva2VuKSA9PiB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBpbmRleCA9IHRoaXMudG9rZW5JbmRleCh0b2tlbik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgY29uc3QgdXBkYXRlID0gY2xvbmUodG9rZW5zKTtcblxuICAgICAgdXBkYXRlLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIHRoaXMub25DaGFuZ2VIYW5kbGVyKHVwZGF0ZSwgdGhpcy5zdGF0ZS5tb2RlKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdGV4dCwgdG9rZW5zLCBjbGFzc2VzLCBjbGFzc05hbWUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBzZXRDb3JyZWN0TW9kZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IHRva2VuQ2xhc3NOYW1lID0gY2xhc3NOYW1lcyhjbGFzc2VzLnRleHQsIHNldENvcnJlY3RNb2RlICYmIGNsYXNzZXMubm9zZWxlY3QpO1xuXG4gICAgY29uc3Qgcm9vdE5hbWUgPSBjbGFzc05hbWVzKGNsYXNzZXMudG9rZW5pemVyLCBjbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtyb290TmFtZX0+XG4gICAgICAgIDxDb250cm9sc1xuICAgICAgICAgIG9uQ2xlYXI9e3RoaXMuY2xlYXJ9XG4gICAgICAgICAgb25Xb3Jkcz17KCkgPT4gdGhpcy5idWlsZFRva2Vucygnd29yZHMnLCB3b3Jkcyl9XG4gICAgICAgICAgb25TZW50ZW5jZXM9eygpID0+IHRoaXMuYnVpbGRUb2tlbnMoJ3NlbnRlbmNlJywgc2VudGVuY2VzKX1cbiAgICAgICAgICBvblBhcmFncmFwaHM9eygpID0+IHRoaXMuYnVpbGRUb2tlbnMoJ3BhcmFncmFwaHMnLCBwYXJhZ3JhcGhzKX1cbiAgICAgICAgICBzZXRDb3JyZWN0TW9kZT17c2V0Q29ycmVjdE1vZGV9XG4gICAgICAgICAgb25Ub2dnbGVDb3JyZWN0TW9kZT17dGhpcy50b2dnbGVDb3JyZWN0TW9kZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFRva2VuVGV4dFxuICAgICAgICAgIGNsYXNzTmFtZT17dG9rZW5DbGFzc05hbWV9XG4gICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICB0b2tlbnM9e3Rva2Vuc31cbiAgICAgICAgICBvblRva2VuQ2xpY2s9e3RoaXMudG9rZW5DbGlja31cbiAgICAgICAgICBvblNlbGVjdFRva2VuPXt0aGlzLnNlbGVjdFRva2VufVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIHRleHQ6IHtcbiAgICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICB9LFxuICBub3NlbGVjdDogeyAuLi5ub1NlbGVjdCgpIH0sXG59KSkoVG9rZW5pemVyKTtcbiJdfQ==
@@ -62,4 +62,4 @@ var getCaretCharacterOffsetWithin = function getCaretCharacterOffsetWithin(eleme
62
62
  };
63
63
 
64
64
  exports.getCaretCharacterOffsetWithin = getCaretCharacterOffsetWithin;
65
- //# sourceMappingURL=selection-utils.js.map
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvc2VsZWN0aW9uLXV0aWxzLmpzIl0sIm5hbWVzIjpbImNsZWFyU2VsZWN0aW9uIiwiZG9jdW1lbnQiLCJnZXRTZWxlY3Rpb24iLCJyZW1vdmVBbGxSYW5nZXMiLCJhZGRSYW5nZSIsImNyZWF0ZVJhbmdlIiwid2luZG93IiwiZW1wdHkiLCJzZWxlY3Rpb24iLCJnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbiIsImVsZW1lbnQiLCJjYXJldE9mZnNldCIsImRvYyIsIm93bmVyRG9jdW1lbnQiLCJ3aW4iLCJkZWZhdWx0VmlldyIsInBhcmVudFdpbmRvdyIsInNlbCIsInJhbmdlQ291bnQiLCJyYW5nZSIsImdldFJhbmdlQXQiLCJzZWxlY3RlZCIsInRvU3RyaW5nIiwibGVuZ3RoIiwicHJlQ2FyZXRSYW5nZSIsImNsb25lUmFuZ2UiLCJzZWxlY3ROb2RlQ29udGVudHMiLCJzZXRFbmQiLCJlbmRDb250YWluZXIiLCJlbmRPZmZzZXQiLCJ0eXBlIiwidGV4dFJhbmdlIiwicHJlQ2FyZXRUZXh0UmFuZ2UiLCJib2R5IiwiY3JlYXRlVGV4dFJhbmdlIiwibW92ZVRvRWxlbWVudFRleHQiLCJzZXRFbmRQb2ludCIsInRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLEdBQU07QUFDbEMsTUFBSUMsUUFBUSxDQUFDQyxZQUFiLEVBQTJCO0FBQ3pCO0FBQ0FELElBQUFBLFFBQVEsQ0FBQ0MsWUFBVCxHQUF3QkMsZUFBeEI7QUFDQUYsSUFBQUEsUUFBUSxDQUFDQyxZQUFULEdBQXdCRSxRQUF4QixDQUFpQ0gsUUFBUSxDQUFDSSxXQUFULEVBQWpDO0FBQ0QsR0FKRCxNQUlPLElBQUlDLE1BQU0sQ0FBQ0osWUFBWCxFQUF5QjtBQUM5QjtBQUNBLFFBQUlJLE1BQU0sQ0FBQ0osWUFBUCxHQUFzQkMsZUFBMUIsRUFBMkM7QUFDekM7QUFDQUcsTUFBQUEsTUFBTSxDQUFDSixZQUFQLEdBQXNCQyxlQUF0QjtBQUNBRyxNQUFBQSxNQUFNLENBQUNKLFlBQVAsR0FBc0JFLFFBQXRCLENBQStCSCxRQUFRLENBQUNJLFdBQVQsRUFBL0I7QUFDRCxLQUpELE1BSU8sSUFBSUMsTUFBTSxDQUFDSixZQUFQLEdBQXNCSyxLQUExQixFQUFpQztBQUN0QztBQUNBRCxNQUFBQSxNQUFNLENBQUNKLFlBQVAsR0FBc0JLLEtBQXRCO0FBQ0Q7QUFDRixHQVZNLE1BVUEsSUFBSU4sUUFBUSxDQUFDTyxTQUFiLEVBQXdCO0FBQzdCO0FBQ0FQLElBQUFBLFFBQVEsQ0FBQ08sU0FBVCxDQUFtQkQsS0FBbkI7QUFDRDtBQUNGLENBbkJNOzs7O0FBcUJBLElBQU1FLDZCQUE2QixHQUFHLFNBQWhDQSw2QkFBZ0MsQ0FBQ0MsT0FBRCxFQUFhO0FBQ3hELE1BQUlDLFdBQVcsR0FBRyxDQUFsQjtBQUNBLE1BQUlDLEdBQUcsR0FBR0YsT0FBTyxDQUFDRyxhQUFSLElBQXlCSCxPQUFPLENBQUNULFFBQTNDO0FBQ0EsTUFBSWEsR0FBRyxHQUFHRixHQUFHLENBQUNHLFdBQUosSUFBbUJILEdBQUcsQ0FBQ0ksWUFBakM7QUFDQSxNQUFJQyxHQUFKOztBQUNBLE1BQUksT0FBT0gsR0FBRyxDQUFDWixZQUFYLEtBQTRCLFdBQWhDLEVBQTZDO0FBQzNDZSxJQUFBQSxHQUFHLEdBQUdILEdBQUcsQ0FBQ1osWUFBSixFQUFOOztBQUNBLFFBQUllLEdBQUcsQ0FBQ0MsVUFBSixHQUFpQixDQUFyQixFQUF3QjtBQUN0QixVQUFJQyxLQUFLLEdBQUdMLEdBQUcsQ0FBQ1osWUFBSixHQUFtQmtCLFVBQW5CLENBQThCLENBQTlCLENBQVo7QUFDQSxVQUFJQyxRQUFRLEdBQUdGLEtBQUssQ0FBQ0csUUFBTixHQUFpQkMsTUFBaEM7QUFDQSxVQUFJQyxhQUFhLEdBQUdMLEtBQUssQ0FBQ00sVUFBTixFQUFwQjtBQUNBRCxNQUFBQSxhQUFhLENBQUNFLGtCQUFkLENBQWlDaEIsT0FBakM7QUFDQWMsTUFBQUEsYUFBYSxDQUFDRyxNQUFkLENBQXFCUixLQUFLLENBQUNTLFlBQTNCLEVBQXlDVCxLQUFLLENBQUNVLFNBQS9DOztBQUNBLFVBQUlSLFFBQUosRUFBYztBQUNaVixRQUFBQSxXQUFXLEdBQUdhLGFBQWEsQ0FBQ0YsUUFBZCxHQUF5QkMsTUFBekIsR0FBa0NGLFFBQWhEO0FBQ0QsT0FGRCxNQUVPO0FBQ0xWLFFBQUFBLFdBQVcsR0FBR2EsYUFBYSxDQUFDRixRQUFkLEdBQXlCQyxNQUF2QztBQUNEO0FBQ0Y7QUFDRixHQWRELE1BY08sSUFBSSxDQUFDTixHQUFHLEdBQUdMLEdBQUcsQ0FBQ0osU0FBWCxLQUF5QlMsR0FBRyxDQUFDYSxJQUFKLEtBQWEsU0FBMUMsRUFBcUQ7QUFDMUQsUUFBSUMsU0FBUyxHQUFHZCxHQUFHLENBQUNaLFdBQUosRUFBaEI7QUFDQSxRQUFJMkIsaUJBQWlCLEdBQUdwQixHQUFHLENBQUNxQixJQUFKLENBQVNDLGVBQVQsRUFBeEI7QUFDQUYsSUFBQUEsaUJBQWlCLENBQUNHLGlCQUFsQixDQUFvQ3pCLE9BQXBDO0FBQ0FzQixJQUFBQSxpQkFBaUIsQ0FBQ0ksV0FBbEIsQ0FBOEIsVUFBOUIsRUFBMENMLFNBQTFDO0FBQ0FwQixJQUFBQSxXQUFXLEdBQUdxQixpQkFBaUIsQ0FBQ0ssSUFBbEIsQ0FBdUJkLE1BQXJDO0FBQ0Q7O0FBQ0QsU0FBT1osV0FBUDtBQUNELENBM0JNIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZm9yIGFsbCBuZXcgYnJvd3NlcnMgKElFOSssIENocm9tZSwgRmlyZWZveClcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZShkb2N1bWVudC5jcmVhdGVSYW5nZSgpKTtcbiAgfSBlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7XG4gICAgLy8gZXF1YWxzIHdpdGggdGhlIGRvY3VtZW50LmdldFNlbGVjdGlvbiAoTVNETiBpbmZvKVxuICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgICAvLyBmb3IgYWxsIG5ldyBicm93c2VycyAoSUU5KywgQ2hyb21lLCBGaXJlZm94KVxuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkpO1xuICAgIH0gZWxzZSBpZiAod2luZG93LmdldFNlbGVjdGlvbigpLmVtcHR5KSB7XG4gICAgICAvLyBDaHJvbWUgc3VwcG9ydHMgdGhpcyBhcyB3ZWxsXG4gICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7XG4gICAgLy8gSUU4LVxuICAgIGRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4gPSAoZWxlbWVudCkgPT4ge1xuICB2YXIgY2FyZXRPZmZzZXQgPSAwO1xuICB2YXIgZG9jID0gZWxlbWVudC5vd25lckRvY3VtZW50IHx8IGVsZW1lbnQuZG9jdW1lbnQ7XG4gIHZhciB3aW4gPSBkb2MuZGVmYXVsdFZpZXcgfHwgZG9jLnBhcmVudFdpbmRvdztcbiAgdmFyIHNlbDtcbiAgaWYgKHR5cGVvZiB3aW4uZ2V0U2VsZWN0aW9uICE9PSAndW5kZWZpbmVkJykge1xuICAgIHNlbCA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoc2VsLnJhbmdlQ291bnQgPiAwKSB7XG4gICAgICB2YXIgcmFuZ2UgPSB3aW4uZ2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKTtcbiAgICAgIHZhciBzZWxlY3RlZCA9IHJhbmdlLnRvU3RyaW5nKCkubGVuZ3RoO1xuICAgICAgdmFyIHByZUNhcmV0UmFuZ2UgPSByYW5nZS5jbG9uZVJhbmdlKCk7XG4gICAgICBwcmVDYXJldFJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyhlbGVtZW50KTtcbiAgICAgIHByZUNhcmV0UmFuZ2Uuc2V0RW5kKHJhbmdlLmVuZENvbnRhaW5lciwgcmFuZ2UuZW5kT2Zmc2V0KTtcbiAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICBjYXJldE9mZnNldCA9IHByZUNhcmV0UmFuZ2UudG9TdHJpbmcoKS5sZW5ndGggLSBzZWxlY3RlZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhcmV0T2Zmc2V0ID0gcHJlQ2FyZXRSYW5nZS50b1N0cmluZygpLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAoKHNlbCA9IGRvYy5zZWxlY3Rpb24pICYmIHNlbC50eXBlICE9PSAnQ29udHJvbCcpIHtcbiAgICB2YXIgdGV4dFJhbmdlID0gc2VsLmNyZWF0ZVJhbmdlKCk7XG4gICAgdmFyIHByZUNhcmV0VGV4dFJhbmdlID0gZG9jLmJvZHkuY3JlYXRlVGV4dFJhbmdlKCk7XG4gICAgcHJlQ2FyZXRUZXh0UmFuZ2UubW92ZVRvRWxlbWVudFRleHQoZWxlbWVudCk7XG4gICAgcHJlQ2FyZXRUZXh0UmFuZ2Uuc2V0RW5kUG9pbnQoJ0VuZFRvRW5kJywgdGV4dFJhbmdlKTtcbiAgICBjYXJldE9mZnNldCA9IHByZUNhcmV0VGV4dFJhbmdlLnRleHQubGVuZ3RoO1xuICB9XG4gIHJldHVybiBjYXJldE9mZnNldDtcbn07XG4iXX0=