@pie-lib/editable-html 11.3.0-beta.0 → 11.4.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.
- package/CHANGELOG.json +12 -3322
- package/CHANGELOG.md +116 -100
- package/lib/block-tags.js +1 -1
- package/lib/block-tags.js.map +1 -0
- package/lib/constants.js +1 -1
- package/lib/constants.js.map +1 -0
- package/lib/editor.js +7 -7
- package/lib/editor.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/parse-html.js +1 -1
- package/lib/parse-html.js.map +1 -0
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +1 -1
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/css/icons/index.js +1 -1
- package/lib/plugins/css/icons/index.js.map +1 -0
- package/lib/plugins/css/index.js +1 -1
- package/lib/plugins/css/index.js.map +1 -0
- package/lib/plugins/customPlugin/index.js +1 -1
- package/lib/plugins/customPlugin/index.js.map +1 -0
- package/lib/plugins/html/icons/index.js +1 -1
- package/lib/plugins/html/icons/index.js.map +1 -0
- package/lib/plugins/html/index.js +1 -1
- package/lib/plugins/html/index.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +1 -1
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +1 -1
- package/lib/plugins/image/component.js.map +1 -0
- package/lib/plugins/image/image-toolbar.js +1 -1
- package/lib/plugins/image/image-toolbar.js.map +1 -0
- package/lib/plugins/image/index.js +1 -1
- package/lib/plugins/image/index.js.map +1 -0
- package/lib/plugins/image/insert-image-handler.js +1 -1
- package/lib/plugins/image/insert-image-handler.js.map +1 -0
- package/lib/plugins/index.js +1 -1
- package/lib/plugins/index.js.map +1 -0
- package/lib/plugins/list/index.js +1 -1
- package/lib/plugins/list/index.js.map +1 -0
- package/lib/plugins/math/index.js +1 -1
- package/lib/plugins/math/index.js.map +1 -0
- package/lib/plugins/media/index.js +1 -1
- package/lib/plugins/media/index.js.map +1 -0
- package/lib/plugins/media/media-dialog.js +4 -4
- package/lib/plugins/media/media-dialog.js.map +1 -0
- package/lib/plugins/media/media-toolbar.js +1 -1
- package/lib/plugins/media/media-toolbar.js.map +1 -0
- package/lib/plugins/media/media-wrapper.js +1 -1
- package/lib/plugins/media/media-wrapper.js.map +1 -0
- package/lib/plugins/rendering/index.js +1 -1
- package/lib/plugins/rendering/index.js.map +1 -0
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +4 -4
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -0
- package/lib/plugins/respArea/drag-in-the-blank/index.js +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -0
- package/lib/plugins/respArea/explicit-constructed-response/index.js +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -0
- package/lib/plugins/respArea/icons/index.js +1 -1
- package/lib/plugins/respArea/icons/index.js.map +1 -0
- package/lib/plugins/respArea/index.js +1 -1
- package/lib/plugins/respArea/index.js.map +1 -0
- package/lib/plugins/respArea/inline-dropdown/index.js +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -0
- package/lib/plugins/respArea/math-templated/index.js +1 -1
- package/lib/plugins/respArea/math-templated/index.js.map +1 -0
- package/lib/plugins/respArea/utils.js +1 -1
- package/lib/plugins/respArea/utils.js.map +1 -0
- package/lib/plugins/table/CustomTablePlugin.js +1 -1
- package/lib/plugins/table/CustomTablePlugin.js.map +1 -0
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/icons/index.js.map +1 -0
- package/lib/plugins/table/index.js +1 -1
- package/lib/plugins/table/index.js.map +1 -0
- package/lib/plugins/table/table-toolbar.js +1 -1
- package/lib/plugins/table/table-toolbar.js.map +1 -0
- package/lib/plugins/textAlign/icons/index.js +1 -1
- package/lib/plugins/textAlign/icons/index.js.map +1 -0
- package/lib/plugins/textAlign/index.js +1 -1
- package/lib/plugins/textAlign/index.js.map +1 -0
- package/lib/plugins/toolbar/default-toolbar.js +1 -1
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -0
- package/lib/plugins/toolbar/done-button.js +1 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -0
- package/lib/plugins/toolbar/editor-and-toolbar.js +4 -4
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -0
- package/lib/plugins/toolbar/index.js +1 -1
- package/lib/plugins/toolbar/index.js.map +1 -0
- package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -0
- package/lib/plugins/toolbar/toolbar.js +1 -1
- package/lib/plugins/toolbar/toolbar.js.map +1 -0
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -0
- package/lib/serialization.js +1 -1
- package/lib/serialization.js.map +1 -0
- package/lib/shared/alert-dialog.js +75 -0
- package/lib/shared/index.js +136 -0
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -0
- package/package.json +7 -6
- package/src/editor.jsx +3 -3
- package/src/plugins/media/media-dialog.js +1 -1
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
- package/src/plugins/toolbar/default-toolbar.jsx +6 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
- package/src/plugins/toolbar/toolbar.jsx +4 -4
- package/lib/__tests__/editor.test.js +0 -470
- package/lib/__tests__/serialization.test.js +0 -246
- package/lib/__tests__/utils.js +0 -106
- package/lib/plugins/image/__tests__/component.test.js +0 -51
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
- package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
- package/lib/plugins/image/__tests__/index.test.js +0 -98
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
- package/lib/plugins/image/__tests__/mock-change.js +0 -25
- package/lib/plugins/list/__tests__/index.test.js +0 -79
- package/lib/plugins/math/__tests__/index.test.js +0 -300
- package/lib/plugins/media/__tests__/index.test.js +0 -71
- package/lib/plugins/table/__tests__/index.test.js +0 -442
- package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
|
@@ -302,4 +302,4 @@ function CharactersPlugin(opts) {
|
|
|
302
302
|
}
|
|
303
303
|
};
|
|
304
304
|
}
|
|
305
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2NoYXJhY3RlcnMvaW5kZXguanN4Il0sIm5hbWVzIjpbImxvZyIsInJlbW92ZVBvcE92ZXJzIiwicHJldlBvcE92ZXJzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJyZW1vdmVEaWFsb2dzIiwicHJldkRpYWxvZ3MiLCJpbnNlcnREaWFsb2ciLCJlZGl0b3JET00iLCJ2YWx1ZSIsImNhbGxiYWNrIiwib3B0cyIsIm5ld0VsIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNvbmZpZ1RvVXNlIiwibGFuZ3VhZ2UiLCJzcGFuaXNoQ29uZmlnIiwic3BlY2lhbENvbmZpZyIsImNoYXJhY3RlcnMiLCJsYXlvdXRGb3JDaGFyYWN0ZXJzIiwicmVkdWNlIiwib2JqIiwiYXJyIiwibGVuZ3RoIiwiY29sdW1ucyIsInJvd3MiLCJwb3BvdmVyRWwiLCJjbG9zZVBvcE92ZXIiLCJyZW5kZXJQb3BPdmVyIiwiZXZlbnQiLCJlbCIsImluZm9TdHlsZSIsImZvbnRTaXplIiwibGluZUhlaWdodCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiY3VycmVudFRhcmdldCIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJ1bmljb2RlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiZmlyc3RDYWxsTWFkZSIsImxpc3RlbmVyIiwiZSIsImZvY3VzSXNJbk1vZGFscyIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZm9jdXNJc0luRWRpdG9yIiwiaGFuZGxlQ2xvc2UiLCJ1bmRlZmluZWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhbmdlIiwidmFsIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJuIiwibWFwIiwiayIsIm5hbWUiLCJ3cml0ZSIsImNhdGVnb3J5IiwiZXh0cmFDbGFzcyIsImV4dHJhUHJvcHMiLCJzdHlsZSIsImJvcmRlciIsImhhc1ByZXZpZXciLCJhY3Rpb25zIiwib25Nb3VzZUVudGVyIiwiZXYiLCJvbk1vdXNlTGVhdmUiLCJjdXJzb3JJdGVtIiwicXVlcnlTZWxlY3RvciIsImFuY2hvcktleSIsImJvZHlSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYm91bmRSZWN0IiwiYWRkaXRpb25hbFRvcE9mZnNldCIsInkiLCJvZmZzZXRIZWlnaHQiLCJtYXhXaWR0aCIsInBvc2l0aW9uIiwidG9wIiwiTWF0aCIsImFicyIsInpJbmRleCIsImxlZnRWYWx1ZSIsImxlZnQiLCJvZmZzZXRXaWR0aCIsInJpZ2h0VmFsdWUiLCJ4IiwibGVmdEFsaWduZWRXaWR0aCIsInJpZ2h0IiwicmlnaHRBbGlnbmVkV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwiQ2hhcmFjdGVySWNvbiIsImxldHRlciIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIkNoYXJhY3RlcnNQbHVnaW4iLCJ0b29sYmFyIiwiaWNvbiIsImNoYXJhY3Rlckljb24iLCJjaGFyYWN0ZXJJY29ucyIsImFyaWFMYWJlbCIsIm9uQ2xpY2siLCJvbkNoYW5nZSIsImdldEZvY3VzZWRWYWx1ZSIsImtleSIsInZhbHVlVG9Vc2UiLCJjaGFyIiwiZm9jdXMiLCJjaGFuZ2UiLCJpbnNlcnRUZXh0QnlLZXkiLCJhbmNob3JPZmZzZXQiLCJwbHVnaW5TdHlsZXMiLCJub2RlIiwicGFyZW50Tm9kZSIsInAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSwyQ0FBTixDQUFaOztBQUVBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQixNQUFNQyxZQUFZLEdBQUdDLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIscUJBQTFCLENBQXJCO0FBRUFKLEVBQUFBLEdBQUcsQ0FBQyw2QkFBRCxDQUFIO0FBQ0FFLEVB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Y2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcblxuaW1wb3J0IHsgUHVyZVRvb2xiYXIgfSBmcm9tICdAcGllLWxpYi9tYXRoLXRvb2xiYXInO1xuXG5pbXBvcnQgQ3VzdG9tUG9wcGVyIGZyb20gJy4vY3VzdG9tLXBvcHBlcic7XG5pbXBvcnQgeyBpbnNlcnRTbmFja0JhciB9IGZyb20gJy4uL3Jlc3BBcmVhL3V0aWxzJztcbmltcG9ydCB7IGNoYXJhY3Rlckljb25zLCBzcGFuaXNoQ29uZmlnLCBzcGVjaWFsQ29uZmlnIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmNoYXJhY3RlcnMnKTtcblxuY29uc3QgcmVtb3ZlUG9wT3ZlcnMgPSAoKSA9PiB7XG4gIGNvbnN0IHByZXZQb3BPdmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtb3VzZS1vdmVyLXBvcG92ZXInKTtcblxuICBsb2coJ1tjaGFyYWN0ZXJzOnJlbW92ZVBvcE92ZXJzXScpO1xuICBwcmV2UG9wT3ZlcnMuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlRGlhbG9ncyA9ICgpID0+IHtcbiAgY29uc3QgcHJldkRpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2cnKTtcblxuICBsb2coJ1tjaGFyYWN0ZXJzOnJlbW92ZURpYWxvZ3NdJyk7XG4gIHByZXZEaWFsb2dzLmZvckVhY2goKHMpID0+IHMucmVtb3ZlKCkpO1xuICByZW1vdmVQb3BPdmVycygpO1xufTtcblxuY29uc3QgaW5zZXJ0RGlhbG9nID0gKHsgZWRpdG9yRE9NLCB2YWx1ZSwgY2FsbGJhY2ssIG9wdHMgfSkgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0RGlhbG9nXScpO1xuXG4gIHJlbW92ZURpYWxvZ3MoKTtcblxuICBuZXdFbC5jbGFzc05hbWUgPSAnaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2cnO1xuXG4gIGxldCBjb25maWdUb1VzZTtcblxuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlIG9wdHMubGFuZ3VhZ2UgPT09ICdzcGFuaXNoJzpcbiAgICAgIGNvbmZpZ1RvVXNlID0gc3BhbmlzaENvbmZpZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2Ugb3B0cy5sYW5ndWFnZSA9PT0gJ3NwZWNpYWwnOlxuICAgICAgY29uZmlnVG9Vc2UgPSBzcGVjaWFsQ29uZmlnO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbmZpZ1RvVXNlID0gb3B0cztcbiAgfVxuXG4gIGlmICghY29uZmlnVG9Vc2UuY2hhcmFjdGVycykge1xuICAgIGluc2VydFNuYWNrQmFyKCdObyBjaGFyYWN0ZXJzIHByb3ZpZGVkIG9yIGxhbmd1YWdlIG5vdCByZWNvZ25pemVkJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbGF5b3V0Rm9yQ2hhcmFjdGVycyA9IGNvbmZpZ1RvVXNlLmNoYXJhY3RlcnMucmVkdWNlKFxuICAgIChvYmosIGFycikgPT4ge1xuICAgICAgaWYgKGFyci5sZW5ndGggPj0gb2JqLmNvbHVtbnMpIHtcbiAgICAgICAgb2JqLmNvbHVtbnMgPSBhcnIubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sXG4gICAgeyByb3dzOiBjb25maWdUb1VzZS5jaGFyYWN0ZXJzLmxlbmd0aCwgY29sdW1uczogMCB9LFxuICApO1xuXG4gIGxldCBwb3BvdmVyRWw7XG5cbiAgY29uc3QgY2xvc2VQb3BPdmVyID0gKCkgPT4ge1xuICAgIGlmIChwb3BvdmVyRWwpIHtcbiAgICAgIHBvcG92ZXJFbC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICByZW1vdmVQb3BPdmVycygpO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlclBvcE92ZXIgPSAoZXZlbnQsIGVsKSA9PiB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluZm9TdHlsZSA9IHsgZm9udFNpemU6ICcyMHB4JywgbGluZUhlaWdodDogJzIwcHgnIH07XG5cbiAgICBjbG9zZVBvcE92ZXIoKTtcblxuICAgIHBvcG92ZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgIDxDdXN0b21Qb3BwZXIgb25DbG9zZT17Y2xvc2VQb3BPdmVyfSBhbmNob3JFbD17ZXZlbnQuY3VycmVudFRhcmdldH0+XG4gICAgICAgIDxkaXY+e2VsLmxhYmVsfTwvZGl2PlxuXG4gICAgICAgIDxkaXYgc3R5bGU9e2luZm9TdHlsZX0+e2VsLmRlc2NyaXB0aW9ufTwvZGl2PlxuXG4gICAgICAgIDxkaXYgc3R5bGU9e2luZm9TdHlsZX0+e2VsLnVuaWNvZGV9PC9kaXY+XG4gICAgICA8L0N1c3RvbVBvcHBlcj4sXG4gICAgICBwb3BvdmVyRWwsXG4gICAgKTtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3RWwpO1xuICB9O1xuXG4gIGxldCBmaXJzdENhbGxNYWRlID0gZmFsc2U7XG5cbiAgY29uc3QgbGlzdGVuZXIgPSAoZSkgPT4ge1xuICAgIC8vIHRoaXMgd2lsbCBiZSB0cmlnZ2VyZWQgcmlnaHQgYWZ0ZXIgc2V0dGluZyBpdCBiZWNhdXNlXG4gICAgLy8gdGhpcyB0b29sYmFyIGlzIGFkZGVkIG9uIHRoZSBtb3VzZWRvd24gZXZlbnRcbiAgICAvLyBzbyByaWdodCBhZnRlciBtb3VzZXVwLCB0aGUgY2xpY2sgd2lsbCBiZSB0cmlnZ2VyZWRcbiAgICBpZiAoZmlyc3RDYWxsTWFkZSkge1xuICAgICAgY29uc3QgZm9jdXNJc0luTW9kYWxzID0gbmV3RWwuY29udGFpbnMoZS50YXJnZXQpIHx8IChwb3BvdmVyRWwgJiYgcG9wb3ZlckVsLmNvbnRhaW5zKGUudGFyZ2V0KSk7XG4gICAgICBjb25zdCBmb2N1c0lzSW5FZGl0b3IgPSBlZGl0b3JET00uY29udGFpbnMoZS50YXJnZXQpO1xuXG4gICAgICBpZiAoIShmb2N1c0lzSW5Nb2RhbHMgfHwgZm9jdXNJc0luRWRpdG9yKSkge1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmaXJzdENhbGxNYWRlID0gdHJ1ZTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgY2FsbGJhY2sodW5kZWZpbmVkLCB0cnVlKTtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgICBjbG9zZVBvcE92ZXIoKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9ICh2YWwpID0+IHtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNhbGxiYWNrKHZhbCwgdHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGVsID0gKFxuICAgIDxQdXJlVG9vbGJhclxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmPXtvcHRzLmtleVBhZENoYXJhY3RlclJlZn1cbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uPXtvcHRzLnNldEtleXBhZEludGVyYWN0aW9ufVxuICAgICAgYXV0b0ZvY3VzXG4gICAgICBub0RlY2ltYWxcbiAgICAgIGhpZGVJbnB1dFxuICAgICAgbm9MYXRleEhhbmRsaW5nXG4gICAgICBoaWRlRG9uZUJ1dHRvbkJhY2tncm91bmRcbiAgICAgIGxheW91dEZvcktleVBhZD17bGF5b3V0Rm9yQ2hhcmFjdGVyc31cbiAgICAgIGFkZGl0aW9uYWxLZXlzPXtjb25maWdUb1VzZS5jaGFyYWN0ZXJzLnJlZHVjZSgoYXJyLCBuKSA9PiB7XG4gICAgICAgIGFyciA9IFtcbiAgICAgICAgICAuLi5hcnIsXG4gICAgICAgICAgLi4ubi5tYXAoKGspID0+ICh7XG4gICAgICAgICAgICBuYW1lOiBnZXQoaywgJ25hbWUnKSB8fCBrLFxuICAgICAgICAgICAgd3JpdGU6IGdldChrLCAnd3JpdGUnKSB8fCBrLFxuICAgICAgICAgICAgbGFiZWw6IGdldChrLCAnbGFiZWwnKSB8fCBrLFxuICAgICAgICAgICAgY2F0ZWdvcnk6ICdjaGFyYWN0ZXInLFxuICAgICAgICAgICAgZXh0cmFDbGFzczogJ2NoYXJhY3RlcicsXG4gICAgICAgICAgICBleHRyYVByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihrLmV4dHJhUHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIC4uLihrLmV4dHJhUHJvcHMgfHwge30pLnN0eWxlLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMDAwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi4oY29uZmlnVG9Vc2UuaGFzUHJldmlld1xuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IHsgb25Nb3VzZUVudGVyOiAoZXYpID0+IHJlbmRlclBvcE92ZXIoZXYsIGspLCBvbk1vdXNlTGVhdmU6IGNsb3NlUG9wT3ZlciB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgfSkpLFxuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiBhcnI7XG4gICAgICB9LCBbXSl9XG4gICAgICBrZXlwYWRNb2RlPVwibGFuZ3VhZ2VcIlxuICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgIG9uRG9uZT17aGFuZGxlQ2xvc2V9XG4gICAgLz5cbiAgKTtcblxuICBSZWFjdERPTS5yZW5kZXIoZWwsIG5ld0VsLCAoKSA9PiB7XG4gICAgY29uc3QgY3Vyc29ySXRlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWtleT1cIiR7dmFsdWUuYW5jaG9yS2V5fVwiXWApO1xuXG4gICAgaWYgKGN1cnNvckl0ZW0pIHtcbiAgICAgIGNvbnN0IGJvZHlSZWN0ID0gZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGJvdW5kUmVjdCA9IGN1cnNvckl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmV3RWwpO1xuXG4gICAgICAvLyB3aGVuIGhlaWdodCBvZiB0b29sYmFyIGV4Y2VlZHMgc2NyZWVuIC0gY2FuIGhhcHBlbiBpbiBzY3JvbGxhYmxlIGNvbnRleHRzXG4gICAgICBsZXQgYWRkaXRpb25hbFRvcE9mZnNldCA9IDA7XG4gICAgICBpZiAoYm91bmRSZWN0LnkgPCBuZXdFbC5vZmZzZXRIZWlnaHQpIHtcbiAgICAgICAgYWRkaXRpb25hbFRvcE9mZnNldCA9IG5ld0VsLm9mZnNldEhlaWdodCAtIGJvdW5kUmVjdC55ICsgMTA7XG4gICAgICB9XG5cbiAgICAgIG5ld0VsLnN0eWxlLm1heFdpZHRoID0gJzUwMHB4JztcbiAgICAgIG5ld0VsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIG5ld0VsLnN0eWxlLnRvcCA9IGAke2JvdW5kUmVjdC50b3AgKyBNYXRoLmFicyhib2R5UmVjdC50b3ApIC0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gMTAgKyBhZGRpdGlvbmFsVG9wT2Zmc2V0fXB4YDtcbiAgICAgIG5ld0VsLnN0eWxlLnpJbmRleCA9IDk5OTk5O1xuXG4gICAgICBjb25zdCBsZWZ0VmFsdWUgPSBgJHtib3VuZFJlY3QubGVmdCArIE1hdGguYWJzKGJvZHlSZWN0LmxlZnQpICsgY3Vyc29ySXRlbS5vZmZzZXRXaWR0aCArIDEwfXB4YDtcblxuICAgICAgY29uc3QgcmlnaHRWYWx1ZSA9IGAke2JvdW5kUmVjdC54fXB4YDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcblxuICAgICAgY29uc3QgbGVmdEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcblxuICAgICAgY29uc3QgcmlnaHRBbGlnbmVkV2lkdGggPSBuZXdFbC5vZmZzZXRXaWR0aDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9ICd1bnNldCc7XG4gICAgICBuZXdFbC5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG5cbiAgICAgIGlmIChsZWZ0QWxpZ25lZFdpZHRoID49IHJpZ2h0QWxpZ25lZFdpZHRoKSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdFbC5zdHlsZS5yaWdodCA9IHJpZ2h0VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IENoYXJhY3Rlckljb24gPSAoeyBsZXR0ZXIgfSkgPT4gKFxuICA8ZGl2XG4gICAgc3R5bGU9e3tcbiAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICBsaW5lSGVpZ2h0OiAnMjRweCcsXG4gICAgfX1cbiAgPlxuICAgIHtsZXR0ZXJ9XG4gIDwvZGl2PlxuKTtcblxuQ2hhcmFjdGVySWNvbi5wcm9wVHlwZXMgPSB7XG4gIGxldHRlcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoYXJhY3RlcnNQbHVnaW4ob3B0cykge1xuICByZW1vdmVEaWFsb2dzKCk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY2hhcmFjdGVycycsXG4gICAgdG9vbGJhcjoge1xuICAgICAgaWNvbjogPENoYXJhY3Rlckljb24gbGV0dGVyPXtvcHRzLmNoYXJhY3Rlckljb24gfHwgY2hhcmFjdGVySWNvbnNbb3B0cy5sYW5ndWFnZV0gfHwgJ8OxJ30gLz4sXG4gICAgICBhcmlhTGFiZWw6IGAke29wdHMubGFuZ3VhZ2V9IGNoYXJhY3RlcnMgVG9vbGJhcmAsXG4gICAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlLCBnZXRGb2N1c2VkVmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgZWRpdG9yRE9NID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEta2V5PVwiJHt2YWx1ZS5kb2N1bWVudC5rZXl9XCJdYCk7XG4gICAgICAgIGxldCB2YWx1ZVRvVXNlID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAoY2hhciwgZm9jdXMpID0+IHtcbiAgICAgICAgICBpZiAoZ2V0Rm9jdXNlZFZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZVRvVXNlID0gZ2V0Rm9jdXNlZFZhbHVlKCkgfHwgdmFsdWVUb1VzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY2hhcikge1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlID0gdmFsdWVUb1VzZS5jaGFuZ2UoKS5pbnNlcnRUZXh0QnlLZXkodmFsdWVUb1VzZS5hbmNob3JLZXksIHZhbHVlVG9Vc2UuYW5jaG9yT2Zmc2V0LCBjaGFyKTtcblxuICAgICAgICAgICAgdmFsdWVUb1VzZSA9IGNoYW5nZS52YWx1ZTtcbiAgICAgICAgICAgIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0XTogJywgdmFsdWUpO1xuICAgICAgICAgICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2coJ1tjaGFyYWN0ZXJzOmNsaWNrXScpO1xuXG4gICAgICAgICAgaWYgKGZvY3VzKSB7XG4gICAgICAgICAgICBpZiAoZWRpdG9yRE9NKSB7XG4gICAgICAgICAgICAgIGVkaXRvckRPTS5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpbnNlcnREaWFsb2coeyBlZGl0b3JET00sIHZhbHVlOiB2YWx1ZVRvVXNlLCBjYWxsYmFjaywgb3B0cyB9KTtcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIHBsdWdpblN0eWxlczogKG5vZGUsIHBhcmVudE5vZGUsIHApID0+IHtcbiAgICAgIGlmIChwKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgdG9wOiAnaW5pdGlhbCcsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
305
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/characters/index.jsx"],"names":["log","removePopOvers","prevPopOvers","document","querySelectorAll","forEach","s","remove","removeDialogs","prevDialogs","insertDialog","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","layoutForCharacters","reduce","obj","arr","length","columns","rows","popoverEl","closePopOver","renderPopOver","event","el","infoStyle","fontSize","lineHeight","ReactDOM","render","currentTarget","label","description","unicode","body","appendChild","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","keyPadCharacterRef","setKeypadInteraction","n","map","k","name","write","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","additionalTopOffset","y","offsetHeight","maxWidth","position","top","Math","abs","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","letter","propTypes","PropTypes","string","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","ariaLabel","onClick","onChange","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nimport PropTypes from 'prop-types';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n ReactDOM.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n popoverEl,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n keyPadCharacterRef={opts.keyPadCharacterRef}\n setKeypadInteraction={opts.setKeypadInteraction}\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n hideDoneButtonBackground\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '24px',\n lineHeight: '24px',\n }}\n >\n {letter}\n </div>\n);\n\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\n};\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n ariaLabel: `${opts.language} characters Toolbar`,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (char, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"file":"index.js"}
|
|
@@ -378,4 +378,4 @@ var characterIcons = {
|
|
|
378
378
|
special: '€'
|
|
379
379
|
};
|
|
380
380
|
exports.characterIcons = characterIcons;
|
|
381
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2NoYXJhY3RlcnMvdXRpbHMuanMiXSwibmFtZXMiOlsic3BhbmlzaENvbmZpZyIsImNoYXJhY3RlcnMiLCJzcGVjaWFsQ29uZmlnIiwiaGFzUHJldmlldyIsInVuaWNvZGUiLCJkZXNjcmlwdGlvbiIsIndyaXRlIiwibGFiZWwiLCJleHRyYVByb3BzIiwic3R5bGUiLCJncmlkUm93IiwiU3RyaW5nIiwiZnJvbUNvZGVQb2ludCIsImNoYXJhY3Rlckljb25zIiwic3BhbmlzaCIsInNwZWNpYWwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLElBQU1BLGFBQWEsR0FBRztBQUMzQkMsRUFBQUEsVUFBVSxFQUFFLENBQ1YsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXLEdBQVgsRUFBZ0IsR0FBaEIsRUFBcUIsR0FBckIsQ0FEVSxFQUVWLENBQUMsR0FBRCxFQUFNLEdBQU4sRUFBVyxHQUFYLEVBQWdCLEdBQWhCLEVBQXFCLEdBQXJCLENBRlUsRUFHVixDQUFDLEdBQUQsRUFBTSxHQUFOLEVBQVcsR0FBWCxFQUFnQixHQUFoQixFQUFxQixHQUFyQixDQUhVLEVBSVYsQ0FBQyxHQUFELEVBQU0sR0FBTixFQUFXLEdBQVgsRUFBZ0IsR0FBaEIsRUFBcUIsR0FBckIsQ0FKVTtBQURlLENBQXRCOztBQVNBLElBQU1DLGFBQWEsR0FBRztBQUMzQkMsRUFBQUEsVUFBVSxFQUFFLElBRGU7QUFFM0JGLEVBQUFBLFVBQVUsRUFBRSxDQUNWLENBQ0U7QUFDRUcsSUFBQUEsT0FBTyxFQUFFLFFBRFg7QUFFRUMsSUFBQUEsV0FBVyxFQUFFLFdBRmY7QUFHRUMsSUFBQUEsS0FBSyxFQUFFLEdBSFQ7QUFJRUMsSUFBQUEsS0FBSyxFQUFFO0FBSlQsR0FERixFQU9FO0FBQ0VILElBQUFBLE9BQU8sRUFBRSxRQURYO0FBRUVDLElBQUFBLFdBQVcsRUFBRSx3QkFGZjtBQUdFQyxJQUFBQSxLQUFLLEVBQUUsR0FIVDtBQUlFQyxJQUFBQSxLQUFLLEVB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LEVBK0JFO0FBQ0VILElBQUFBLE9BQU8sRUFBRSxRQURYO0FBRUVDLElBQUFBLFdBQVcsRUFBRSxtQ0FGZjtBQUdFQyxJQUFBQSxLQUFLLEVBQUUsR0FIVDtBQUlFQyxJQUFBQSxLQUFLLEVBQUU7QUFKVCxHQS9CRixFQXFDRTtBQUNFSCxJQUFBQSxPQUFPLEVBQUUsUUFEWDtBQUVFQyxJQUFBQSxXQUFXLEVBQUUsbUNBRmY7QUFHRUMsSUFBQUEsS0FBSyxFQUFFLEdBSFQ7QUFJRUMsSUFBQUEsS0FBSyxFQUFFO0FBSlQsR0FyQ0YsRUEyQ0U7QUFDRUgsSUFBQUEsT0FBTyxFQUFFLFFBRFg7QUFFRUMsSUFBQUEsV0FBVyxFQUFFLFNBRmY7QUFHRUMsSUFBQUEsS0FBSyxFQUFFLEdBSFQ7QUFJRUMsSUFBQUEsS0FBSyxFQUFFO0FBSlQsR0EzQ0YsQ0EzWFU7QUFGZSxDQUF0Qjs7QUFrYkEsSUFBTU0sY0FBYyxHQUFHO0FBQzVCQyxFQUFBQSxPQUFPLEVBQUUsR0FEbUI7QUFFNUJDLEVBQUFBLE9BQU8sRUFBRTtBQUZtQixDQUF2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzcGFuaXNoQ29uZmlnID0ge1xuICBjaGFyYWN0ZXJzOiBbXG4gICAgWyfDoScsICfDqScsICfDrScsICfDsycsICfDuiddLFxuICAgIFsnw4EnLCAnw4knLCAnw40nLCAnw5MnLCAnw5onXSxcbiAgICBbJ+KAlCcsICfCqycsICfCuycsICfDsScsICfDvCddLFxuICAgIFsnLScsICfCvycsICfCoScsICfDkScsICfDnCddLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNwZWNpYWxDb25maWcgPSB7XG4gIGhhc1ByZXZpZXc6IHRydWUsXG4gIGNoYXJhY3RlcnM6IFtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NFTlQgU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqInLFxuICAgICAgICBsYWJlbDogJ8KiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQkYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0lOVkVSVEVEIFFVRVNUSU9OIE1BUksnLFxuICAgICAgICB3cml0ZTogJ8K/JyxcbiAgICAgICAgbGFiZWw6ICfCvycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEI0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBQ1VURSBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ8K0JyxcbiAgICAgICAgbGFiZWw6ICfCtCcsXG4gICAgICAgIGV4dHJhUHJvcHM6IHsgc3R5bGU6IHsgZ3JpZFJvdzogJ3NwYW4gMicgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw6EnLFxuICAgICAgICBsYWJlbDogJ8OhJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8OpJyxcbiAgICAgICAgbGFiZWw6ICfDqScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVEJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDrScsXG4gICAgICAgIGxhYmVsOiAnw60nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw7MnLFxuICAgICAgICBsYWJlbDogJ8OzJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRkEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8O6JyxcbiAgICAgICAgbGFiZWw6ICfDuicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEYxJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFJyxcbiAgICAgICAgd3JpdGU6ICfDsScsXG4gICAgICAgIGxhYmVsOiAnw7EnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjBBQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRVVSTyBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfigqwnLFxuICAgICAgICBsYWJlbDogJ+KCrCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEExJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCoScsXG4gICAgICAgIGxhYmVsOiAnwqEnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDgScsXG4gICAgICAgIGxhYmVsOiAnw4EnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDiScsXG4gICAgICAgIGxhYmVsOiAnw4knLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDRCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDjScsXG4gICAgICAgIGxhYmVsOiAnw40nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDkycsXG4gICAgICAgIGxhYmVsOiAnw5MnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDmicsXG4gICAgICAgIGxhYmVsOiAnw5onLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTiBXSVRIIFRJTERFJyxcbiAgICAgICAgd3JpdGU6ICfDkScsXG4gICAgICAgIGxhYmVsOiAnw5EnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUE9VTkQgU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqMnLFxuICAgICAgICBsYWJlbDogJ8KjJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQUInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xFRlQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCqycsXG4gICAgICAgIGxhYmVsOiAnwqsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDA1RScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ0lSQ1VNRkxFWCBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ14nLFxuICAgICAgICBsYWJlbDogJ14nLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw6InLFxuICAgICAgICBsYWJlbDogJ8OiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRUEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw6onLFxuICAgICAgICBsYWJlbDogJ8OqJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRUUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw64nLFxuICAgICAgICBsYWJlbDogJ8OuJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw7QnLFxuICAgICAgICBsYWJlbDogJ8O0JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRkInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw7snLFxuICAgICAgICBsYWJlbDogJ8O7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBDIFdJVEggQ0VESUxMQScsXG4gICAgICAgIHdyaXRlOiAnw6cnLFxuICAgICAgICBsYWJlbDogJ8OnJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1lFTiBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfCpScsXG4gICAgICAgIGxhYmVsOiAnwqUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBCQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCuycsXG4gICAgICAgIGxhYmVsOiAnwrsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OCJyxcbiAgICAgICAgbGFiZWw6ICfDgicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMENBJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw4onLFxuICAgICAgICBsYWJlbDogJ8OKJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0UnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYJyxcbiAgICAgICAgd3JpdGU6ICfDjicsXG4gICAgICAgIGxhYmVsOiAnw44nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBENCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OUJyxcbiAgICAgICAgbGFiZWw6ICfDlCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw5snLFxuICAgICAgICBsYWJlbDogJ8ObJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBJyxcbiAgICAgICAgd3JpdGU6ICfDhycsXG4gICAgICAgIGxhYmVsOiAnw4cnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAwQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSEFJUiBTUEFDRScsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgyMDBBJyksXG4gICAgICAgIGxhYmVsOiAnJmhhaXJzcDsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBNycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU0VDVElPTiBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfCpycsXG4gICAgICAgIGxhYmVsOiAnwqcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfCqCcsXG4gICAgICAgIGxhYmVsOiAnwqgnLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDpCcsXG4gICAgICAgIGxhYmVsOiAnw6QnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OrJyxcbiAgICAgICAgbGFiZWw6ICfDqycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVGJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw68nLFxuICAgICAgICBsYWJlbDogJ8OvJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDticsXG4gICAgICAgIGxhYmVsOiAnw7YnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8O8JyxcbiAgICAgICAgbGFiZWw6ICfDvCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERGJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUycsXG4gICAgICAgIHdyaXRlOiAnw58nLFxuICAgICAgICBsYWJlbDogJ8OfJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIwMDknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RISU4gU1BBQ0UnLFxuICAgICAgICB3cml0ZTogU3RyaW5nLmZyb21Db2RlUG9pbnQoJzB4MjAwOScpLFxuICAgICAgICBsYWJlbDogJyZ0aGluc3A7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIwMjYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0hPUklaT05UQUwgRUxMSVBTSVMnLFxuICAgICAgICB3cml0ZTogJ+KApicsXG4gICAgICAgIGxhYmVsOiAn4oCmJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OEJyxcbiAgICAgICAgbGFiZWw6ICfDhCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMENCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDiycsXG4gICAgICAgIGxhYmVsOiAnw4snLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDRicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw48nLFxuICAgICAgICBsYWJlbDogJ8OPJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRDYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OWJyxcbiAgICAgICAgbGFiZWw6ICfDlicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDnCcsXG4gICAgICAgIGxhYmVsOiAnw5wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjIxMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTUlOVVMgU0lHTicsXG4gICAgICAgIHdyaXRlOiAn4oiSJyxcbiAgICAgICAgbGFiZWw6ICfiiJInLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTk8tQlJFQUsgU1BBQ0UnLFxuICAgICAgICB3cml0ZTogU3RyaW5nLmZyb21Db2RlUG9pbnQoJzB4MDBBMCcpLFxuICAgICAgICBsYWJlbDogJyZuYnNwOycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDIyJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCVUxMRVQnLFxuICAgICAgICB3cml0ZTogJ+KAoicsXG4gICAgICAgIGxhYmVsOiAn4oCiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwNjAnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0dSQVZFIEFDQ0VOVCcsXG4gICAgICAgIHdyaXRlOiAnYCcsXG4gICAgICAgIGxhYmVsOiAnYCcsXG4gICAgICAgIGV4dHJhUHJvcHM6IHsgc3R5bGU6IHsgZ3JpZFJvdzogJ3NwYW4gMicgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw6AnLFxuICAgICAgICBsYWJlbDogJ8OgJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTgnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggR1JBVkUnLFxuICAgICAgICB3cml0ZTogJ8OoJyxcbiAgICAgICAgbGFiZWw6ICfDqCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDrCcsXG4gICAgICAgIGxhYmVsOiAnw6wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw7InLFxuICAgICAgICBsYWJlbDogJ8OyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggR1JBVkUnLFxuICAgICAgICB3cml0ZTogJ8O5JyxcbiAgICAgICAgbGFiZWw6ICfDuScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDEzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFTiBEQVNIJyxcbiAgICAgICAgd3JpdGU6ICfigJMnLFxuICAgICAgICBsYWJlbDogJ+KAkycsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDAzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFTSBTUEFDRScsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgyMDAzJyksXG4gICAgICAgIGxhYmVsOiAnJmVtc3A7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzI1RTYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1dISVRFIEJVTExFVCcsXG4gICAgICAgIHdyaXRlOiAn4pemJyxcbiAgICAgICAgbGFiZWw6ICfil6YnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDgCcsXG4gICAgICAgIGxhYmVsOiAnw4AnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDiCcsXG4gICAgICAgIGxhYmVsOiAnw4gnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDjCcsXG4gICAgICAgIGxhYmVsOiAnw4wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDkicsXG4gICAgICAgIGxhYmVsOiAnw5InLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDmScsXG4gICAgICAgIGxhYmVsOiAnw5knLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAxNCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRU0gREFTSCcsXG4gICAgICAgIHdyaXRlOiAn4oCUJyxcbiAgICAgICAgbGFiZWw6ICfigJQnLFxuICAgICAgfSxcbiAgICBdLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IGNoYXJhY3Rlckljb25zID0ge1xuICBzcGFuaXNoOiAnw7EnLFxuICBzcGVjaWFsOiAn4oKsJyxcbn07XG4iXX0=
|
|
381
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/characters/utils.js"],"names":["spanishConfig","characters","specialConfig","hasPreview","unicode","description","write","label","extraProps","style","gridRow","String","fromCodePoint","characterIcons","spanish","special"],"mappings":"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","sourcesContent":["export const spanishConfig = {\n characters: [\n ['á', 'é', 'í', 'ó', 'ú'],\n ['Á', 'É', 'Í', 'Ó', 'Ú'],\n ['—', '«', '»', 'ñ', 'ü'],\n ['-', '¿', '¡', 'Ñ', 'Ü'],\n ],\n};\n\nexport const specialConfig = {\n hasPreview: true,\n characters: [\n [\n {\n unicode: 'U+00A2',\n description: 'CENT SIGN',\n write: '¢',\n label: '¢',\n },\n {\n unicode: 'U+00BF',\n description: 'INVERTED QUESTION MARK',\n write: '¿',\n label: '¿',\n },\n {\n unicode: 'U+00B4',\n description: 'ACUTE ACCENT',\n write: '´',\n label: '´',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E1',\n description: 'LATIN SMALL LETTER A WITH ACUTE',\n write: 'á',\n label: 'á',\n },\n {\n unicode: 'U+00E9',\n description: 'LATIN SMALL LETTER E WITH ACUTE',\n write: 'é',\n label: 'é',\n },\n {\n unicode: 'U+00ED',\n description: 'LATIN SMALL LETTER I WITH ACUTE',\n write: 'í',\n label: 'í',\n },\n {\n unicode: 'U+00F3',\n description: 'LATIN SMALL LETTER O WITH ACUTE',\n write: 'ó',\n label: 'ó',\n },\n {\n unicode: 'U+00FA',\n description: 'LATIN SMALL LETTER U WITH ACUTE',\n write: 'ú',\n label: 'ú',\n },\n {\n unicode: 'U+00F1',\n description: 'LATIN SMALL LETTER N WITH TILDE',\n write: 'ñ',\n label: 'ñ',\n },\n ],\n [\n {\n unicode: 'U+20AC',\n description: 'EURO SIGN',\n write: '€',\n label: '€',\n },\n {\n unicode: 'U+00A1',\n description: 'INVERTED EXCLAMATION MARK',\n write: '¡',\n label: '¡',\n },\n {\n unicode: 'U+00C1',\n description: 'LATIN CAPITAL LETTER A WITH ACUTE',\n write: 'Á',\n label: 'Á',\n },\n {\n unicode: 'U+00C9',\n description: 'LATIN CAPITAL LETTER E WITH ACUTE',\n write: 'É',\n label: 'É',\n },\n {\n unicode: 'U+00CD',\n description: 'LATIN CAPITAL LETTER I WITH ACUTE',\n write: 'Í',\n label: 'Í',\n },\n {\n unicode: 'U+00D3',\n description: 'LATIN CAPITAL LETTER O WITH ACUTE',\n write: 'Ó',\n label: 'Ó',\n },\n {\n unicode: 'U+00DA',\n description: 'LATIN CAPITAL LETTER U WITH ACUTE',\n write: 'Ú',\n label: 'Ú',\n },\n {\n unicode: 'U+00D1',\n description: 'LATIN CAPITAL LETTER N WITH TILDE',\n write: 'Ñ',\n label: 'Ñ',\n },\n ],\n [\n {\n unicode: 'U+00A3',\n description: 'POUND SIGN',\n write: '£',\n label: '£',\n },\n {\n unicode: 'U+00AB',\n description: 'LEFT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '«',\n label: '«',\n },\n {\n unicode: 'U+005E',\n description: 'CIRCUMFLEX ACCENT',\n write: '^',\n label: '^',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E2',\n description: 'LATIN SMALL LETTER A WITH CIRCUMFLEX',\n write: 'â',\n label: 'â',\n },\n {\n unicode: 'U+00EA',\n description: 'LATIN SMALL LETTER E WITH CIRCUMFLEX',\n write: 'ê',\n label: 'ê',\n },\n {\n unicode: 'U+00EE',\n description: 'LATIN SMALL LETTER I WITH CIRCUMFLEX',\n write: 'î',\n label: 'î',\n },\n {\n unicode: 'U+00F4',\n description: 'LATIN SMALL LETTER O WITH CIRCUMFLEX',\n write: 'ô',\n label: 'ô',\n },\n {\n unicode: 'U+00FB',\n description: 'LATIN SMALL LETTER U WITH CIRCUMFLEX',\n write: 'û',\n label: 'û',\n },\n {\n unicode: 'U+00E7',\n description: 'LATIN SMALL LETTER C WITH CEDILLA',\n write: 'ç',\n label: 'ç',\n },\n ],\n [\n {\n unicode: 'U+00A5',\n description: 'YEN SIGN',\n write: '¥',\n label: '¥',\n },\n {\n unicode: 'U+00BB',\n description: 'RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK',\n write: '»',\n label: '»',\n },\n {\n unicode: 'U+00C2',\n description: 'LATIN CAPITAL LETTER A WITH CIRCUMFLEX',\n write: 'Â',\n label: 'Â',\n },\n {\n unicode: 'U+00CA',\n description: 'LATIN CAPITAL LETTER E WITH CIRCUMFLEX',\n write: 'Ê',\n label: 'Ê',\n },\n {\n unicode: 'U+00CE',\n description: 'LATIN CAPITAL LETTER I WITH CIRCUMFLEX',\n write: 'Î',\n label: 'Î',\n },\n {\n unicode: 'U+00D4',\n description: 'LATIN CAPITAL LETTER O WITH CIRCUMFLEX',\n write: 'Ô',\n label: 'Ô',\n },\n {\n unicode: 'U+00DB',\n description: 'LATIN CAPITAL LETTER U WITH CIRCUMFLEX',\n write: 'Û',\n label: 'Û',\n },\n {\n unicode: 'U+00C7',\n description: 'LATIN CAPITAL LETTER C WITH CEDILLA',\n write: 'Ç',\n label: 'Ç',\n },\n ],\n [\n {\n unicode: 'U+200A',\n description: 'HAIR SPACE',\n write: String.fromCodePoint('0x200A'),\n label: ' ',\n },\n {\n unicode: 'U+00A7',\n description: 'SECTION SIGN',\n write: '§',\n label: '§',\n },\n {\n unicode: 'U+00A8',\n description: 'DIAERESIS',\n write: '¨',\n label: '¨',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E4',\n description: 'LATIN SMALL LETTER A WITH DIAERESIS',\n write: 'ä',\n label: 'ä',\n },\n {\n unicode: 'U+00EB',\n description: 'LATIN SMALL LETTER E WITH DIAERESIS',\n write: 'ë',\n label: 'ë',\n },\n {\n unicode: 'U+00EF',\n description: 'LATIN SMALL LETTER I WITH DIAERESIS',\n write: 'ï',\n label: 'ï',\n },\n {\n unicode: 'U+00F6',\n description: 'LATIN SMALL LETTER O WITH DIAERESIS',\n write: 'ö',\n label: 'ö',\n },\n {\n unicode: 'U+00FC',\n description: 'LATIN SMALL LETTER U WITH DIAERESIS',\n write: 'ü',\n label: 'ü',\n },\n {\n unicode: 'U+00DF',\n description: 'LATIN SMALL LETTER SHARP S',\n write: 'ß',\n label: 'ß',\n },\n ],\n [\n {\n unicode: 'U+2009',\n description: 'THIN SPACE',\n write: String.fromCodePoint('0x2009'),\n label: ' ',\n },\n {\n unicode: 'U+2026',\n description: 'HORIZONTAL ELLIPSIS',\n write: '…',\n label: '…',\n },\n {\n unicode: 'U+00C4',\n description: 'LATIN CAPITAL LETTER A WITH DIAERESIS',\n write: 'Ä',\n label: 'Ä',\n },\n {\n unicode: 'U+00CB',\n description: 'LATIN CAPITAL LETTER E WITH DIAERESIS',\n write: 'Ë',\n label: 'Ë',\n },\n {\n unicode: 'U+00CF',\n description: 'LATIN CAPITAL LETTER I WITH DIAERESIS',\n write: 'Ï',\n label: 'Ï',\n },\n {\n unicode: 'U+00D6',\n description: 'LATIN CAPITAL LETTER O WITH DIAERESIS',\n write: 'Ö',\n label: 'Ö',\n },\n {\n unicode: 'U+00DC',\n description: 'LATIN CAPITAL LETTER U WITH DIAERESIS',\n write: 'Ü',\n label: 'Ü',\n },\n {\n unicode: 'U+2212',\n description: 'MINUS SIGN',\n write: '−',\n label: '−',\n },\n ],\n [\n {\n unicode: 'U+00A0',\n description: 'NO-BREAK SPACE',\n write: String.fromCodePoint('0x00A0'),\n label: ' ',\n },\n {\n unicode: 'U+2022',\n description: 'BULLET',\n write: '•',\n label: '•',\n },\n {\n unicode: 'U+0060',\n description: 'GRAVE ACCENT',\n write: '`',\n label: '`',\n extraProps: { style: { gridRow: 'span 2' } },\n },\n {\n unicode: 'U+00E0',\n description: 'LATIN SMALL LETTER A WITH GRAVE',\n write: 'à',\n label: 'à',\n },\n {\n unicode: 'U+00E8',\n description: 'LATIN SMALL LETTER E WITH GRAVE',\n write: 'è',\n label: 'è',\n },\n {\n unicode: 'U+00EC',\n description: 'LATIN SMALL LETTER I WITH GRAVE',\n write: 'ì',\n label: 'ì',\n },\n {\n unicode: 'U+00F2',\n description: 'LATIN SMALL LETTER O WITH GRAVE',\n write: 'ò',\n label: 'ò',\n },\n {\n unicode: 'U+00F9',\n description: 'LATIN SMALL LETTER U WITH GRAVE',\n write: 'ù',\n label: 'ù',\n },\n {\n unicode: 'U+2013',\n description: 'EN DASH',\n write: '–',\n label: '–',\n },\n ],\n [\n {\n unicode: 'U+2003',\n description: 'EM SPACE',\n write: String.fromCodePoint('0x2003'),\n label: ' ',\n },\n {\n unicode: 'U+25E6',\n description: 'WHITE BULLET',\n write: '◦',\n label: '◦',\n },\n {\n unicode: 'U+00C0',\n description: 'LATIN CAPITAL LETTER A WITH GRAVE',\n write: 'À',\n label: 'À',\n },\n {\n unicode: 'U+00C8',\n description: 'LATIN CAPITAL LETTER E WITH GRAVE',\n write: 'È',\n label: 'È',\n },\n {\n unicode: 'U+00CC',\n description: 'LATIN CAPITAL LETTER I WITH GRAVE',\n write: 'Ì',\n label: 'Ì',\n },\n {\n unicode: 'U+00D2',\n description: 'LATIN CAPITAL LETTER O WITH GRAVE',\n write: 'Ò',\n label: 'Ò',\n },\n {\n unicode: 'U+00D9',\n description: 'LATIN CAPITAL LETTER U WITH GRAVE',\n write: 'Ù',\n label: 'Ù',\n },\n {\n unicode: 'U+2014',\n description: 'EM DASH',\n write: '—',\n label: '—',\n },\n ],\n ],\n};\n\nexport const characterIcons = {\n spanish: 'ñ',\n special: '€',\n};\n"],"file":"utils.js"}
|
|
@@ -34,4 +34,4 @@ var CssIcon = function CssIcon(_ref) {
|
|
|
34
34
|
var _default = (0, _styles.withStyles)(styles)(CssIcon);
|
|
35
35
|
|
|
36
36
|
exports["default"] = _default;
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/css/icons/index.jsx"],"names":["styles","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","CssIcon","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,iCADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,UAAU,EAAE;AANR;AADmB,GAAZ;AAAA,CAAf;;AAWA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,sBAAiB;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACT;AAAxB,WAAjB;AAAA,CAAhB;;eAEe,wBAAWF,MAAX,EAAmBU,OAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n});\n\nconst CssIcon = ({ classes }) => <div className={classes.icon}>CSS</div>;\n\nexport default withStyles(styles)(CssIcon);\n"],"file":"index.js"}
|
package/lib/plugins/css/index.js
CHANGED
|
@@ -394,4 +394,4 @@ function CSSPlugin(opts) {
|
|
|
394
394
|
};
|
|
395
395
|
return plugin;
|
|
396
396
|
}
|
|
397
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2Nzcy9pbmRleC5qc3giXSwibmFtZXMiOlsibG9nIiwicmVtb3ZlRGlhbG9ncyIsInByZXZEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJlZGl0b3JET00iLCJ2YWx1ZSIsImNhbGxiYWNrIiwib3B0cyIsInRleHROb2RlIiwicGFyZW50Tm9kZSIsIm5ld0VsIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInBvcG92ZXJFbCIsImNsb3NlUG9wT3ZlciIsImZpcnN0Q2FsbE1hZGUiLCJsaXN0ZW5lciIsImUiLCJmb2N1c0lzSW5Nb2RhbHMiLCJjb250YWlucyIsInRhcmdldCIsImZvY3VzSXNJbkVkaXRvciIsImhhbmRsZUNsb3NlIiwidW5kZWZpbmVkIiwiYm9keSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFuZ2UiLCJuYW1lIiwic2VsZWN0ZWRUZXh0IiwidGV4dCIsInNsaWNlIiwic2VsZWN0aW9uIiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJwYXJlbnROb2RlQ2xhc3MiLCJkYXRhIiwiZ2V0IiwiY3JlYXRlSFRNTCIsImh0bWwiLCJ0YWciLCJvYmplY3QiLCJlbCIsImJhY2tncm91bmQiLCJoZWlnaHQiLCJwYWRkaW5nIiwib3ZlcmZsb3ciLCJkaXNwbGF5IiwiZmxleEZsb3ciLCJuYW1lcyIsIm1hcCIsImkiLCJtYXJnaW5SaWdodCIsIl9faHRtbCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiY3Vyc29ySXRlbSIsInF1ZXJ5U2VsZWN0b3IiLCJhbmNob3JLZXkiLCJib2R5UmVjdCIsInBhcmVudEVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZFJlY3QiLCJhcHBlbmRDaGlsZCIsImFkZGl0aW9uYWxUb3BPZmZzZXQiLCJ5Iiwib2Zmc2V0SGVpZ2h0Iiwic3R5bGUiLCJtYXhXaWR0aCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwibGVmdFZhbHVlIiwibGVmdCIsIk1hdGgiLCJhYnMiLCJvZmZzZXRXaWR0aCIsInJpZ2h0VmFsdWUiLCJ4IiwibGVmdEFsaWduZWRXaWR0aCIsInJpZ2h0IiwicmlnaHRBbGlnbmVkV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwiZmluZFBhcmVudE5vZGVJbmZvIiwiY2xvc2VzdElubGluZSIsImdldENsb3Nlc3RJbmxpbmUiLCJlbmRLZXkiLCJjbG9zZXN0QmxvY2siLCJnZXRDbG9zZXN0QmxvY2siLCJub2RlVG9Vc2UiLCJub2RlcyIsImZpbmQiLCJuIiwia2V5IiwiZ2V0Tm9kZVdpdGhDbGFzcyIsImJsb2Nrc0F0UmFuZ2UiLCJnZXRCbG9ja3NBdFJhbmdlQXNBcnJheSIsImlubGluZXNBdFJhbmdlIiwiZ2V0SW5saW5lc0F0UmFuZ2VBc0FycmF5IiwiYmxvY2tEYXRhIiwidG9KU09OIiwiaW5saW5lRGF0YSIsImF0dHJpYnV0ZXMiLCJibG9ja0NsYXNzIiwiaW5saW5lQ2xhc3MiLCJpbmxpbmVIYXNDbGFzcyIsImluY2x1ZGVzIiwiYmxvY2tIYXNDbGFzcyIsIkNTU1BsdWdpbiIsInBsdWdpbiIsInRvb2xiYXIiLCJpc01hcmsiLCJpY29uIiwiYXJpYUxhYmVsIiwidHlwZSIsIm9uVG9nZ2xlIiwiY2hhbmdlIiwiaGFzTWFyayIsImFjdGl2ZU1hcmtzIiwiZW50cnkiLCJyZW1vdmVNYXJrIiwibmV3TWFyayIsIk1hcmsiLCJjcmVhdGUiLCJhZGRNYXJrIiwib25DbGljayIsIm9uQ2hhbmdlIiwiZ2V0Rm9jdXNlZFZhbHVlIiwidmFsdWVUb1VzZSIsImZvY3VzIiwic2V0VGltZW91dCIsImdldFRleHRzQXRSYW5nZUFzQXJyYXkiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwianNvbkRhdGEiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNB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QUEsUUFBUSxFQUFSQSxRQUFoQztBQUEwQ0MsWUFBQUEsSUFBSSxFQUFKQSxJQUExQztBQUFnREMsWUFBQUEsUUFBUSxFQUFSQSxRQUFoRDtBQUEwREMsWUFBQUEsVUFBVSxFQUFWQTtBQUExRCxXQUFELENBQVo7QUFDRDtBQUNGO0FBaEhNLEtBRkk7QUFvSGIwSCxJQUFBQSxVQXBIYSxzQkFvSEZDLEtBcEhFLEVBb0hLO0FBQ2hCLFVBQUlBLEtBQUssQ0FBQ0MsSUFBTixDQUFXcEIsSUFBWCxLQUFvQixLQUF4QixFQUErQjtBQUM3QixvQkFBaUJtQixLQUFLLENBQUNDLElBQU4sSUFBYyxFQUEvQjtBQUFBLFlBQVFsRyxJQUFSLFNBQVFBLElBQVI7O0FBQ0EsWUFBTW1HLFFBQVEsR0FBRyxDQUFBbkcsSUFBSSxTQUFKLElBQUFBLElBQUksV0FBSixZQUFBQSxJQUFJLENBQUVnRSxNQUFOLE9BQWtCLEVBQW5DO0FBRUEsNEJBQU8sd0NBQVVtQyxRQUFRLENBQUNqQyxVQUFuQixFQUFnQytCLEtBQUssQ0FBQ0csUUFBdEMsQ0FBUDtBQUNEO0FBQ0Y7QUEzSFksR0FBZjtBQThIQSxTQUFPM0IsTUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IExpc3QgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGlzdCc7XG5pbXBvcnQgeyBMZWFmLCBNYXJrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEltbXV0YWJsZSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpc3RJdGVtJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgQ3NzSWNvbiBmcm9tICcuL2ljb25zJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczpjaGFyYWN0ZXJzJyk7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVEaWFsb2dzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2RGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnNlcnQtY3NzLWRpYWxvZycpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6cmVtb3ZlRGlhbG9nc10nKTtcbiAgcHJldkRpYWxvZ3MuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG59O1xuXG5jb25zdCBpbnNlcnREaWFsb2cgPSAoeyBlZGl0b3JET00sIHZhbHVlLCBjYWxsYmFjaywgb3B0cywgdGV4dE5vZGUsIHBhcmVudE5vZGUgfSkgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0RGlhbG9nXScpO1xuXG4gIHJlbW92ZURpYWxvZ3MoKTtcblxuICBuZXdFbC5jbGFzc05hbWUgPSAnaW5zZXJ0LWNzcy1kaWFsb2cnO1xuXG4gIGxldCBwb3BvdmVyRWw7XG5cbiAgY29uc3QgY2xvc2VQb3BPdmVyID0gKCkgPT4ge1xuICAgIGlmIChwb3BvdmVyRWwpIHtcbiAgICAgIHBvcG92ZXJFbC5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG5cbiAgbGV0IGZpcnN0Q2FsbE1hZGUgPSBmYWxzZTtcblxuICBjb25zdCBsaXN0ZW5lciA9IChlKSA9PiB7XG4gICAgLy8gdGhpcyB3aWxsIGJlIHRyaWdnZXJlZCByaWdodCBhZnRlciBzZXR0aW5nIGl0IGJlY2F1c2VcbiAgICAvLyB0aGlzIHRvb2xiYXIgaXMgYWRkZWQgb24gdGhlIG1vdXNlZG93biBldmVudFxuICAgIC8vIHNvIHJpZ2h0IGFmdGVyIG1vdXNldXAsIHRoZSBjbGljayB3aWxsIGJlIHRyaWdnZXJlZFxuICAgIGlmIChmaXJzdENhbGxNYWRlKSB7XG4gICAgICBjb25zdCBmb2N1c0lzSW5Nb2RhbHMgPSBuZXdFbC5jb250YWlucyhlLnRhcmdldCkgfHwgKHBvcG92ZXJFbCAmJiBwb3BvdmVyRWwuY29udGFpbnMoZS50YXJnZXQpKTtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbkVkaXRvciA9IGVkaXRvckRPTS5jb250YWlucyhlLnRhcmdldCk7XG5cbiAgICAgIGlmICghKGZvY3VzSXNJbk1vZGFscyB8fCBmb2N1c0lzSW5FZGl0b3IpKSB7XG4gICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpcnN0Q2FsbE1hZGUgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBjYWxsYmFjayh1bmRlZmluZWQsIHRydWUpO1xuICAgIG5ld0VsLnJlbW92ZSgpO1xuICAgIGNsb3NlUG9wT3ZlcigpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKG5hbWUpID0+IHtcbiAgICBjYWxsYmFjayhuYW1lLCB0cnVlKTtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgICBjbG9zZVBvcE92ZXIoKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICB9O1xuXG4gIGNvbnN0IHNlbGVjdGVkVGV4dCA9IHRleHROb2RlLnRleHQuc2xpY2UodmFsdWUuc2VsZWN0aW9uLmFuY2hvck9mZnNldCwgdmFsdWUuc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KTtcbiAgY29uc3QgcGFyZW50Tm9kZUNsYXNzID0gcGFyZW50Tm9kZT8uZGF0YT8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmNsYXNzO1xuICBjb25zdCBjcmVhdGVIVE1MID0gKG5hbWUpID0+IHtcbiAgICBsZXQgaHRtbCA9IGA8c3BhbiBjbGFzcz1cIiR7bmFtZX1cIj4ke3NlbGVjdGVkVGV4dH08L3NwYW4+YDtcblxuICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICBsZXQgdGFnO1xuXG4gICAgICBpZiAocGFyZW50Tm9kZT8ub2JqZWN0ID09PSAnaW5saW5lJykge1xuICAgICAgICB0YWcgPSAnc3Bhbic7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlPy5vYmplY3QgPT09ICdibG9jaycpIHtcbiAgICAgICAgdGFnID0gJ2Rpdic7XG4gICAgICB9XG5cbiAgICAgIGh0bWwgPSBgPCR7dGFnfSBjbGFzcz1cIiR7cGFyZW50Tm9kZUNsYXNzfVwiPiR7cGFyZW50Tm9kZS50ZXh0LnNsaWNlKFxuICAgICAgICAwLFxuICAgICAgICB2YWx1ZS5zZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LFxuICAgICAgKX0ke2h0bWx9JHtwYXJlbnROb2RlLnRleHQuc2xpY2UodmFsdWUuc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KX08LyR7dGFnfT5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9O1xuXG4gIGNvbnN0IGVsID0gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6ICd3aGl0ZScsIGhlaWdodDogNTAwLCBwYWRkaW5nOiAyMCwgb3ZlcmZsb3c6ICdoaWRkZW4nLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhGbG93OiAnY29sdW1uJyB9fVxuICAgID5cbiAgICAgIDxoMj5QbGVhc2UgY2hvb3NlIGEgY3NzIGNsYXNzPC9oMj5cbiAgICAgIHtwYXJlbnROb2RlQ2xhc3MgJiYgPGRpdj5UaGUgY3VycmVudCBwYXJlbnQgaGFzIHRoaXMgY2xhc3Mge3BhcmVudE5vZGVDbGFzc308L2Rpdj59XG4gICAgICA8TGlzdCBjb21wb25lbnQ9XCJuYXZcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIHtvcHRzLm5hbWVzLm1hcCgobmFtZSwgaSkgPT4gKFxuICAgICAgICAgIDxMaXN0SXRlbSBrZXk9e2BydWxlLSR7aX1gfSBidXR0b24gb25DbGljaz17KCkgPT4gaGFuZGxlQ2hhbmdlKG5hbWUpfT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDIwIH19PntuYW1lfTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgIF9faHRtbDogY3JlYXRlSFRNTChuYW1lKSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9MaXN0SXRlbT5cbiAgICAgICAgKSl9XG4gICAgICA8L0xpc3Q+XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgUmVhY3RET00ucmVuZGVyKGVsLCBuZXdFbCwgKCkgPT4ge1xuICAgIGNvbnN0IGN1cnNvckl0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmFuY2hvcktleX1cIl1gKTtcblxuICAgIGlmIChjdXJzb3JJdGVtKSB7XG4gICAgICBjb25zdCBib2R5UmVjdCA9IGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGJvdW5kUmVjdCA9IGN1cnNvckl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChuZXdFbCk7XG5cbiAgICAgIC8vIHdoZW4gaGVpZ2h0IG9mIHRvb2xiYXIgZXhjZWVkcyBzY3JlZW4gLSBjYW4gaGFwcGVuIGluIHNjcm9sbGFibGUgY29udGV4dHNcbiAgICAgIGxldCBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gMDtcbiAgICAgIGlmIChib3VuZFJlY3QueSA8IG5ld0VsLm9mZnNldEhlaWdodCkge1xuICAgICAgICBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gYm91bmRSZWN0LnkgKyAxMDtcbiAgICAgIH1cblxuICAgICAgbmV3RWwuc3R5bGUubWF4V2lkdGggPSAnNTAwcHgnO1xuICAgICAgbmV3RWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgbmV3RWwuc3R5bGUudG9wID0gMDtcbiAgICAgIG5ld0VsLnN0eWxlLnpJbmRleCA9IDk5OTk5O1xuXG4gICAgICBjb25zdCBsZWZ0VmFsdWUgPSBgJHtib3VuZFJlY3QubGVmdCArIE1hdGguYWJzKGJvZHlSZWN0LmxlZnQpICsgY3Vyc29ySXRlbS5vZmZzZXRXaWR0aCArIDEwfXB4YDtcblxuICAgICAgY29uc3QgcmlnaHRWYWx1ZSA9IGAke2JvdW5kUmVjdC54fXB4YDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcblxuICAgICAgY29uc3QgbGVmdEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcblxuICAgICAgY29uc3QgcmlnaHRBbGlnbmVkV2lkdGggPSBuZXdFbC5vZmZzZXRXaWR0aDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9ICd1bnNldCc7XG4gICAgICBuZXdFbC5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG5cbiAgICAgIGlmIChsZWZ0QWxpZ25lZFdpZHRoID49IHJpZ2h0QWxpZ25lZFdpZHRoKSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdFbC5zdHlsZS5yaWdodCA9IHJpZ2h0VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IGZpbmRQYXJlbnROb2RlSW5mbyA9ICh2YWx1ZSwgdGV4dE5vZGUpID0+IHtcbiAgY29uc3QgY2xvc2VzdElubGluZSA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RJbmxpbmUodmFsdWUuc2VsZWN0aW9uLmVuZEtleSk7XG4gIGNvbnN0IGNsb3Nlc3RCbG9jayA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayh2YWx1ZS5zZWxlY3Rpb24uZW5kS2V5KTtcbiAgbGV0IG5vZGVUb1VzZSA9IG51bGw7XG5cbiAgaWYgKGNsb3Nlc3RJbmxpbmU/Lm5vZGVzPy5maW5kKChuKSA9PiBuLmtleSA9PT0gdGV4dE5vZGUua2V5KSkge1xuICAgIG5vZGVUb1VzZSA9IGNsb3Nlc3RJbmxpbmU7XG4gIH1cblxuICBpZiAoY2xvc2VzdEJsb2NrPy5ub2Rlcz8uZmluZCgobikgPT4gbi5rZXkgPT09IHRleHROb2RlLmtleSkpIHtcbiAgICBub2RlVG9Vc2UgPSBjbG9zZXN0QmxvY2s7XG4gIH1cblxuICByZXR1cm4gbm9kZVRvVXNlO1xufTtcblxuLyoqXG4gKiBGaW5kIHRoZSBub2RlIHRoYXQgaGFzIGEgY2xhc3MgYXR0cmlidXRlIGFuZCByZXR1cm4gaXQuXG4gKiBLZWVwaW5nIHRoaXMgaW4gY2FzZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgY2xhc3NlcyBuZWVkcyB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBvcHRzXG4gKiBAcmV0dXJucyB7Kn1cbiAqL1xuY29uc3QgZ2V0Tm9kZVdpdGhDbGFzcyA9ICh2YWx1ZSwgb3B0cykgPT4ge1xuICBjb25zdCBibG9ja3NBdFJhbmdlID0gdmFsdWUuZG9jdW1lbnQuZ2V0QmxvY2tzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKTtcbiAgY29uc3QgaW5saW5lc0F0UmFuZ2UgPSB2YWx1ZS5kb2N1bWVudC5nZXRJbmxpbmVzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKTtcbiAgY29uc3QgYmxvY2tEYXRhID0gYmxvY2tzQXRSYW5nZVswXT8uZGF0YS50b0pTT04oKSB8fCB7fTtcbiAgY29uc3QgaW5saW5lRGF0YSA9IGlubGluZXNBdFJhbmdlWzBdPy5kYXRhLnRvSlNPTigpIHx8IHt9O1xuXG4gIGlmICghYmxvY2tEYXRhLmF0dHJpYnV0ZXM/LmNsYXNzICYmICFpbmxpbmVEYXRhLmF0dHJpYnV0ZXM/LmNsYXNzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGNsYXNzOiBibG9ja0NsYXNzIH0gPSBibG9ja0RhdGEuYXR0cmlidXRlcyB8fCB7fTtcbiAgY29uc3QgeyBjbGFzczogaW5saW5lQ2xhc3MgfSA9IGlubGluZURhdGEuYXR0cmlidXRlcyB8fCB7fTtcbiAgY29uc3QgaW5saW5lSGFzQ2xhc3MgPSBvcHRzLm5hbWVzLmZpbmQoKG5hbWUpID0+IGlubGluZUNsYXNzLmluY2x1ZGVzKG5hbWUpKTtcblxuICBpZiAoaW5saW5lSGFzQ2xhc3MpIHtcbiAgICByZXR1cm4gaW5saW5lc0F0UmFuZ2VbMF07XG4gIH1cblxuICBjb25zdCBibG9ja0hhc0NsYXNzID0gb3B0cy5uYW1lcy5maW5kKChuYW1lKSA9PiBibG9ja0NsYXNzLmluY2x1ZGVzKG5hbWUpKTtcblxuICBpZiAoYmxvY2tIYXNDbGFzcykge1xuICAgIHJldHVybiBibG9ja3NBdFJhbmdlWzBdO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG4vKipcbiAqIFBsdWdpbiBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGFkZCBhIGNzcyBjbGFzIHRoYXQgaXMgcHJvdmlkZWQgdGhyb3VnaCB0aGUgbW9kZWxcbiAqIG9uIGEgdGV4dCBlbGVtZW50LiBXb3JrcyBsaWtlIGEgbWFyayAoYm9sZCwgaXRhbGljIGV0Yy4pLlxuICogQHBhcmFtIG9wdHNcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDU1NQbHVnaW4ob3B0cykge1xuICBjb25zdCBwbHVnaW4gPSB7XG4gICAgbmFtZTogJ2V4dHJhQ1NTUnVsZXMnLFxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGlzTWFyazogdHJ1ZSxcbiAgICAgIGljb246IDxDc3NJY29uIC8+LFxuICAgICAgYXJpYUxhYmVsOiAnQ1NTIGVkaXRvcicsXG4gICAgICB0eXBlOiAnY3NzJyxcbiAgICAgIG9uVG9nZ2xlOiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSAnY3NzJztcbiAgICAgICAgY29uc3QgaGFzTWFyayA9IGNoYW5nZS52YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRyeS50eXBlID09PSB0eXBlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaGFzTWFyaykge1xuICAgICAgICAgIGNoYW5nZS5yZW1vdmVNYXJrKGhhc01hcmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh0eXBlKTtcblxuICAgICAgICAgIGNoYW5nZS5hZGRNYXJrKG5ld01hcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlLCBnZXRGb2N1c2VkVmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9ICdjc3MnO1xuICAgICAgICBjb25zdCBoYXNNYXJrID0gdmFsdWUuYWN0aXZlTWFya3MuZmluZCgoZW50cnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50cnkudHlwZSA9PT0gdHlwZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIGlmIChoYXNNYXJrKSB7XG4gICAgICAgICAgY2hhbmdlLnJlbW92ZU1hcmsoaGFzTWFyayk7XG4gICAgICAgICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBrZWVwaW5nIHRoaXMgaWYgaW1wbGVtZW50YXRpb24gbmVlZHMgdG8gYmUgY2hhbmdlZCB0byByZWd1bGFyIGJsb2NrcyBpbnN0ZWFkIG9mIG1hcmtzXG4gICAgICAgIC8vIGxldCBub2RlV2l0aENsYXNzID0gZ2V0Tm9kZVdpdGhDbGFzcyh2YWx1ZSwgb3B0cyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIGlmIChub2RlV2l0aENsYXNzKSB7XG4gICAgICAgIC8vICAgY29uc3Qgbm9kZUF0dHJpYnV0ZXMgPSBub2RlV2l0aENsYXNzLmRhdGEuZ2V0KCdhdHRyaWJ1dGVzJyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgb3B0cy5uYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAobm9kZUF0dHJpYnV0ZXMuY2xhc3MuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgLy8gICAgICAgbm9kZUF0dHJpYnV0ZXMuY2xhc3MgPSBub2RlQXR0cmlidXRlcy5jbGFzcy5yZXBsYWNlKG5hbWUsICcnKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9KTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICAvLyBrZWVwaW5nIG9ubHkgb25lIHNwYWNlIGJldHdlZW4gY2xhc3Nlc1xuICAgICAgICAvLyAgIG5vZGVBdHRyaWJ1dGVzLmNsYXNzID0gbm9kZUF0dHJpYnV0ZXMuY2xhc3MucmVwbGFjZSgvICsvZywgJyAnKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICBub2RlV2l0aENsYXNzLmRhdGEuc2V0KCdhdHRyaWJ1dGVzJywgbm9kZUF0dHJpYnV0ZXMpO1xuICAgICAgICAvL1xuICAgICAgICAvLyAgIGxldCBjaGFuZ2UgPSB2YWx1ZS5jaGFuZ2UoKTtcbiAgICAgICAgLy8gICBjaGFuZ2UucmVwbGFjZU5vZGVCeUtleShub2RlV2l0aENsYXNzLmtleSwgbm9kZVdpdGhDbGFzcyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cblxuICAgICAgICBjb25zdCBlZGl0b3JET00gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcbiAgICAgICAgbGV0IHZhbHVlVG9Vc2UgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCBjYWxsYmFjayA9IChjbGFzc05hbWUsIGZvY3VzKSA9PiB7XG4gICAgICAgICAgaWYgKGdldEZvY3VzZWRWYWx1ZSkge1xuICAgICAgICAgICAgdmFsdWVUb1VzZSA9IGdldEZvY3VzZWRWYWx1ZSgpIHx8IHZhbHVlVG9Vc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlVG9Vc2UuY2hhbmdlKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh7XG4gICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICB0eXBlOiAnY3NzJyxcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzOiBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjaGFuZ2UuYWRkTWFyayhuZXdNYXJrKTtcbiAgICAgICAgICAgIC8vIGtlZXBpbmcgdGhpcyBpZiBpbXBsZW1lbnRhdGlvbiBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIHJlZ3VsYXIgYmxvY2tzIGluc3RlYWQgb2YgbWFya3NcbiAgICAgICAgICAgIC8vIGNoYW5nZSA9IGNoYW5nZS53cmFwSW5saW5lKHsgdHlwZTogJ3NwYW4nLCBkYXRhOiB7IGF0dHJpYnV0ZXM6IHsgY2xhc3M6IGNsYXNzTmFtZSB9IH0gfSk7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gLy8gY2hhbmdlID0gY2hhbmdlLnNwbGl0QmxvY2tBdFJhbmdlKGFkYXB0ZWRSYW5nZSk7XG4gICAgICAgICAgICAvLyAvL1xuICAgICAgICAgICAgLy8gLy8gY29uc3QgbmV3QmxvY2sgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0RnVydGhlc3RCbG9jayhjaGFuZ2UudmFsdWUuc2VsZWN0aW9uLmVuZEtleSk7XG4gICAgICAgICAgICAvLyAvL1xuICAgICAgICAgICAgLy8gLy8gY2hhbmdlID0gY2hhbmdlLnNldE5vZGVCeUtleShuZXdCbG9jay5rZXksIHsgZGF0YTogeyBhdHRyaWJ1dGVzOiB7IGNsYXNzOiBjbGFzc05hbWUgfSB9IH0pO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIHZhbHVlVG9Vc2UgPSBjaGFuZ2UudmFsdWU7XG4gICAgICAgICAgICAvLyBsb2coJ1tjaGFyYWN0ZXJzOmluc2VydF06ICcsIHZhbHVlKTtcbiAgICAgICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9nKCdbY2hhcmFjdGVyczpjbGlja10nKTtcblxuICAgICAgICAgIGlmIChmb2N1cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlZGl0b3JET00pIHtcbiAgICAgICAgICAgICAgICBlZGl0b3JET00uZm9jdXMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IHZhbHVlLmRvY3VtZW50LmdldFRleHRzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKVswXTtcblxuICAgICAgICBpZiAodGV4dE5vZGUpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gZmluZFBhcmVudE5vZGVJbmZvKHZhbHVlLCB0ZXh0Tm9kZSwgb3B0cyk7XG5cbiAgICAgICAgICBpbnNlcnREaWFsb2coeyBlZGl0b3JET00sIHZhbHVlOiB2YWx1ZVRvVXNlLCBjYWxsYmFjaywgb3B0cywgdGV4dE5vZGUsIHBhcmVudE5vZGUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICByZW5kZXJNYXJrKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubWFyay50eXBlID09PSAnY3NzJykge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzLm1hcmsgfHwge307XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YT8udG9KU09OKCkgfHwge307XG5cbiAgICAgICAgcmV0dXJuIDxzcGFuIHsuLi5qc29uRGF0YS5hdHRyaWJ1dGVzfT57cHJvcHMuY2hpbGRyZW59PC9zcGFuPjtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBwbHVnaW47XG59XG4iXX0=
|
|
397
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/css/index.jsx"],"names":["log","removeDialogs","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","editorDOM","value","callback","opts","textNode","parentNode","newEl","createElement","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","selectedText","text","slice","selection","anchorOffset","focusOffset","parentNodeClass","data","get","createHTML","html","tag","object","el","background","height","padding","overflow","display","flexFlow","names","map","i","marginRight","__html","ReactDOM","render","cursorItem","querySelector","anchorKey","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","additionalTopOffset","y","offsetHeight","style","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","findParentNodeInfo","closestInline","getClosestInline","endKey","closestBlock","getClosestBlock","nodeToUse","nodes","find","n","key","getNodeWithClass","blocksAtRange","getBlocksAtRangeAsArray","inlinesAtRange","getInlinesAtRangeAsArray","blockData","toJSON","inlineData","attributes","blockClass","inlineClass","inlineHasClass","includes","blockHasClass","CSSPlugin","plugin","toolbar","isMark","icon","ariaLabel","type","onToggle","change","hasMark","activeMarks","entry","removeMark","newMark","Mark","create","addMark","onClick","onChange","getFocusedValue","valueToUse","focus","setTimeout","getTextsAtRangeAsArray","renderMark","props","mark","jsonData","children"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport List from '@material-ui/core/List';\nimport { Leaf, Mark } from 'slate';\nimport Immutable from 'immutable';\nimport ListItem from '@material-ui/core/ListItem';\nimport isEmpty from 'lodash/isEmpty';\nimport debug from 'debug';\nimport CssIcon from './icons';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts, textNode, parentNode }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const selectedText = textNode.text.slice(value.selection.anchorOffset, value.selection.focusOffset);\n const parentNodeClass = parentNode?.data?.get('attributes')?.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag;\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n value.selection.anchorOffset,\n )}${html}${parentNode.text.slice(value.selection.focusOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nconst findParentNodeInfo = (value, textNode) => {\n const closestInline = value.document.getClosestInline(value.selection.endKey);\n const closestBlock = value.document.getClosestBlock(value.selection.endKey);\n let nodeToUse = null;\n\n if (closestInline?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestInline;\n }\n\n if (closestBlock?.nodes?.find((n) => n.key === textNode.key)) {\n nodeToUse = closestBlock;\n }\n\n return nodeToUse;\n};\n\n/**\n * Find the node that has a class attribute and return it.\n * Keeping this in case the implementation of classes needs to be changed\n * @param value\n * @param opts\n * @returns {*}\n */\nconst getNodeWithClass = (value, opts) => {\n const blocksAtRange = value.document.getBlocksAtRangeAsArray(value.selection);\n const inlinesAtRange = value.document.getInlinesAtRangeAsArray(value.selection);\n const blockData = blocksAtRange[0]?.data.toJSON() || {};\n const inlineData = inlinesAtRange[0]?.data.toJSON() || {};\n\n if (!blockData.attributes?.class && !inlineData.attributes?.class) {\n return null;\n }\n\n const { class: blockClass } = blockData.attributes || {};\n const { class: inlineClass } = inlineData.attributes || {};\n const inlineHasClass = opts.names.find((name) => inlineClass.includes(name));\n\n if (inlineHasClass) {\n return inlinesAtRange[0];\n }\n\n const blockHasClass = opts.names.find((name) => blockClass.includes(name));\n\n if (blockHasClass) {\n return blocksAtRange[0];\n }\n\n return null;\n};\n\n/**\n * Plugin in order to be able to add a css clas that is provided through the model\n * on a text element. Works like a mark (bold, italic etc.).\n * @param opts\n * @constructor\n */\nexport default function CSSPlugin(opts) {\n const plugin = {\n name: 'extraCSSRules',\n toolbar: {\n isMark: true,\n icon: <CssIcon />,\n ariaLabel: 'CSS editor',\n type: 'css',\n onToggle: (change) => {\n const type = 'css';\n const hasMark = change.value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n if (hasMark) {\n change.removeMark(hasMark);\n } else {\n const newMark = Mark.create(type);\n\n change.addMark(newMark);\n }\n\n return change;\n },\n onClick: (value, onChange, getFocusedValue) => {\n const type = 'css';\n const hasMark = value.activeMarks.find((entry) => {\n return entry.type === type;\n });\n\n let change = value.change();\n\n if (hasMark) {\n change.removeMark(hasMark);\n onChange(change);\n return;\n }\n\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // let nodeWithClass = getNodeWithClass(value, opts);\n //\n // if (nodeWithClass) {\n // const nodeAttributes = nodeWithClass.data.get('attributes');\n //\n // opts.names.forEach((name) => {\n // if (nodeAttributes.class.includes(name)) {\n // nodeAttributes.class = nodeAttributes.class.replace(name, '');\n // }\n // });\n //\n // // keeping only one space between classes\n // nodeAttributes.class = nodeAttributes.class.replace(/ +/g, ' ');\n //\n // nodeWithClass.data.set('attributes', nodeAttributes);\n //\n // let change = value.change();\n // change.replaceNodeByKey(nodeWithClass.key, nodeWithClass);\n //\n // onChange(change);\n // return;\n // }\n\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (className, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (className) {\n let change = valueToUse.change();\n\n const newMark = Mark.create({\n object: 'mark',\n type: 'css',\n data: {\n attributes: {\n class: className,\n },\n },\n });\n\n change.addMark(newMark);\n // keeping this if implementation needs to be changed to regular blocks instead of marks\n // change = change.wrapInline({ type: 'span', data: { attributes: { class: className } } });\n //\n // // change = change.splitBlockAtRange(adaptedRange);\n // //\n // // const newBlock = change.value.document.getFurthestBlock(change.value.selection.endKey);\n // //\n // // change = change.setNodeByKey(newBlock.key, { data: { attributes: { class: className } } });\n //\n // valueToUse = change.value;\n // log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n setTimeout(() => {\n if (editorDOM) {\n editorDOM.focus();\n }\n }, 0);\n }\n };\n const textNode = value.document.getTextsAtRangeAsArray(value.selection)[0];\n\n if (textNode) {\n const parentNode = findParentNodeInfo(value, textNode, opts);\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts, textNode, parentNode });\n }\n },\n },\n renderMark(props) {\n if (props.mark.type === 'css') {\n const { data } = props.mark || {};\n const jsonData = data?.toJSON() || {};\n\n return <span {...jsonData.attributes}>{props.children}</span>;\n }\n },\n };\n\n return plugin;\n}\n"],"file":"index.js"}
|
|
@@ -111,4 +111,4 @@ function CustomPlugin(type, customPluginProps) {
|
|
|
111
111
|
}
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=
|
|
114
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/customPlugin/index.jsx"],"names":["CONTENT_TYPE","FRAGMENT","ICON_TYPE","SVG","getIcon","customPluginProps","svg","icon","iconType","width","height","__html","iconAlt","CustomPlugin","type","toolbar","onClick","value","onChange","getFocusedValue","editorDOM","document","querySelector","key","valueToUse","callback","focus","customContent","contentType","contentValue","change","insertFragment","window","dispatchEvent","CustomEvent","event","detail","supports","node","object","name","renderNode","props","data","jsonData","toJSON"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { htmlToValue } from '../../serialization';\n\n// We're possibly going to have to support content types, so starting it as an enum\nexport const CONTENT_TYPE = {\n FRAGMENT: 'FRAGMENT',\n};\n\n// We're possibly going to have to support multiple icon types, so starting it as an enum\nexport const ICON_TYPE = {\n SVG: 'SVG',\n};\n\nconst getIcon = (customPluginProps) => {\n const svg = customPluginProps.icon;\n\n switch (customPluginProps.iconType) {\n case ICON_TYPE.SVG:\n return <span style={{ width: 28, height: 28 }} dangerouslySetInnerHTML={{ __html: svg }} />;\n default:\n return <span>{customPluginProps.iconAlt}</span>;\n }\n};\n\nexport default function CustomPlugin(type, customPluginProps) {\n const toolbar = {\n icon: getIcon(customPluginProps),\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n const callback = ({ customContent, contentType }, focus) => {\n valueToUse = getFocusedValue();\n\n switch (contentType) {\n case CONTENT_TYPE.FRAGMENT:\n default: {\n const contentValue = htmlToValue(customContent);\n const change = valueToUse.change().insertFragment(contentValue.document);\n\n valueToUse = change.value;\n onChange(change);\n\n break;\n }\n }\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n // NOTE: the emitted event (custom event named by client) will be suffixed with \"PIE-\"\n window.dispatchEvent(\n new CustomEvent(`PIE-${customPluginProps.event}`, {\n detail: {\n ...customPluginProps,\n callback,\n },\n }),\n );\n },\n supports: (node) => node.object === 'inline' && node.type === type,\n };\n\n return {\n name: type,\n toolbar,\n renderNode(props) {\n if (props.node.type === type) {\n const { node } = props;\n const { data } = node;\n const jsonData = data.toJSON();\n const { customContent, contentType } = jsonData;\n\n switch (contentType) {\n case CONTENT_TYPE.FRAGMENT:\n default:\n return customContent;\n }\n }\n },\n };\n}\n"],"file":"index.js"}
|
|
@@ -35,4 +35,4 @@ var HtmlModeIcon = function HtmlModeIcon(_ref) {
|
|
|
35
35
|
var _default = (0, _styles.withStyles)(styles)(HtmlModeIcon);
|
|
36
36
|
|
|
37
37
|
exports["default"] = _default;
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/plugins/html/icons/index.jsx"],"names":["styles","theme","icon","fontFamily","fontSize","typography","fontWeight","lineHeight","position","whiteSpace","HtmlModeIcon","classes","isHtmlMode"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE,iCADR;AAEJC,MAAAA,QAAQ,EAAEH,KAAK,CAACI,UAAN,CAAiBD,QAFvB;AAGJE,MAAAA,UAAU,EAAE,MAHR;AAIJC,MAAAA,UAAU,EAAE,MAJR;AAKJC,MAAAA,QAAQ,EAAE,UALN;AAMJC,MAAAA,UAAU,EAAE;AANR;AADmB,GAAZ;AAAA,CAAf;;AAWA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,UAAZ,QAAYA,UAAZ;AAAA,sBACnB;AAAK,IAAA,SAAS,EAAED,OAAO,CAACT;AAAxB,KAA+BU,UAAU,GAAG,kBAAH,GAAwB,QAAjE,CADmB;AAAA,CAArB;;eAIe,wBAAWZ,MAAX,EAAmBU,YAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n icon: {\n fontFamily: 'Cerebri Sans, Arial, sans-serif',\n fontSize: theme.typography.fontSize,\n fontWeight: 'bold',\n lineHeight: '14px',\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n});\n\nconst HtmlModeIcon = ({ classes, isHtmlMode }) => (\n <div className={classes.icon}>{isHtmlMode ? 'Exit <HTML> mode' : '<HTML>'}</div>\n);\n\nexport default withStyles(styles)(HtmlModeIcon);\n"],"file":"index.js"}
|
|
@@ -77,4 +77,4 @@ function HtmlPlugin(opts) {
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
//# sourceMappingURL=
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/html/index.jsx"],"names":["toggleToRichText","value","onChange","dismiss","plainText","document","text","slateValue","change","selectAll","insertFragment","HtmlPlugin","opts","isHtmlMode","isEditedInHtmlMode","toggleHtmlMode","handleAlertDialog","currentValue","handleHtmlModeOn","dialogProps","title","onConfirmText","onCloseText","onConfirm","onClose","handleHtmlModeOff","insertText","name","toolbar","icon","ariaLabel","buttonStyles","margin","type","onClick"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAQC,QAAR,EAAkBC,OAAlB,EAA8B;AACrD,MAAMC,SAAS,GAAGH,KAAK,CAACI,QAAN,CAAeC,IAAjC;AACA,MAAMC,UAAU,GAAGJ,OAAO,GAAGF,KAAH,GAAW,gCAAYG,SAAZ,CAArC;AAEA,MAAMI,MAAM,GAAGP,KAAK,CACjBO,MADY,GAEZC,SAFY,eAIZC,cAJY,CAIGH,UAAU,CAACF,QAJd,CAAf;AAKAH,EAAAA,QAAQ,CAACM,MAAD,CAAR;AACD,CAVD;;AAYe,SAASG,UAAT,CAAoBC,IAApB,EAA0B;AACvC,MAAQC,UAAR,GAA4FD,IAA5F,CAAQC,UAAR;AAAA,MAAoBC,kBAApB,GAA4FF,IAA5F,CAAoBE,kBAApB;AAAA,MAAwCC,cAAxC,GAA4FH,IAA5F,CAAwCG,cAAxC;AAAA,MAAwDC,iBAAxD,GAA4FJ,IAA5F,CAAwDI,iBAAxD;AAAA,MAA2EC,YAA3E,GAA4FL,IAA5F,CAA2EK,YAA3E;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACjB,KAAD,EAAQC,QAAR,EAAqB;AAC5C,QAAMiB,WAAW,GAAG;AAClBC,MAAAA,KAAK,EAAE,SADW;AAElBd,MAAAA,IAAI,EAAE,yEAFY;AAGlBe,MAAAA,aAAa,EAAE,iBAHG;AAIlBC,MAAAA,WAAW,EAAE,kBAJK;AAKlBC,MAAAA,SAAS,EAAE,qBAAM;AACfP,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACAhB,QAAAA,gBAAgB,CAACiB,YAAD,EAAef,QAAf,EAAyB,IAAzB,CAAhB;AACAa,QAAAA,cAAc;AACf,OATiB;AAUlBS,MAAAA,OAAO,EAAE,mBAAM;AACbR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD;AAZiB,KAApB;AAeAA,IAAAA,iBAAiB,CAAC,IAAD,EAAOG,WAAP,CAAjB;AACD,GAjBD;;AAmBA,MAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAACxB,KAAD,EAAQC,QAAR,EAAqB;AAC7C,QAAMM,MAAM,GAAGP,KAAK,CACjBO,MADY,GAEZC,SAFY,eAIZiB,UAJY,CAID,gCAAYzB,KAAZ,CAJC,CAAf;AAKAC,IAAAA,QAAQ,CAACM,MAAD,CAAR;AACD,GAPD;;AASA,SAAO;AACLmB,IAAAA,IAAI,EAAE,MADD;AAELC,IAAAA,OAAO,EAAE;AACPC,MAAAA,IAAI,eAAE,gCAAC,iBAAD;AAAc,QAAA,UAAU,EAAEhB;AAA1B,QADC;AAEPiB,MAAAA,SAAS,EAAE,aAFJ;AAGPC,MAAAA,YAAY,EAAE;AACZC,QAAAA,MAAM,EAAE;AADI,OAHP;AAMPC,MAAAA,IAAI,EAAE,MANC;AAOPC,MAAAA,OAAO,EAAE,iBAACjC,KAAD,EAAQC,QAAR,EAAqB;AAC5B,YAAIW,UAAJ,EAAgB;AACd,cAAIC,kBAAJ,EAAwB;AACtBI,YAAAA,gBAAgB,CAACjB,KAAD,EAAQC,QAAR,CAAhB;AACD,WAFD,MAEO;AACLF,YAAAA,gBAAgB,CAACC,KAAD,EAAQC,QAAR,CAAhB;AACAa,YAAAA,cAAc;AACf;AACF,SAPD,MAOO;AACLU,UAAAA,iBAAiB,CAACxB,KAAD,EAAQC,QAAR,CAAjB;AACAa,UAAAA,cAAc;AACf;AACF;AAnBM;AAFJ,GAAP;AAwBD","sourcesContent":["import React from 'react';\nimport HtmlModeIcon from './icons';\nimport { htmlToValue, valueToHtml } from './../../serialization';\n\nconst toggleToRichText = (value, onChange, dismiss) => {\n const plainText = value.document.text;\n const slateValue = dismiss ? value : htmlToValue(plainText);\n\n const change = value\n .change()\n .selectAll()\n .delete()\n .insertFragment(slateValue.document);\n onChange(change);\n};\n\nexport default function HtmlPlugin(opts) {\n const { isHtmlMode, isEditedInHtmlMode, toggleHtmlMode, handleAlertDialog, currentValue } = opts;\n\n const handleHtmlModeOn = (value, onChange) => {\n const dialogProps = {\n title: 'Warning',\n text: 'Returning to rich text mode without saving will cause edits to be lost.',\n onConfirmText: 'Dismiss changes',\n onCloseText: 'Continue Editing',\n onConfirm: () => {\n handleAlertDialog(false);\n toggleToRichText(currentValue, onChange, true);\n toggleHtmlMode();\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n };\n\n handleAlertDialog(true, dialogProps);\n };\n\n const handleHtmlModeOff = (value, onChange) => {\n const change = value\n .change()\n .selectAll()\n .delete()\n .insertText(valueToHtml(value));\n onChange(change);\n };\n\n return {\n name: 'html',\n toolbar: {\n icon: <HtmlModeIcon isHtmlMode={isHtmlMode} />,\n ariaLabel: 'Html editor',\n buttonStyles: {\n margin: '0 20px 0 auto',\n },\n type: 'html',\n onClick: (value, onChange) => {\n if (isHtmlMode) {\n if (isEditedInHtmlMode) {\n handleHtmlModeOn(value, onChange);\n } else {\n toggleToRichText(value, onChange);\n toggleHtmlMode();\n }\n } else {\n handleHtmlModeOff(value, onChange);\n toggleHtmlMode();\n }\n },\n },\n };\n}\n"],"file":"index.js"}
|
|
@@ -126,4 +126,4 @@ exports.AltDialog = AltDialog;
|
|
|
126
126
|
});
|
|
127
127
|
var _default = AltDialog;
|
|
128
128
|
exports["default"] = _default;
|
|
129
|
-
//# sourceMappingURL=
|
|
129
|
+
//# sourceMappingURL=alt-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/plugins/image/alt-dialog.jsx"],"names":["AltDialog","props","allDialogs","document","querySelectorAll","forEach","s","remove","onDone","value","state","closeDialog","body","style","removeProperty","alt","handleOverflow","display","paddingTop","event","setState","target","fontSize","React","Component","PropTypes","func","isRequired","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,S;;;;;AAMX,qBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,oGAUL,YAAM;AAClB,UAAMC,UAAU,GAAGC,QAAQ,CAACC,gBAAT,CAA0B,cAA1B,CAAnB;AAEAF,MAAAA,UAAU,CAACG,OAAX,CAAmB,UAASC,CAAT,EAAY;AAC7B,eAAOA,CAAC,CAACC,MAAF,EAAP;AACD,OAFD;AAGD,KAhBkB;AAAA,+FAkBV,YAAM;AACb,UAAQC,MAAR,GAAmB,MAAKP,KAAxB,CAAQO,MAAR;AACA,UAAQC,KAAR,GAAkB,MAAKC,KAAvB,CAAQD,KAAR;AAEAD,MAAAA,MAAM,CAACC,KAAD,CAAN;;AACA,YAAKE,WAAL;AACD,KAxBkB;AAAA,uGA0BF,YAAM;AACrBR,MAAAA,QAAQ,CAACS,IAAT,CAAcC,KAAd,CAAoBC,cAApB,CAAmC,UAAnC;AACD,KA5BkB;AAGjB,QAAQC,GAAR,GAAgBd,KAAhB,CAAQc,GAAR;AAEA,UAAKL,KAAL,GAAa;AACXD,MAAAA,KAAK,EAAEM;AADI,KAAb;AALiB;AAQlB;;;;WAsBD,kBAAS;AAAA;;AACP,UAAQN,KAAR,GAAkB,KAAKC,KAAvB,CAAQD,KAAR;AAEA,0BACE,gCAAC,kBAAD;AACE,QAAA,IAAI,MADN;AAEE,QAAA,aAAa,MAFf;AAGE,QAAA,OAAO,EAAE,KAAKE,WAHhB;AAIE,QAAA,EAAE,EAAC,aAJL;AAKE,QAAA,YAAY,MALd;AAME,QAAA,iBAAiB,MANnB;AAOE,QAAA,SAAS,EAAE,KAAKK;AAPlB,sBASE,gCAAC,yBAAD,qBACE;AAAK,QAAA,KAAK,EAAE;AAAEC,UAAAA,OAAO,EAAE;AAAX;AAAZ,sBACE,gCAAC,wBAAD;AAAc,QAAA,KAAK,EAAE;AAAEC,UAAAA,UAAU,EAAE;AAAd;AAArB,QADF,eAEE,gCAAC,qBAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,WAAW,EAAE,6CAFf;AAGE,QAAA,UAAU,EACR,0HAJJ;AAME,QAAA,KAAK,EAAET,KANT;AAOE,QAAA,QAAQ,EAAE,kBAACU,KAAD;AAAA,iBAAW,MAAI,CAACC,QAAL,CAAc;AAAEX,YAAAA,KAAK,EAAEU,KAAK,CAACE,MAAN,CAAaZ;AAAtB,WAAd,CAAX;AAAA,SAPZ;AAQE,QAAA,mBAAmB,EAAE;AAAEI,UAAAA,KAAK,EAAE;AAAES,YAAAA,QAAQ,EAAE;AAAZ;AAAT;AARvB,QAFF,CADF,CATF,eAwBE,gCAAC,yBAAD,qBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE,KAAKd;AAAtB,gBADF,CAxBF,CADF;AA8BD;;;EArE4Be,kBAAMC,S;;;iCAAxBxB,S,eACQ;AACjBQ,EAAAA,MAAM,EAAEiB,sBAAUC,IAAV,CAAeC,UADN;AAEjBZ,EAAAA,GAAG,EAAEU,sBAAUG;AAFE,C;eAuEN5B,S","sourcesContent":["import React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport ArrowBackIos from '@material-ui/icons/ArrowBackIos';\nimport TextField from '@material-ui/core/TextField';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport PropTypes from 'prop-types';\n\nexport class AltDialog extends React.Component {\n static propTypes = {\n onDone: PropTypes.func.isRequired,\n alt: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n\n const { alt } = props;\n\n this.state = {\n value: alt,\n };\n }\n\n closeDialog = () => {\n const allDialogs = document.querySelectorAll('#text-dialog');\n\n allDialogs.forEach(function(s) {\n return s.remove();\n });\n };\n\n onDone = () => {\n const { onDone } = this.props;\n const { value } = this.state;\n\n onDone(value);\n this.closeDialog();\n };\n\n handleOverflow = () => {\n document.body.style.removeProperty('overflow');\n };\n\n render() {\n const { value } = this.state;\n\n return (\n <Dialog\n open\n disablePortal\n onClose={this.closeDialog}\n id=\"text-dialog\"\n hideBackdrop\n disableScrollLock\n onEntered={this.handleOverflow}\n >\n <DialogContent>\n <div style={{ display: 'flex' }}>\n <ArrowBackIos style={{ paddingTop: '6px' }} />\n <TextField\n multiline\n placeholder={'Enter an Alt Text description of this image'}\n helperText={\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.'\n }\n value={value}\n onChange={(event) => this.setState({ value: event.target.value })}\n FormHelperTextProps={{ style: { fontSize: 14 } }}\n />\n </div>\n </DialogContent>\n <DialogActions>\n <Button onClick={this.onDone}>Done</Button>\n </DialogActions>\n </Dialog>\n );\n }\n}\n\nexport default AltDialog;\n"],"file":"alt-dialog.js"}
|
|
@@ -416,4 +416,4 @@ var styles = function styles(theme) {
|
|
|
416
416
|
var _default = (0, _styles.withStyles)(styles)(Component);
|
|
417
417
|
|
|
418
418
|
exports["default"] = _default;
|
|
419
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZSIsInMiLCJDb21wb25lbnQiLCJwZXJjZW50IiwibXVsdGlwbGllciIsImltZyIsIm5hdHVyYWxXaWR0aCIsIm5hdHVyYWxIZWlnaHQiLCJ3aWR0aCIsImZsb29yZWQiLCJwYXJzZUludCIsInRvRml4ZWQiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJ1cGRhdGUiLCJkYXRhIiwidyIsImdldCIsInNldCIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJlcXVhbHMiLCJjaGFuZ2UiLCJjIiwic2V0Tm9kZUJ5S2V5Iiwia2V5Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInN0YXJ0UmVzaXppbmciLCJzdG9wUmVzaXppbmciLCJtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VIZWlnaHQiLCJib3giLCJzdHlsZSIsImRpbWVuc2lvbnMiLCJoZWlnaHQiLCJ1cGRhdGVJbWFnZURpbWVuc2lvbnMiLCJzZXRTdGF0ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJoYXNNaW5pbXVtV2lkdGgiLCJoYXNEaW1lbnNpb25zQ29uc3RyYWludHMiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaW5pdGlhbERpbSIsIm5leHREaW0iLCJrZWVwQXNwZWN0UmF0aW8iLCJyZXNpemVUeXBlIiwiaW1hZ2VBc3BlY3RSYXRpbyIsImFwcGx5U2l6ZURhdGEiLCJyZXNpemVIYW5kbGUiLCJyZXNpemUiLCJpbml0aWFsaXNlUmVzaXplIiwib2JqZWN0Rml0IiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwiYWN0aXZlIiwidmFsdWUiLCJpc0ZvY3VzZWQiLCJzZWxlY3Rpb24iLCJoYXNFZGdlSW4iLCJzcmMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJhbHQiLCJqdXN0aWZ5Q29udGVudCIsImdldFNpemUiLCJjbGFzc05hbWUiLCJyb290IiwibG9hZGluZyIsInBlbmRpbmdEZWxldGUiLCJwcm9ncmVzc0NsYXNzZXMiLCJwcm9ncmVzcyIsImhpZGVQcm9ncmVzcyIsImltYWdlQ29udGFpbmVyIiwiaW1hZ2UiLCJyZWYiLCJsb2FkSW1hZ2UiLCJSZWFjdCIsIlNsYXRlUHJvcFR5cGVzIiwiaXNSZXF1aXJlZCIsIlByb3BUeXBlcyIsInNoYXBlIiwiZnVuYyIsIm9iamVjdCIsIm9uQmx1ciIsIm51bWJlciIsInN0eWxlcyIsInRoZW1lIiwicG9ydGFsIiwicG9zaXRpb24iLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsImJhY2tncm91bmQiLCJwYXBlciIsImJvcmRlclJhZGl1cyIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZ3JleSIsImJveFNoYWRvdyIsImNvbW1vbiIsIndoaXRlIiwicmlnaHQiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxDQUFDQyxDQUFEO0FBQUEsU0FBUUEsQ0FBQyxhQUFNQSxDQUFOLFVBQWMsTUFBdkI7QUFBQSxDQUFiOztJQUVhQyxTOzs7Ozs7Ozs7Ozs7Ozs7aUdBZUEsVUFBQ0MsT0FBRCxFQUFhO0FBQ3RCLFVBQU1DLFVBQVUsR0FBR0QsT0FBTyxHQUFHLEdBQTdCO0FBQ0EsYUFBTyxNQUFLRSxHQUFMLENBQVND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LE1BQUFBLE9BQU8sRUFBRSxNQUhLO0FBSWRRLE1BQUFBLFVBQVUsRUFBRSxRQUpFO0FBTWQsNEJBQXNCO0FBQ3BCUixRQUFBQSxPQUFPLEVBQUU7QUFEVztBQU5SLEtBekNTO0FBbUR6QjVDLElBQUFBLE1BQU0sRUFBRTtBQUNOOEMsTUFBQUEsTUFBTSxzQkFBZWIsS0FBSyxDQUFDTyxPQUFOLENBQWNhLE9BQWQsQ0FBc0JDLElBQXJDO0FBREEsS0FuRGlCO0FBc0R6QjVELElBQUFBLE1BQU0sRUFBRTtBQUNONkMsTUFBQUEsZUFBZSxFQUFFTixLQUFLLENBQUNPLE9BQU4sQ0FBY2EsT0FBZCxDQUFzQkMsSUFEakM7QUFFTkMsTUFBQUEsTUFBTSxFQUFFLFlBRkY7QUFHTmxGLE1BQUFBLE1BQU0sRUFBRSxNQUhGO0FBSU4zQixNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtOaUcsTUFBQUEsWUFBWSxFQUFFLENBTFI7QUFNTmEsTUFBQUEsVUFBVSxFQUFFLEtBTk47QUFPTkMsTUFBQUEsV0FBVyxFQUFFLE1BUFA7QUFRTmIsTUFBQUEsT0FBTyxFQUFFO0FBUkgsS0F0RGlCO0FBZ0V6QmMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFNBQVMsRUFBRTtBQURHO0FBaEVTLEdBQVo7QUFBQSxDQUFmOztlQXFFZSx3QkFBVzNCLE1BQVgsRUFBbUI1RixTQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmVhclByb2dyZXNzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgU2xhdGVQcm9wVHlwZXMgZnJvbSAnc2xhdGUtcHJvcC10eXBlcyc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IHNpemUgPSAocykgPT4gKHMgPyBgJHtzfXB4YCA6ICdhdXRvJyk7XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG5vZGU6IFNsYXRlUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgICBlZGl0b3I6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBnZXRXaWR0aCA9IChwZXJjZW50KSA9PiB7XG4gICAgY29uc3QgbXVsdGlwbGllciA9IHBlcmNlbnQgLyAxMDA7XG4gICAgcmV0dXJuIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0SGVpZ2h0ID0gKHBlcmNlbnQpID0+IHtcbiAgICBjb25zdCBtdWx0aXBsaWVyID0gcGVyY2VudCAvIDEwMDtcbiAgICByZXR1cm4gdGhpcy5pbWcubmF0dXJhbEhlaWdodCAqIG11bHRpcGxpZXI7XG4gIH07XG5cbiAgZ2V0UGVyY2VudEZyb21XaWR0aCA9ICh3aWR0aCkgPT4ge1xuICAgIHZhciBmbG9vcmVkID0gKHdpZHRoIC8gdGhpcy5pbWcubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH07XG5cbiAgYXBwbHlTaXplRGF0YSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB1cGRhdGUgPSBub2RlLmRhdGE7XG5cbiAgICBjb25zdCB3ID0gdXBkYXRlLmdldCgnd2lkdGgnKTtcbiAgICBpZiAodykge1xuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgncmVzaXplUGVyY2VudCcsIHRoaXMuZ2V0UGVyY2VudEZyb21XaWR0aCh3KSk7XG4gICAgfVxuXG4gICAgbG9nKCdbYXBwbHlTaXplRGF0YV0gdXBkYXRlOiAnLCB1cGRhdGUpO1xuXG4gICAgaWYgKCF1cGRhdGUuZXF1YWxzKG5vZGUuZGF0YSkpIHtcbiAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGluaXRpYWxpc2VSZXNpemUgPSAoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc3RhcnRSZXNpemluZywgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5zdG9wUmVzaXppbmcsIGZhbHNlKTtcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcblxuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHRoaXMucmVzaXplO1xuXG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuaW5pdGlhbGlzZVJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLmFwcGx5U2l6ZURhdGEoKTtcbiAgfVxuXG4gIGdldFNpemUoZGF0YSkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogc2l6ZShkYXRhLmdldCgnd2lkdGgnKSksXG4gICAgICBoZWlnaHQ6IHNpemUoZGF0YS5nZXQoJ2hlaWdodCcpKSxcbiAgICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nLFxuICAgIH07XG4gIH1cblxuICBsb2FkSW1hZ2UgPSAoKSA9PiB7XG4gICAgbGV0IHsgbWF4SW1hZ2VXaWR0aCwgbWF4SW1hZ2VIZWlnaHQgfSA9IHRoaXMucHJvcHMgfHwge307XG4gICAgbWF4SW1hZ2VXaWR0aCA9IG1heEltYWdlV2lkdGggfHwgNzAwO1xuICAgIG1heEltYWdlSGVpZ2h0ID0gbWF4SW1hZ2VIZWlnaHQgfHwgOTAwO1xuXG4gICAgY29uc3QgYm94ID0gdGhpcy5pbWc7XG5cbiAgICAvL29uIGZpcnN0IGxvYWRcbiAgICBpZiAoIWJveC5zdHlsZS53aWR0aCB8fCBib3guc3R5bGUud2lkdGggPT09ICdhdXRvJykge1xuICAgICAgY29uc3QgZGltZW5zaW9ucyA9IHtcbiAgICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgICBoZWlnaHQ6IChib3ggJiYgYm94Lm5hdHVyYWxIZWlnaHQpIHx8IDEwMCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICAgIGRpbWVuc2lvbnMsXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogZGltZW5zaW9ucy53aWR0aCA8IG1heEltYWdlV2lkdGggPyBkaW1lbnNpb25zLndpZHRoIDogbWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IGRpbWVuc2lvbnMuaGVpZ2h0IDwgbWF4SW1hZ2VIZWlnaHQgPyBkaW1lbnNpb25zLmhlaWdodCA6IG1heEltYWdlSGVpZ2h0LFxuICAgICAgICB9LFxuICAgICAgICB0cnVlLFxuICAgICAgKTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaW1lbnNpb25zOiB7IGhlaWdodDogaGVpZ2h0LCB3aWR0aDogd2lkdGggfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IG5vZGUsIGVkaXRvciB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgbGV0IHVwZGF0ZSA9IG5vZGUuZGF0YTtcblxuICAgICAgdXBkYXRlID0gdXBkYXRlLnNldCgnd2lkdGgnLCB3aWR0aCk7XG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCdoZWlnaHQnLCBoZWlnaHQpO1xuXG4gICAgICBpZiAoIXVwZGF0ZS5lcXVhbHMobm9kZS5kYXRhKSkge1xuICAgICAgICBlZGl0b3IuY2hhbmdlKChjKSA9PiBjLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBzdGFydFJlc2l6aW5nID0gKGUpID0+IHtcbiAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBib3ggPSB0aGlzLmltZztcbiAgICBjb25zdCBkaW1lbnNpb25zID0ge1xuICAgICAgd2lkdGg6IChib3ggJiYgYm94Lm5hdHVyYWxXaWR0aCkgfHwgMTAwLFxuICAgICAgaGVpZ2h0OiAoYm94ICYmIGJveC5uYXR1cmFsSGVpZ2h0KSB8fCAxMDAsXG4gICAgfTtcblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy51cGRhdGVJbWFnZURpbWVuc2lvbnMoXG4gICAgICBkaW1lbnNpb25zLFxuICAgICAge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcCxcbiAgICAgIH0sXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBjb25zdCBoYXNNaW5pbXVtV2lkdGggPSB3aWR0aCA+IDUwICYmIGhlaWdodCA+IDUwO1xuICAgIGNvbnN0IGhhc0RpbWVuc2lvbnNDb25zdHJhaW50cyA9IHdpZHRoIDw9IDcwMCAmJiBoZWlnaHQgPD0gOTAwO1xuXG4gICAgaWYgKGhhc01pbmltdW1XaWR0aCAmJiBoYXNEaW1lbnNpb25zQ29uc3RyYWludHMgJiYgYm94KSB7XG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGRpbWVuc2lvbnM6IHsgaGVpZ2h0OiBoZWlnaHQsIHdpZHRoOiB3aWR0aCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgbm9kZSwgZWRpdG9yIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBsZXQgdXBkYXRlID0gbm9kZS5kYXRhO1xuXG4gICAgICB1cGRhdGUgPSB1cGRhdGUuc2V0KCd3aWR0aCcsIHdpZHRoKTtcbiAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5zZXQoJ2hlaWdodCcsIGhlaWdodCk7XG5cbiAgICAgIGlmICghdXBkYXRlLmVxdWFscyhub2RlLmRhdGEpKSB7XG4gICAgICAgIGVkaXRvci5jaGFuZ2UoKGMpID0+IGMuc2V0Tm9kZUJ5S2V5KG5vZGUua2V5LCB7IGRhdGE6IHVwZGF0ZSB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHN0b3BSZXNpemluZyA9ICgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5zdGFydFJlc2l6aW5nLCBmYWxzZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLnN0b3BSZXNpemluZywgZmFsc2UpO1xuICB9O1xuXG4gIHVwZGF0ZUltYWdlRGltZW5zaW9ucyA9IChpbml0aWFsRGltLCBuZXh0RGltLCBrZWVwQXNwZWN0UmF0aW8sIHJlc2l6ZVR5cGUpID0+IHtcbiAgICAvLyBpZiB3ZSB3YW50IHRvIGtlZXAgaW1hZ2UgYXNwZWN0IHJhdGlvXG4gICAgaWYgKGtlZXBBc3BlY3RSYXRpbykge1xuICAgICAgY29uc3QgaW1hZ2VBc3BlY3RSYXRpbyA9IGluaXRpYWxEaW0ud2lkdGggLyBpbml0aWFsRGltLmhlaWdodDtcblxuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSB7XG4gICAgICAgIC8vIGlmIHdlIHdhbnQgdG8gY2hhbmdlIGltYWdlIGhlaWdodCA9PiB3ZSB1cGRhdGUgdGhlIHdpZHRoIGFjY29yZGluZ2x5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgd2lkdGg6IG5leHREaW0uaGVpZ2h0ICogaW1hZ2VBc3BlY3RSYXRpbyxcbiAgICAgICAgICBoZWlnaHQ6IG5leHREaW0uaGVpZ2h0LFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSB3YW50IHRvIGNoYW5nZSBpbWFnZSB3aWR0aCA9PiB3ZSB1cGRhdGUgdGhlIGhlaWdodCBhY2NvcmRpbmdseVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IG5leHREaW0ud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV4dERpbS53aWR0aCAvIGltYWdlQXNwZWN0UmF0aW8sXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBhc3BlY3QgcmF0aW8sIHdlIGp1c3QgdXBkYXRlIGJvdGggdmFsdWVzXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBuZXh0RGltLndpZHRoLFxuICAgICAgaGVpZ2h0OiBuZXh0RGltLmhlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IG5vZGUsIGVkaXRvciwgY2xhc3NlcywgYXR0cmlidXRlcywgb25Gb2N1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhY3RpdmUgPSBlZGl0b3IudmFsdWUuaXNGb2N1c2VkICYmIGVkaXRvci52YWx1ZS5zZWxlY3Rpb24uaGFzRWRnZUluKG5vZGUpO1xuICAgIGNvbnN0IHNyYyA9IG5vZGUuZGF0YS5nZXQoJ3NyYycpO1xuICAgIGNvbnN0IGxvYWRlZCA9IG5vZGUuZGF0YS5nZXQoJ2xvYWRlZCcpICE9PSBmYWxzZTtcbiAgICBjb25zdCBkZWxldGVTdGF0dXMgPSBub2RlLmRhdGEuZ2V0KCdkZWxldGVTdGF0dXMnKTtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBub2RlLmRhdGEuZ2V0KCdhbGlnbm1lbnQnKTtcbiAgICBjb25zdCBwZXJjZW50ID0gbm9kZS5kYXRhLmdldCgncGVyY2VudCcpO1xuICAgIGNvbnN0IGFsdCA9IG5vZGUuZGF0YS5nZXQoJ2FsdCcpO1xuICAgIGxldCBqdXN0aWZ5Q29udGVudDtcblxuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAganVzdGlmeUNvbnRlbnQgPSAnZmxleC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdjZW50ZXInO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LWVuZCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBqdXN0aWZ5Q29udGVudCA9ICdmbGV4LXN0YXJ0JztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxvZygnW3JlbmRlcl0gbm9kZS5kYXRhOicsIG5vZGUuZGF0YSk7XG5cbiAgICBjb25zdCBzaXplID0gdGhpcy5nZXRTaXplKG5vZGUuZGF0YSk7XG5cbiAgICBsb2coJ1tyZW5kZXJdIHN0eWxlOicsIHNpemUpO1xuXG4gICAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NOYW1lcyhcbiAgICAgIGNsYXNzZXMucm9vdCxcbiAgICAgICFsb2FkZWQgJiYgY2xhc3Nlcy5sb2FkaW5nLFxuICAgICAgZGVsZXRlU3RhdHVzID09PSAncGVuZGluZycgJiYgY2xhc3Nlcy5wZW5kaW5nRGVsZXRlLFxuICAgICk7XG5cbiAgICBjb25zdCBwcm9ncmVzc0NsYXNzZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMucHJvZ3Jlc3MsIGxvYWRlZCAmJiBjbGFzc2VzLmhpZGVQcm9ncmVzcyk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPHNwYW4ga2V5PXsnc3AxJ30+Jm5ic3A7PC9zcGFuPixcbiAgICAgIDxkaXYga2V5PXsnY29tcCd9IG9uRm9jdXM9e29uRm9jdXN9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBzdHlsZT17eyBqdXN0aWZ5Q29udGVudCB9fT5cbiAgICAgICAgPExpbmVhclByb2dyZXNzIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIHZhbHVlPXtwZXJjZW50ID4gMCA/IHBlcmNlbnQgOiAwfSBjbGFzc05hbWU9e3Byb2dyZXNzQ2xhc3Nlc30gLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2VDb250YWluZXJ9PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIGFjdGl2ZSAmJiBjbGFzc2VzLmFjdGl2ZSl9XG4gICAgICAgICAgICByZWY9eyhyZWYpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pbWcgPSByZWY7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc3JjPXtzcmN9XG4gICAgICAgICAgICBzdHlsZT17c2l6ZX1cbiAgICAgICAgICAgIG9uTG9hZD17dGhpcy5sb2FkSW1hZ2V9XG4gICAgICAgICAgICBhbHQ9e2FsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHJlZj17KHJlZikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlc2l6ZSA9IHJlZjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PixcbiAgICAgIDxzcGFuIGtleT17J3NwMid9PiZuYnNwOzwvc3Bhbj4sXG4gICAgXTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHBvcnRhbDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIG9wYWNpdHk6IDAsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZmxvYXRpbmdCdXR0b25Sb3c6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcbiAgICBib3JkZXJSYWRpdXM6ICcxcHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5ncmV5WzIwMF19YCxcbiAgICBib3hTaGFkb3c6XG4gICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBoaWRlUHJvZ3Jlc3M6IHtcbiAgICBvcGFjaXR5OiAwLFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGV9YCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZGVsZXRlOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgfSxcbiAgfSxcbiAgYWN0aXZlOiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxuICBkcmF3YWJsZUhlaWdodDoge1xuICAgIG1pbkhlaWdodDogMzUwLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb21wb25lbnQpO1xuIl19
|
|
419
|
+
//# sourceMappingURL=component.js.map
|