@sankei-arc-shared-components/element_icon 0.2.0 → 0.3.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/build/index.js CHANGED
@@ -5,7 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports["default"] = exports.SITE_KEYS = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
11
 
10
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
13
 
@@ -17,142 +19,25 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
18
20
  var _fusionContext = require("fusion:context");
19
21
 
20
- var GQ = function GQ(props) {
21
- var _useFusionContext = (0, _fusionContext.useFusionContext)(),
22
- contextPath = _useFusionContext.contextPath,
23
- deployment = _useFusionContext.deployment;
24
-
25
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
26
- src: deployment("".concat(contextPath, "/resources/icons/gq.svg"))
27
- }));
28
- };
29
-
30
- var Ironna = function Ironna(props) {
31
- var _useFusionContext2 = (0, _fusionContext.useFusionContext)(),
32
- contextPath = _useFusionContext2.contextPath,
33
- deployment = _useFusionContext2.deployment;
34
-
35
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
36
- src: deployment("".concat(contextPath, "/resources/icons/ironna.svg"))
37
- }));
38
- };
39
-
40
- var JapanForward = function JapanForward(props) {
41
- var _useFusionContext3 = (0, _fusionContext.useFusionContext)(),
42
- contextPath = _useFusionContext3.contextPath,
43
- deployment = _useFusionContext3.deployment;
44
-
45
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
46
- src: deployment("".concat(contextPath, "/resources/icons/japanforward.svg"))
47
- }));
48
- };
49
-
50
- var Sankei = function Sankei(props) {
51
- var _useFusionContext4 = (0, _fusionContext.useFusionContext)(),
52
- contextPath = _useFusionContext4.contextPath,
53
- deployment = _useFusionContext4.deployment;
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
54
23
 
55
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
56
- src: deployment("".concat(contextPath, "/resources/icons/sankei.svg"))
57
- }));
58
- };
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
59
25
 
60
- var Member = function Member(props) {
61
- var _useFusionContext5 = (0, _fusionContext.useFusionContext)(),
62
- contextPath = _useFusionContext5.contextPath,
63
- deployment = _useFusionContext5.deployment;
26
+ var IconImg = function IconImg(name) {
27
+ return function (props) {
28
+ var _useFusionContext = (0, _fusionContext.useFusionContext)(),
29
+ contextPath = _useFusionContext.contextPath,
30
+ deployment = _useFusionContext.deployment;
64
31
 
65
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
66
- src: deployment("".concat(contextPath, "/resources/icons/member.svg"))
67
- }));
68
- };
69
-
70
- var Naniwa = function Naniwa(props) {
71
- var _useFusionContext6 = (0, _fusionContext.useFusionContext)(),
72
- contextPath = _useFusionContext6.contextPath,
73
- deployment = _useFusionContext6.deployment;
74
-
75
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
76
- src: deployment("".concat(contextPath, "/resources/icons/naniwa.svg"))
77
- }));
32
+ return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
33
+ src: deployment("".concat(contextPath, "/resources/icons/").concat(name, ".svg"))
34
+ }));
35
+ };
78
36
  };
79
37
 
80
- var Sankeisyo = function Sankeisyo(props) {
81
- var _useFusionContext7 = (0, _fusionContext.useFusionContext)(),
82
- contextPath = _useFusionContext7.contextPath,
83
- deployment = _useFusionContext7.deployment;
84
-
85
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
86
- src: deployment("".concat(contextPath, "/resources/icons/sankeisyo.svg"))
87
- }));
88
- };
89
-
90
- var Seiron = function Seiron(props) {
91
- var _useFusionContext8 = (0, _fusionContext.useFusionContext)(),
92
- contextPath = _useFusionContext8.contextPath,
93
- deployment = _useFusionContext8.deployment;
94
-
95
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
96
- src: deployment("".concat(contextPath, "/resources/icons/seiron.svg"))
97
- }));
98
- };
99
-
100
- var Wired = function Wired(props) {
101
- var _useFusionContext9 = (0, _fusionContext.useFusionContext)(),
102
- contextPath = _useFusionContext9.contextPath,
103
- deployment = _useFusionContext9.deployment;
104
-
105
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
106
- src: deployment("".concat(contextPath, "/resources/icons/wired.svg"))
107
- }));
108
- };
109
-
110
- var Facebook = function Facebook(_ref) {
38
+ var Bars = function Bars(_ref) {
111
39
  var fillColor = _ref.fillColor,
112
40
  props = (0, _objectWithoutProperties2["default"])(_ref, ["fillColor"]);
113
-
114
- var _useFusionContext10 = (0, _fusionContext.useFusionContext)(),
115
- contextPath = _useFusionContext10.contextPath,
116
- deployment = _useFusionContext10.deployment;
117
-
118
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
119
- src: deployment("".concat(contextPath, "/resources/icons/facebook.svg"))
120
- }));
121
- };
122
-
123
- var Line = function Line(props) {
124
- var _useFusionContext11 = (0, _fusionContext.useFusionContext)(),
125
- contextPath = _useFusionContext11.contextPath,
126
- deployment = _useFusionContext11.deployment;
127
-
128
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
129
- src: deployment("".concat(contextPath, "/resources/icons/line.svg"))
130
- }));
131
- };
132
-
133
- var Twitter = function Twitter(props) {
134
- var _useFusionContext12 = (0, _fusionContext.useFusionContext)(),
135
- contextPath = _useFusionContext12.contextPath,
136
- deployment = _useFusionContext12.deployment;
137
-
138
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
139
- src: deployment("".concat(contextPath, "/resources/icons/twitter.svg"))
140
- }));
141
- };
142
-
143
- var Youtube = function Youtube(props) {
144
- var _useFusionContext13 = (0, _fusionContext.useFusionContext)(),
145
- contextPath = _useFusionContext13.contextPath,
146
- deployment = _useFusionContext13.deployment;
147
-
148
- return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
149
- src: deployment("".concat(contextPath, "/resources/icons/youtube.svg"))
150
- }));
151
- };
152
-
153
- var Bars = function Bars(_ref2) {
154
- var fillColor = _ref2.fillColor,
155
- props = (0, _objectWithoutProperties2["default"])(_ref2, ["fillColor"]);
156
41
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
157
42
  "data-name": "Group 16",
158
43
  xmlns: "http://www.w3.org/2000/svg",
@@ -171,11 +56,11 @@ var Bars = function Bars(_ref2) {
171
56
  })));
172
57
  };
173
58
 
174
- var BorderArrowLeft = function BorderArrowLeft(_ref3) {
175
- var fillColor = _ref3.fillColor,
176
- backgroundColor = _ref3.backgroundColor,
177
- strokeColor = _ref3.strokeColor,
178
- props = (0, _objectWithoutProperties2["default"])(_ref3, ["fillColor", "backgroundColor", "strokeColor"]);
59
+ var BorderArrowLeft = function BorderArrowLeft(_ref2) {
60
+ var fillColor = _ref2.fillColor,
61
+ backgroundColor = _ref2.backgroundColor,
62
+ strokeColor = _ref2.strokeColor,
63
+ props = (0, _objectWithoutProperties2["default"])(_ref2, ["fillColor", "backgroundColor", "strokeColor"]);
179
64
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
180
65
  viewBox: "0 0 44 44",
181
66
  fill: "none",
@@ -195,11 +80,11 @@ var BorderArrowLeft = function BorderArrowLeft(_ref3) {
195
80
  }));
196
81
  };
197
82
 
198
- var BorderArrowRight = function BorderArrowRight(_ref4) {
199
- var fillColor = _ref4.fillColor,
200
- backgroundColor = _ref4.backgroundColor,
201
- strokeColor = _ref4.strokeColor,
202
- props = (0, _objectWithoutProperties2["default"])(_ref4, ["fillColor", "backgroundColor", "strokeColor"]);
83
+ var BorderArrowRight = function BorderArrowRight(_ref3) {
84
+ var fillColor = _ref3.fillColor,
85
+ backgroundColor = _ref3.backgroundColor,
86
+ strokeColor = _ref3.strokeColor,
87
+ props = (0, _objectWithoutProperties2["default"])(_ref3, ["fillColor", "backgroundColor", "strokeColor"]);
203
88
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
204
89
  viewBox: "0 0 44 44",
205
90
  fill: "none",
@@ -218,9 +103,9 @@ var BorderArrowRight = function BorderArrowRight(_ref4) {
218
103
  }));
219
104
  };
220
105
 
221
- var Chevron = function Chevron(_ref5) {
222
- var fillColor = _ref5.fillColor,
223
- props = (0, _objectWithoutProperties2["default"])(_ref5, ["fillColor"]);
106
+ var Chevron = function Chevron(_ref4) {
107
+ var fillColor = _ref4.fillColor,
108
+ props = (0, _objectWithoutProperties2["default"])(_ref4, ["fillColor"]);
224
109
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
225
110
  "data-name": "Group 16",
226
111
  xmlns: "http://www.w3.org/2000/svg",
@@ -236,9 +121,9 @@ var Chevron = function Chevron(_ref5) {
236
121
  }));
237
122
  };
238
123
 
239
- var ChevronUp = function ChevronUp(_ref6) {
240
- var fillColor = _ref6.fillColor,
241
- props = (0, _objectWithoutProperties2["default"])(_ref6, ["fillColor"]);
124
+ var ChevronUp = function ChevronUp(_ref5) {
125
+ var fillColor = _ref5.fillColor,
126
+ props = (0, _objectWithoutProperties2["default"])(_ref5, ["fillColor"]);
242
127
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
243
128
  "data-name": "Group 16",
244
129
  xmlns: "http://www.w3.org/2000/svg",
@@ -254,9 +139,9 @@ var ChevronUp = function ChevronUp(_ref6) {
254
139
  }));
255
140
  };
256
141
 
257
- var ChevronDown = function ChevronDown(_ref7) {
258
- var fillColor = _ref7.fillColor,
259
- props = (0, _objectWithoutProperties2["default"])(_ref7, ["fillColor"]);
142
+ var ChevronDown = function ChevronDown(_ref6) {
143
+ var fillColor = _ref6.fillColor,
144
+ props = (0, _objectWithoutProperties2["default"])(_ref6, ["fillColor"]);
260
145
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
261
146
  "data-name": "Group 16",
262
147
  xmlns: "http://www.w3.org/2000/svg",
@@ -272,9 +157,9 @@ var ChevronDown = function ChevronDown(_ref7) {
272
157
  }));
273
158
  };
274
159
 
275
- var ChevronRight = function ChevronRight(_ref8) {
276
- var fillColor = _ref8.fillColor,
277
- props = (0, _objectWithoutProperties2["default"])(_ref8, ["fillColor"]);
160
+ var ChevronRight = function ChevronRight(_ref7) {
161
+ var fillColor = _ref7.fillColor,
162
+ props = (0, _objectWithoutProperties2["default"])(_ref7, ["fillColor"]);
278
163
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
279
164
  "data-name": "Group 16",
280
165
  xmlns: "http://www.w3.org/2000/svg",
@@ -290,9 +175,9 @@ var ChevronRight = function ChevronRight(_ref8) {
290
175
  }));
291
176
  };
292
177
 
293
- var Lock = function Lock(_ref9) {
294
- var fillColor = _ref9.fillColor,
295
- props = (0, _objectWithoutProperties2["default"])(_ref9, ["fillColor"]);
178
+ var Lock = function Lock(_ref8) {
179
+ var fillColor = _ref8.fillColor,
180
+ props = (0, _objectWithoutProperties2["default"])(_ref8, ["fillColor"]);
296
181
  return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
297
182
  viewBox: "0 0 19 16",
298
183
  xmlns: "http://www.w3.org/2000/svg"
@@ -336,7 +221,10 @@ var Times = function Times(props) {
336
221
  }));
337
222
  };
338
223
 
339
- var icons = {
224
+ var SITE_KEYS = ['facebook', 'gq', 'ironna', 'japan-forward', 'line', 'sankei', 'member', 'twitter', 'youtube', 'wired', 'sankeisyo', 'naniwa', 'seiron', 'instagram'];
225
+ exports.SITE_KEYS = SITE_KEYS;
226
+
227
+ var icons = _objectSpread({
340
228
  bars: {
341
229
  Component: Bars
342
230
  },
@@ -358,61 +246,26 @@ var icons = {
358
246
  'chevron-right': {
359
247
  Component: ChevronRight
360
248
  },
361
- facebook: {
362
- Component: Facebook
363
- },
364
- gq: {
365
- Component: GQ
366
- },
367
- ironna: {
368
- Component: Ironna
369
- },
370
- 'japan-forward': {
371
- Component: JapanForward
372
- },
373
- line: {
374
- Component: Line
375
- },
376
249
  lock: {
377
250
  Component: Lock
378
251
  },
379
- sankei: {
380
- Component: Sankei
381
- },
382
- member: {
383
- Component: Member
384
- },
385
252
  search: {
386
253
  Component: Search
387
254
  },
388
255
  times: {
389
256
  Component: Times
390
- },
391
- twitter: {
392
- Component: Twitter
393
- },
394
- youtube: {
395
- Component: Youtube
396
- },
397
- wired: {
398
- Component: Wired
399
- },
400
- sankeisyo: {
401
- Component: Sankeisyo
402
- },
403
- naniwa: {
404
- Component: Naniwa
405
- },
406
- seiron: {
407
- Component: Seiron
408
257
  }
409
- };
258
+ }, SITE_KEYS.reduce(function (acc, cur) {
259
+ return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, cur, {
260
+ Component: IconImg(cur)
261
+ }));
262
+ }, {}));
410
263
 
411
- var Icon = function Icon(_ref10) {
412
- var name = _ref10.name,
413
- props = (0, _objectWithoutProperties2["default"])(_ref10, ["name"]);
264
+ var Icon = function Icon(_ref9) {
265
+ var name = _ref9.name,
266
+ props = (0, _objectWithoutProperties2["default"])(_ref9, ["name"]);
414
267
 
415
- if (icons[name]) {
268
+ if (typeof icons[name] !== 'undefined') {
416
269
  var Component = icons[name].Component;
417
270
  return /*#__PURE__*/_react["default"].createElement(Component, props);
418
271
  }
@@ -436,9 +289,6 @@ BorderArrowRight.propTypes = {
436
289
  backgroundColor: _propTypes["default"].string,
437
290
  strokeColor: _propTypes["default"].string
438
291
  };
439
- Facebook.propTypes = {
440
- fillColor: _propTypes["default"].string
441
- };
442
292
  Chevron.propTypes = {
443
293
  fillColor: _propTypes["default"].string
444
294
  };
@@ -454,18 +304,6 @@ ChevronRight.propTypes = {
454
304
  Lock.propTypes = {
455
305
  fillColor: _propTypes["default"].string
456
306
  };
457
- Ironna.propTypes = {
458
- className: _propTypes["default"].string
459
- };
460
- Sankeisyo.propTypes = {
461
- fillColor: _propTypes["default"].string
462
- };
463
- Naniwa.propTypes = {
464
- fillColor: _propTypes["default"].string
465
- };
466
- Seiron.propTypes = {
467
- fillColor: _propTypes["default"].string
468
- };
469
307
  var _default = Icon;
470
308
  exports["default"] = _default;
471
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVua25vd24iXSwibmFtZXMiOlsiR1EiLCJwcm9wcyIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsIklyb25uYSIsIkphcGFuRm9yd2FyZCIsIlNhbmtlaSIsIk1lbWJlciIsIk5hbml3YSIsIlNhbmtlaXN5byIsIlNlaXJvbiIsIldpcmVkIiwiRmFjZWJvb2siLCJmaWxsQ29sb3IiLCJMaW5lIiwiVHdpdHRlciIsIllvdXR1YmUiLCJCYXJzIiwiQm9yZGVyQXJyb3dMZWZ0IiwiYmFja2dyb3VuZENvbG9yIiwic3Ryb2tlQ29sb3IiLCJCb3JkZXJBcnJvd1JpZ2h0IiwiQ2hldnJvbiIsIkNoZXZyb25VcCIsIkNoZXZyb25Eb3duIiwiQ2hldnJvblJpZ2h0IiwiTG9jayIsIlNlYXJjaCIsIlRpbWVzIiwiaWNvbnMiLCJiYXJzIiwiQ29tcG9uZW50IiwiY2hldnJvbiIsImZhY2Vib29rIiwiZ3EiLCJpcm9ubmEiLCJsaW5lIiwibG9jayIsInNhbmtlaSIsIm1lbWJlciIsInNlYXJjaCIsInRpbWVzIiwidHdpdHRlciIsInlvdXR1YmUiLCJ3aXJlZCIsInNhbmtlaXN5byIsIm5hbml3YSIsInNlaXJvbiIsIkljb24iLCJuYW1lIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLEVBQUUsR0FBRyxTQUFMQSxFQUFLLENBQUNDLEtBQUQsRUFBVztBQUFBLDBCQUNnQixzQ0FEaEI7QUFBQSxNQUNaQyxXQURZLHFCQUNaQSxXQURZO0FBQUEsTUFDQ0MsVUFERCxxQkFDQ0EsVUFERDs7QUFFcEIsc0JBQU8scUVBQVVGLEtBQVY7QUFBa0IsSUFBQSxHQUFHLEVBQUVFLFVBQVUsV0FBSUQsV0FBSjtBQUFqQyxLQUFQO0FBQ0QsQ0FIRDs7QUFLQSxJQUFNRSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDSCxLQUFE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QUFFc0Msc0JBQVVDO0FBREQsQ0FBdEI7QUFJQTVDLE1BQU0sQ0FBQzBDLFNBQVAsR0FBbUI7QUFDakJyQyxFQUFBQSxTQUFTLEVBQUVzQyxzQkFBVUM7QUFESixDQUFuQjtBQUlBMUMsTUFBTSxDQUFDd0MsU0FBUCxHQUFtQjtBQUNqQnJDLEVBQUFBLFNBQVMsRUFBRXNDLHNCQUFVQztBQURKLENBQW5CO2VBSWVKLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHVzZUZ1c2lvbkNvbnRleHQgfSBmcm9tICdmdXNpb246Y29udGV4dCc7XG5cbmNvbnN0IEdRID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL2dxLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IElyb25uYSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9pcm9ubmEuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgSmFwYW5Gb3J3YXJkID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL2phcGFuZm9yd2FyZC5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBTYW5rZWkgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvc2Fua2VpLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IE1lbWJlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9tZW1iZXIuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgTmFuaXdhID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL25hbml3YS5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBTYW5rZWlzeW8gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvc2Fua2Vpc3lvLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IFNlaXJvbiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9zZWlyb24uc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgV2lyZWQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvd2lyZWQuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgRmFjZWJvb2sgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvZmFjZWJvb2suc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgTGluZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9saW5lLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IFR3aXR0ZXIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvdHdpdHRlci5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBZb3V0dWJlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL3lvdXR1YmUuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgQmFycyA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPGcgZmlsbD17ZmlsbENvbG9yIHx8ICcjOTk5J30+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMi42N2gzMlYwSDB6XCIvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0wIDEzLjMzaDMydi0yLjY2SDB6XCIvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAzXCIgZD1cIk0wIDI0aDMydi0yLjY3SDB6XCIvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd0xlZnQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIC4uLnByb3BzXG59KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wc30gdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxyZWN0IHg9XCI0My41XCIgeT1cIjQzLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtMTgwIDQzLjUgNDMuNSlcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9Lz5cbiAgICA8cGF0aCBkPVwiTTI0IDI4TDI1LjQxIDI2LjU5TDIwLjgzIDIyTDI1LjQxIDE3LjQxTDI0IDE2TDE4IDIyTDI0IDI4WlwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Qid9Lz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd1JpZ2h0ID0gKHtcbiAgZmlsbENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHN0cm9rZUNvbG9yLCAuLi5wcm9wc1xufSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiNDNcIiBoZWlnaHQ9XCI0M1wiIHJ4PVwiMy41XCIgZmlsbD17YmFja2dyb3VuZENvbG9yIHx8ICd3aGl0ZSd9IHN0cm9rZT17c3Ryb2tlQ29sb3IgfHwgJ25vbmUnfS8+XG4gICAgPHBhdGggZD1cIk0yMCAxNkwxOC41OSAxNy40MUwyMy4xNyAyMkwxOC41OSAyNi41OUwyMCAyOEwyNiAyMkwyMCAxNlpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfS8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbiA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xMy4yMyAxNmw3LjA3LTcuMDdhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDBMOS43IDE1LjI5YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MnpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyM5OTknfS8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblVwID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTMyIDMyVjBIMHYzMnpcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDEzLjIzbDcuMDcgNy4wN2ExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MkwxNi43MSA5LjdhMSAxIDAgMDAtMS40MiAwbC04LjQ4IDguNDhhMSAxIDAgMDAwIDEuNDJsLjcuN2ExIDEgMCAwMDEuNDIgMHpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN2InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb25Eb3duID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDE4Ljc3TDguOTMgMTEuN2ExIDEgMCAwMC0xLjQxIDBsLS43MS43YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDB6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBDaGV2cm9uUmlnaHQgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7IC4uLnByb3BzIH0gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xOC43NyAxNmwtNy4wNyA3LjA3YTEgMSAwIDAwMCAxLjQybC43LjdhMSAxIDAgMDAxLjQyIDBsOC40OC04LjQ4YTEgMSAwIDAwMC0xLjQybC04LjQ4LTguNDhhMSAxIDAgMDAtMS40MiAwbC0uNy43YTEgMSAwIDAwMCAxLjQyelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9Lz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBMb2NrID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IHZpZXdCb3g9XCIwIDAgMTkgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0xOC4zOSwxNkgzLjYxQS42MS42MSwwLDAsMSwzLDE1LjM5Vi42MUEuNjEuNjEsMCwwLDEsMy42MSwwSDE4LjM5QS42MS42MSwwLDAsMSwxOSwuNjFWMTUuMzlhLjYxLjYxLDAsMCwxLS42MS42MVwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnI2RiYjQwMCd9Lz5cbiAgICA8cGF0aCBkPVwiTTE0LjcyLDcuNTFINy4yOGEuODMuODMsMCwwLDAtLjgzLjgzdjQuOTJhMS40MywxLjQzLDAsMCwwLDEuNDMsMS40M2g2LjI0YTEuNDMsMS40MywwLDAsMCwxLjQzLTEuNDNWOC4zNGEuODMuODMsMCwwLDAtLjgzLS44M1ptLTIuNjcsNS4zM2EuMjQuMjQsMCwwLDEtLjE4LjI5SDEwLjE4YS4yNC4yNCwwLDAsMS0uMjQtLjI0LjEzLjEzLDAsMCwxLDAtLjA2bC40MS0xLjczYTEuMTMsMS4xMywwLDEsMSwxLjU3LS4yOSwxLjMzLDEuMzMsMCwwLDEtLjI5LjI5WlwiIGZpbGw9XCIjZmZmXCIvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzEsNi45NGgtMS42VjUuMDhhMi4xNiwyLjE2LDAsMCwwLTQuMzIsMFY2Ljk0SDcuMTlWNS4wOGEzLjc2LDMuNzYsMCwxLDEsNy41MiwwWlwiIGZpbGw9XCIjZmZmXCIvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IFNlYXJjaCA9IChwcm9wcykgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxnIGRhdGEtbmFtZT1cIkdyb3VwIDNcIj5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkNsaXAgMlwiIGQ9XCJNMCAwaDMydjMySDB6XCIgZmlsbD1cIm5vbmVcIi8+XG4gICAgICA8ZyBkYXRhLW5hbWU9XCJHcm91cCAzXCI+XG4gICAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzAgMzJhMS45OSAxLjk5IDAgMDEtMS40MS0uNTlsLTcuOTMtNy45MkExMi45OSAxMi45OSAwIDAxMCAxM2ExMyAxMyAwIDAxMjIuMi05LjIgMTIuOTcgMTIuOTcgMCAwMTEuMjkgMTYuODZsNy45MiA3LjkzQTIgMiAwIDAxMzAgMzJ6TTEzIDRhOSA5IDAgMTA5IDkgOS4wMSA5LjAxIDAgMDAtOS05elwiIGZpbGw9XCIjOTk5XCIvPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBUaW1lcyA9IChwcm9wcykgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSB2aWV3Qm94PVwiMCAwIDM1MiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0yNDIuNzIgMjU2bDEwMC4wNy0xMDAuMDdhMzEuNDYgMzEuNDYgMCAwMDAtNDQuNDhsLTIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAtNDQuNDggMEwxNzYgMTg5LjI4IDc1LjkzIDg5LjIxYTMxLjQ2IDMxLjQ2IDAgMDAtNDQuNDggMEw5LjIxIDExMS40NWEzMS40NiAzMS40NiAwIDAwMCA0NC40OEwxMDkuMjggMjU2IDkuMjEgMzU2LjA3YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4bDIyLjI0IDIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwTDE3NiAzMjIuNzJsMTAwLjA3IDEwMC4wN2EzMS40NiAzMS40NiAwIDAwNDQuNDggMGwyMi4yNC0yMi4yNGEzMS40NiAzMS40NiAwIDAwMC00NC40OEwyNDIuNzIgMjU2elwiLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBpY29ucyA9IHtcbiAgYmFyczoge1xuICAgIENvbXBvbmVudDogQmFycyxcbiAgfSxcbiAgJ2JvcmRlci1hcnJvdy1sZWZ0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dMZWZ0LFxuICB9LFxuICAnYm9yZGVyLWFycm93LXJpZ2h0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dSaWdodCxcbiAgfSxcbiAgY2hldnJvbjoge1xuICAgIENvbXBvbmVudDogQ2hldnJvbixcbiAgfSxcbiAgJ2NoZXZyb24tdXAnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uVXAsXG4gIH0sXG4gICdjaGV2cm9uLWRvd24nOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uRG93bixcbiAgfSxcbiAgJ2NoZXZyb24tcmlnaHQnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uUmlnaHQsXG4gIH0sXG4gIGZhY2Vib29rOiB7XG4gICAgQ29tcG9uZW50OiBGYWNlYm9vayxcbiAgfSxcbiAgZ3E6IHtcbiAgICBDb21wb25lbnQ6IEdRLFxuICB9LFxuICBpcm9ubmE6IHtcbiAgICBDb21wb25lbnQ6IElyb25uYSxcbiAgfSxcbiAgJ2phcGFuLWZvcndhcmQnOiB7XG4gICAgQ29tcG9uZW50OiBKYXBhbkZvcndhcmQsXG4gIH0sXG4gIGxpbmU6IHtcbiAgICBDb21wb25lbnQ6IExpbmUsXG4gIH0sXG4gIGxvY2s6IHtcbiAgICBDb21wb25lbnQ6IExvY2ssXG4gIH0sXG4gIHNhbmtlaToge1xuICAgIENvbXBvbmVudDogU2Fua2VpLFxuICB9LFxuICBtZW1iZXI6IHtcbiAgICBDb21wb25lbnQ6IE1lbWJlcixcbiAgfSxcbiAgc2VhcmNoOiB7XG4gICAgQ29tcG9uZW50OiBTZWFyY2gsXG4gIH0sXG4gIHRpbWVzOiB7XG4gICAgQ29tcG9uZW50OiBUaW1lcyxcbiAgfSxcbiAgdHdpdHRlcjoge1xuICAgIENvbXBvbmVudDogVHdpdHRlcixcbiAgfSxcbiAgeW91dHViZToge1xuICAgIENvbXBvbmVudDogWW91dHViZSxcbiAgfSxcbiAgd2lyZWQ6IHtcbiAgICBDb21wb25lbnQ6IFdpcmVkLFxuICB9LFxuICBzYW5rZWlzeW86IHtcbiAgICBDb21wb25lbnQ6IFNhbmtlaXN5byxcbiAgfSxcbiAgbmFuaXdhOiB7XG4gICAgQ29tcG9uZW50OiBOYW5pd2EsXG4gIH0sXG4gIHNlaXJvbjoge1xuICAgIENvbXBvbmVudDogU2Vpcm9uLFxuICB9LFxufTtcblxuY29uc3QgSWNvbiA9ICh7IG5hbWUsIC4uLnByb3BzIH0pID0+IHtcbiAgaWYgKGljb25zW25hbWVdKSB7XG4gICAgY29uc3QgeyBDb21wb25lbnQgfSA9IGljb25zW25hbWVdO1xuICAgIHJldHVybiA8Q29tcG9uZW50IHsgLi4ucHJvcHMgfSAvPjtcbiAgfVxuXG4gIHJldHVybiBuYW1lO1xufTtcblxuSWNvbi5wcm9wVHlwZXMgPSB7XG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbkJhcnMucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd0xlZnQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGJhY2tncm91bmRDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3Ryb2tlQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd1JpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuRmFjZWJvb2sucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvblVwLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvbkRvd24ucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uUmlnaHQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Mb2NrLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuSXJvbm5hLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuU2Fua2Vpc3lvLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTmFuaXdhLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuU2Vpcm9uLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSWNvbjtcbiJdfQ==
309
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVua25vd24iXSwibmFtZXMiOlsiSWNvbkltZyIsIm5hbWUiLCJwcm9wcyIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsIkJhcnMiLCJmaWxsQ29sb3IiLCJCb3JkZXJBcnJvd0xlZnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2VDb2xvciIsIkJvcmRlckFycm93UmlnaHQiLCJDaGV2cm9uIiwiQ2hldnJvblVwIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uUmlnaHQiLCJMb2NrIiwiU2VhcmNoIiwiVGltZXMiLCJTSVRFX0tFWVMiLCJpY29ucyIsImJhcnMiLCJDb21wb25lbnQiLCJjaGV2cm9uIiwibG9jayIsInNlYXJjaCIsInRpbWVzIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiSWNvbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxJQUFEO0FBQUEsU0FBVSxVQUFDQyxLQUFELEVBQVc7QUFBQSw0QkFDQyxzQ0FERDtBQUFBLFFBQzNCQyxXQUQyQixxQkFDM0JBLFdBRDJCO0FBQUEsUUFDZEMsVUFEYyxxQkFDZEEsVUFEYzs7QUFFbkMsd0JBQU8scUVBQVNGLEtBQVQ7QUFBZ0IsTUFBQSxHQUFHLEVBQUVFLFVBQVUsV0FBSUQsV0FBSiw4QkFBbUNGLElBQW5DO0FBQS9CLE9BQVA7QUFDRCxHQUhlO0FBQUEsQ0FBaEI7O0FBS0EsSUFBTUksSUFBSSxHQUFHLFNBQVBBLElBQU87QUFBQSxNQUFHQyxTQUFILFFBQUdBLFNBQUg7QUFBQSxNQUFpQkosS0FBakI7QUFBQSxzQkFDWCxxRUFBU0EsS0FBVDtBQUFnQixpQkFBVSxVQUExQjtBQUFxQyxJQUFBLEtBQUssRUFBQyw0QkFBM0M7QUFBd0UsSUFBQSxPQUFPLEVBQUM7QUFBaEYsbUJBQ0U7QUFBRyxJQUFBLElBQUksRUFBRUksU0FBUyxJQUFJO0FBQXRCLGtCQUNFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUM7QUFBM0IsSUFERixlQUVFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUM7QUFBM0IsSUFGRixlQUdFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUM7QUFBM0IsSUFIRixDQURGLENBRFc7QUFBQSxDQUFiOztBQVVBLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0I7QUFBQSxNQUN0QkQsU0FEc0IsU0FDdEJBLFNBRHNCO0FBQUEsTUFDWEUsZUFEVyxTQUNYQSxlQURXO0FBQUEsTUFDTUMsV0FETixTQUNNQSxXQUROO0FBQUEsTUFDc0JQLEtBRHRCO0FBQUEsc0JBR3RCLHFFQUFTQSxLQUFUO0FBQWdCLElBQUEsT0FBTyxFQUFDLFdBQXhCO0FBQW9DLElBQUEsSUFBSSxFQUFDLE1BQXpDO0FBQWdELElBQUEsS0FBSyxFQUFDO0FBQXRELG1CQUNFO0FBQU0sSUFBQSxDQUFDLEVBQUMsTUFBUjtBQUFlLElBQUEsQ0FBQyxFQUFDLE1BQWpCO0FBQXdCLElBQUEsS0FBSyxFQUFDLElBQTlCO0FBQW1DLElBQUEsTUFBTSxFQUFDLElBQTFDO0FBQStDLElBQUEsRUFBRSxFQUFDLEtBQWxEO0FBQXdELElBQUEsU0FBUyxFQUFDLHdCQUFsRTtBQUEyRixJQUFBLElBQUksRUFBRU0sZUFBZSxJQUFJLE9BQXBIO0FBQTZILElBQUEsTUFBTSxFQUFFQyxXQUFXLElBQUk7QUFBcEosSUFERixlQUVFO0FBQU0sSUFBQSxDQUFDLEVBQUMsNERBQVI7QUFBcUUsSUFBQSxJQUFJLEVBQUVILFNBQVMsSUFBSTtBQUF4RixJQUZGLENBSHNCO0FBQUEsQ0FBeEI7O0FBU0EsSUFBTUksZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQjtBQUFBLE1BQ3ZCSixTQUR1QixTQUN2QkEsU0FEdUI7QUFBQSxNQUNaRSxlQURZLFNBQ1pBLGVBRFk7QUFBQSxNQUNLQyxXQURMLFNBQ0tBLFdBREw7QUFBQSxNQUNxQlAsS0FEckI7QUFBQSxzQkFHdkIscUVBQVNBLEtBQVQ7QUFBZ0IsSUFBQSxPQUFPLEVBQUMsV0FBeEI7QUFBb0MsSUFBQSxJQUFJLEVBQUMsTUFBekM7QUFBZ0QsSUFBQSxLQUFLLEVBQUM7QUFBdEQsbUJBQ0U7QUFBTSxJQUFBLENBQUMsRUFBQyxLQUFSO0FBQWMsSUFBQSxDQUFDLEVBQUMsS0FBaEI7QUFBc0IsSUFBQSxLQUFLLEVBQUMsSUFBNUI7QUFBaUMsSUFBQSxNQUFNLEVBQUMsSUFBeEM7QUFBNkMsSUFBQSxFQUFFLEVBQUMsS0FBaEQ7QUFBc0QsSUFBQSxJQUFJLEVBQUVNLGVBQWUsSUFBSSxPQUEvRTtBQUF3RixJQUFBLE1BQU0sRUFBRUMsV0FBVyxJQUFJO0FBQS9HLElBREYsZUFFRTtBQUFNLElBQUEsQ0FBQyxFQUFDLDREQUFSO0FBQXFFLElBQUEsSUFBSSxFQUFFSCxTQUFTLElBQUk7QUFBeEYsSUFGRixDQUh1QjtBQUFBLENBQXpCOztBQVNBLElBQU1LLE9BQU8sR0FBRyxTQUFWQSxPQUFVO0FBQUEsTUFBR0wsU0FBSCxTQUFHQSxTQUFIO0FBQUEsTUFBaUJKLEtBQWpCO0FBQUEsc0JBQ2QscUVBQVNBLEtBQVQ7QUFBZ0IsaUJBQVUsVUFBMUI7QUFBcUMsSUFBQSxLQUFLLEVBQUMsNEJBQTNDO0FBQXdFLElBQUEsT0FBTyxFQUFDO0FBQWhGLG1CQUNFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUMsZUFBM0I7QUFBMkMsSUFBQSxJQUFJLEVBQUM7QUFBaEQsSUFERixlQUVFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUMsb0lBQTNCO0FBQWdLLElBQUEsSUFBSSxFQUFFSSxTQUFTLElBQUk7QUFBbkwsSUFGRixDQURjO0FBQUEsQ0FBaEI7O0FBT0EsSUFBTU0sU0FBUyxHQUFHLFNBQVpBLFNBQVk7QUFBQSxNQUFHTixTQUFILFNBQUdBLFNBQUg7QUFBQSxNQUFpQkosS0FBakI7QUFBQSxzQkFDaEIscUVBQVNBLEtBQVQ7QUFBZ0IsaUJBQVUsVUFBMUI7QUFBcUMsSUFBQSxLQUFLLEVBQUMsNEJBQTNDO0FBQXdFLElBQUEsT0FBTyxFQUFDO0FBQWhGLG1CQUNFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUMsZ0JBQTNCO0FBQTRDLElBQUEsSUFBSSxFQUFDO0FBQWpELElBREYsZUFFRTtBQUFNLGlCQUFVLFFBQWhCO0FBQXlCLElBQUEsQ0FBQyxFQUFDLGtJQUEzQjtBQUE4SixJQUFBLElBQUksRUFBRUksU0FBUyxJQUFJO0FBQWpMLElBRkYsQ0FEZ0I7QUFBQSxDQUFsQjs7QUFPQSxJQUFNTyxXQUFXLEdBQUcsU0FBZEEsV0FBYztBQUFBLE1BQUdQLFNBQUgsU0FBR0EsU0FBSDtBQUFBLE1BQWlCSixLQUFqQjtBQUFBLHNCQUNsQixxRUFBU0EsS0FBVDtBQUFnQixpQkFBVSxVQUExQjtBQUFxQyxJQUFBLEtBQUssRUFBQyw0QkFBM0M7QUFBd0UsSUFBQSxPQUFPLEVBQUM7QUFBaEYsbUJBQ0U7QUFBTSxpQkFBVSxRQUFoQjtBQUF5QixJQUFBLENBQUMsRUFBQyxlQUEzQjtBQUEyQyxJQUFBLElBQUksRUFBQztBQUFoRCxJQURGLGVBRUU7QUFBTSxpQkFBVSxRQUFoQjtBQUF5QixJQUFBLENBQUMsRUFBQyxzSUFBM0I7QUFBa0ssSUFBQSxJQUFJLEVBQUVJLFNBQVMsSUFBSTtBQUFyTCxJQUZGLENBRGtCO0FBQUEsQ0FBcEI7O0FBT0EsSUFBTVEsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxNQUFHUixTQUFILFNBQUdBLFNBQUg7QUFBQSxNQUFpQkosS0FBakI7QUFBQSxzQkFDbkIscUVBQVNBLEtBQVQ7QUFBZ0IsaUJBQVUsVUFBMUI7QUFBcUMsSUFBQSxLQUFLLEVBQUMsNEJBQTNDO0FBQXdFLElBQUEsT0FBTyxFQUFDO0FBQWhGLG1CQUNFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUMsZUFBM0I7QUFBMkMsSUFBQSxJQUFJLEVBQUM7QUFBaEQsSUFERixlQUVFO0FBQU0saUJBQVUsUUFBaEI7QUFBeUIsSUFBQSxDQUFDLEVBQUMsbUlBQTNCO0FBQStKLElBQUEsSUFBSSxFQUFFSSxTQUFTLElBQUk7QUFBbEwsSUFGRixDQURtQjtBQUFBLENBQXJCOztBQU9BLElBQU1TLElBQUksR0FBRyxTQUFQQSxJQUFPO0FBQUEsTUFBR1QsU0FBSCxTQUFHQSxTQUFIO0FBQUEsTUFBaUJKLEtBQWpCO0FBQUEsc0JBQ1gscUVBQVNBLEtBQVQ7QUFBZ0IsSUFBQSxPQUFPLEVBQUMsV0FBeEI7QUFBb0MsSUFBQSxLQUFLLEVBQUM7QUFBMUMsbUJBQ0U7QUFBTSxJQUFBLENBQUMsRUFBQyxpSEFBUjtBQUEwSCxJQUFBLElBQUksRUFBRUksU0FBUyxJQUFJO0FBQTdJLElBREYsZUFFRTtBQUFNLElBQUEsQ0FBQyxFQUFDLHFRQUFSO0FBQThRLElBQUEsSUFBSSxFQUFDO0FBQW5SLElBRkYsZUFHRTtBQUFNLElBQUEsQ0FBQyxFQUFDLHFGQUFSO0FBQThGLElBQUEsSUFBSSxFQUFDO0FBQW5HLElBSEYsQ0FEVztBQUFBLENBQWI7O0FBUUEsSUFBTVUsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ2QsS0FBRDtBQUFBLHNCQUNiLHFFQUFTQSxLQUFUO0FBQWdCLElBQUEsT0FBTyxFQUFDLFdBQXhCO0FBQW9DLElBQUEsS0FBSyxFQUFDO0FBQTFDLG1CQUNFO0FBQUcsaUJBQVU7QUFBYixrQkFDRTtBQUFNLGlCQUFVLFFBQWhCO0FBQXlCLElBQUEsQ0FBQyxFQUFDLGVBQTNCO0FBQTJDLElBQUEsSUFBSSxFQUFDO0FBQWhELElBREYsZUFFRTtBQUFHLGlCQUFVO0FBQWIsa0JBQ0U7QUFBTSxpQkFBVSxRQUFoQjtBQUF5QixJQUFBLENBQUMsRUFBQyw0S0FBM0I7QUFBd00sSUFBQSxJQUFJLEVBQUM7QUFBN00sSUFERixDQUZGLENBREYsQ0FEYTtBQUFBLENBQWY7O0FBV0EsSUFBTWUsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQ2YsS0FBRDtBQUFBLHNCQUNaLHFFQUFTQSxLQUFUO0FBQWdCLElBQUEsT0FBTyxFQUFDLGFBQXhCO0FBQXNDLElBQUEsS0FBSyxFQUFDO0FBQTVDLG1CQUNFO0FBQU0sSUFBQSxDQUFDLEVBQUM7QUFBUixJQURGLENBRFk7QUFBQSxDQUFkOztBQU1PLElBQU1nQixTQUFTLEdBQUcsQ0FDdkIsVUFEdUIsRUFFdkIsSUFGdUIsRUFHdkIsUUFIdUIsRUFJdkIsZUFKdUIsRUFLdkIsTUFMdUIsRUFNdkIsUUFOdUIsRUFPdkIsUUFQdUIsRUFRdkIsU0FSdUIsRUFTdkIsU0FUdUIsRUFVdkIsT0FWdUIsRUFXdkIsV0FYdUIsRUFZdkIsUUFadUIsRUFhdkIsUUFidUIsRUFjdkIsV0FkdUIsQ0FBbEI7OztBQWlCUCxJQUFNQyxLQUFLO0FBQ1RDLEVBQUFBLElBQUksRUFBRTtBQUNKQyxJQUFBQSxTQUFTLEVBQUVoQjtBQURQLEdBREc7QUFJVCx1QkFBcUI7QUFDbkJnQixJQUFBQSxTQUFTLEVBQUVkO0FBRFEsR0FKWjtBQU9ULHdCQUFzQjtBQUNwQmMsSUFBQUEsU0FBUyxFQUFFWDtBQURTLEdBUGI7QUFVVFksRUFBQUEsT0FBTyxFQUFFO0FBQ1BELElBQUFBLFNBQVMsRUFBRVY7QUFESixHQVZBO0FBYVQsZ0JBQWM7QUFDWlUsSUFBQUEsU0FBUyxFQUFFVDtBQURDLEdBYkw7QUFnQlQsa0JBQWdCO0FBQ2RTLElBQUFBLFNBQVMsRUFBRVI7QUFERyxHQWhCUDtBQW1CVCxtQkFBaUI7QUFDZlEsSUFBQUEsU0FBUyxFQUFFUDtBQURJLEdBbkJSO0FBc0JUUyxFQUFBQSxJQUFJLEVBQUU7QUFDSkYsSUFBQUEsU0FBUyxFQUFFTjtBQURQLEdBdEJHO0FBeUJUUyxFQUFBQSxNQUFNLEVBQUU7QUFDTkgsSUFBQUEsU0FBUyxFQUFFTDtBQURMLEdBekJDO0FBNEJUUyxFQUFBQSxLQUFLLEVBQUU7QUFDTEosSUFBQUEsU0FBUyxFQUFFSjtBQUROO0FBNUJFLEdBK0JOQyxTQUFTLENBQUNRLE1BQVYsQ0FBaUIsVUFBQ0MsR0FBRCxFQUFNQyxHQUFOO0FBQUEseUNBQ2JELEdBRGEsNENBQ1BDLEdBRE8sRUFDRDtBQUFFUCxJQUFBQSxTQUFTLEVBQUVyQixPQUFPLENBQUM0QixHQUFEO0FBQXBCLEdBREM7QUFBQSxDQUFqQixFQUVBLEVBRkEsQ0EvQk0sQ0FBWDs7QUFvQ0EsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU8sUUFBd0I7QUFBQSxNQUFyQjVCLElBQXFCLFNBQXJCQSxJQUFxQjtBQUFBLE1BQVpDLEtBQVk7O0FBQ25DLE1BQUksT0FBT2lCLEtBQUssQ0FBQ2xCLElBQUQsQ0FBWixLQUF1QixXQUEzQixFQUF3QztBQUFBLFFBQzlCb0IsU0FEOEIsR0FDaEJGLEtBQUssQ0FBQ2xCLElBQUQsQ0FEVyxDQUM5Qm9CLFNBRDhCO0FBRXRDLHdCQUFPLGdDQUFDLFNBQUQsRUFBZW5CLEtBQWYsQ0FBUDtBQUNEOztBQUVELFNBQU9ELElBQVA7QUFDRCxDQVBEOztBQVNBNEIsSUFBSSxDQUFDQyxTQUFMLEdBQWlCO0FBQ2Y3QixFQUFBQSxJQUFJLEVBQUU4QixzQkFBVUMsTUFBVixDQUFpQkM7QUFEUixDQUFqQjtBQUlBNUIsSUFBSSxDQUFDeUIsU0FBTCxHQUFpQjtBQUNmeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBRE4sQ0FBakI7QUFJQXpCLGVBQWUsQ0FBQ3VCLFNBQWhCLEdBQTRCO0FBQzFCeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDLE1BREs7QUFFMUJ4QixFQUFBQSxlQUFlLEVBQUV1QixzQkFBVUMsTUFGRDtBQUcxQnZCLEVBQUFBLFdBQVcsRUFBRXNCLHNCQUFVQztBQUhHLENBQTVCO0FBTUF0QixnQkFBZ0IsQ0FBQ29CLFNBQWpCLEdBQTZCO0FBQzNCeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDLE1BRE07QUFFM0J4QixFQUFBQSxlQUFlLEVBQUV1QixzQkFBVUMsTUFGQTtBQUczQnZCLEVBQUFBLFdBQVcsRUFBRXNCLHNCQUFVQztBQUhJLENBQTdCO0FBTUFyQixPQUFPLENBQUNtQixTQUFSLEdBQW9CO0FBQ2xCeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBREgsQ0FBcEI7QUFJQXBCLFNBQVMsQ0FBQ2tCLFNBQVYsR0FBc0I7QUFDcEJ4QixFQUFBQSxTQUFTLEVBQUV5QixzQkFBVUM7QUFERCxDQUF0QjtBQUlBbkIsV0FBVyxDQUFDaUIsU0FBWixHQUF3QjtBQUN0QnhCLEVBQUFBLFNBQVMsRUFBRXlCLHNCQUFVQztBQURDLENBQXhCO0FBSUFsQixZQUFZLENBQUNnQixTQUFiLEdBQXlCO0FBQ3ZCeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBREUsQ0FBekI7QUFJQWpCLElBQUksQ0FBQ2UsU0FBTCxHQUFpQjtBQUNmeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBRE4sQ0FBakI7ZUFJZUgsSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdXNlRnVzaW9uQ29udGV4dCB9IGZyb20gJ2Z1c2lvbjpjb250ZXh0JztcblxuY29uc3QgSWNvbkltZyA9IChuYW1lKSA9PiAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7Li4ucHJvcHN9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zLyR7bmFtZX0uc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgQmFycyA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIDxnIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzk5OSd9PlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDIuNjdoMzJWMEgwelwiIC8+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTAgMTMuMzNoMzJ2LTIuNjZIMHpcIiAvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAzXCIgZD1cIk0wIDI0aDMydi0yLjY3SDB6XCIgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQm9yZGVyQXJyb3dMZWZ0ID0gKHtcbiAgZmlsbENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHN0cm9rZUNvbG9yLCAuLi5wcm9wc1xufSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxyZWN0IHg9XCI0My41XCIgeT1cIjQzLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtMTgwIDQzLjUgNDMuNSlcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9IC8+XG4gICAgPHBhdGggZD1cIk0yNCAyOEwyNS40MSAyNi41OUwyMC44MyAyMkwyNS40MSAxNy40MUwyNCAxNkwxOCAyMkwyNCAyOFpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IEJvcmRlckFycm93UmlnaHQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIC4uLnByb3BzXG59KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIGZpbGw9e2JhY2tncm91bmRDb2xvciB8fCAnd2hpdGUnfSBzdHJva2U9e3N0cm9rZUNvbG9yIHx8ICdub25lJ30gLz5cbiAgICA8cGF0aCBkPVwiTTIwIDE2TDE4LjU5IDE3LjQxTDIzLjE3IDIyTDE4LjU5IDI2LjU5TDIwIDI4TDI2IDIyTDIwIDE2WlwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Qid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbiA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiID5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTEzLjIzIDE2bDcuMDctNy4wN2ExIDEgMCAwMDAtMS40MWwtLjctLjcxYTEgMSAwIDAwLTEuNDIgMEw5LjcgMTUuMjlhMSAxIDAgMDAwIDEuNDJsOC40OCA4LjQ4YTEgMSAwIDAwMS40MiAwbC43LS43YTEgMSAwIDAwMC0xLjQyelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzk5OSd9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblVwID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0zMiAzMlYwSDB2MzJ6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMTYgMTMuMjNsNy4wNyA3LjA3YTEgMSAwIDAwMS40MiAwbC43LS43YTEgMSAwIDAwMC0xLjQyTDE2LjcxIDkuN2ExIDEgMCAwMC0xLjQyIDBsLTguNDggOC40OGExIDEgMCAwMDAgMS40MmwuNy43YTEgMSAwIDAwMS40MiAwelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbkRvd24gPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDE4Ljc3TDguOTMgMTEuN2ExIDEgMCAwMC0xLjQxIDBsLS43MS43YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDB6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBDaGV2cm9uUmlnaHQgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE4Ljc3IDE2bC03LjA3IDcuMDdhMSAxIDAgMDAwIDEuNDJsLjcuN2ExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDJsLTguNDgtOC40OGExIDEgMCAwMC0xLjQyIDBsLS43LjdhMSAxIDAgMDAwIDEuNDJ6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBMb2NrID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDE5IDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoIGQ9XCJNMTguMzksMTZIMy42MUEuNjEuNjEsMCwwLDEsMywxNS4zOVYuNjFBLjYxLjYxLDAsMCwxLDMuNjEsMEgxOC4zOUEuNjEuNjEsMCwwLDEsMTksLjYxVjE1LjM5YS42MS42MSwwLDAsMS0uNjEuNjFcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyNkYmI0MDAnfSAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzIsNy41MUg3LjI4YS44My44MywwLDAsMC0uODMuODN2NC45MmExLjQzLDEuNDMsMCwwLDAsMS40MywxLjQzaDYuMjRhMS40MywxLjQzLDAsMCwwLDEuNDMtMS40M1Y4LjM0YS44My44MywwLDAsMC0uODMtLjgzWm0tMi42Nyw1LjMzYS4yNC4yNCwwLDAsMS0uMTguMjlIMTAuMThhLjI0LjI0LDAsMCwxLS4yNC0uMjQuMTMuMTMsMCwwLDEsMC0uMDZsLjQxLTEuNzNhMS4xMywxLjEzLDAsMSwxLDEuNTctLjI5LDEuMzMsMS4zMywwLDAsMS0uMjkuMjlaXCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzEsNi45NGgtMS42VjUuMDhhMi4xNiwyLjE2LDAsMCwwLTQuMzIsMFY2Ljk0SDcuMTlWNS4wOGEzLjc2LDMuNzYsMCwxLDEsNy41MiwwWlwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBTZWFyY2ggPSAocHJvcHMpID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzIgMzJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGcgZGF0YS1uYW1lPVwiR3JvdXAgM1wiPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiQ2xpcCAyXCIgZD1cIk0wIDBoMzJ2MzJIMHpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICA8ZyBkYXRhLW5hbWU9XCJHcm91cCAzXCI+XG4gICAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzAgMzJhMS45OSAxLjk5IDAgMDEtMS40MS0uNTlsLTcuOTMtNy45MkExMi45OSAxMi45OSAwIDAxMCAxM2ExMyAxMyAwIDAxMjIuMi05LjIgMTIuOTcgMTIuOTcgMCAwMTEuMjkgMTYuODZsNy45MiA3LjkzQTIgMiAwIDAxMzAgMzJ6TTEzIDRhOSA5IDAgMTA5IDkgOS4wMSA5LjAxIDAgMDAtOS05elwiIGZpbGw9XCIjOTk5XCIgLz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgVGltZXMgPSAocHJvcHMpID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzUyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cGF0aCBkPVwiTTI0Mi43MiAyNTZsMTAwLjA3LTEwMC4wN2EzMS40NiAzMS40NiAwIDAwMC00NC40OGwtMjIuMjQtMjIuMjRhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDE3NiAxODkuMjggNzUuOTMgODkuMjFhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDkuMjEgMTExLjQ1YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4TDEwOS4yOCAyNTYgOS4yMSAzNTYuMDdhMzEuNDYgMzEuNDYgMCAwMDAgNDQuNDhsMjIuMjQgMjIuMjRhMzEuNDYgMzEuNDYgMCAwMDQ0LjQ4IDBMMTc2IDMyMi43MmwxMDAuMDcgMTAwLjA3YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwbDIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAwLTQ0LjQ4TDI0Mi43MiAyNTZ6XCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU0lURV9LRVlTID0gW1xuICAnZmFjZWJvb2snLFxuICAnZ3EnLFxuICAnaXJvbm5hJyxcbiAgJ2phcGFuLWZvcndhcmQnLFxuICAnbGluZScsXG4gICdzYW5rZWknLFxuICAnbWVtYmVyJyxcbiAgJ3R3aXR0ZXInLFxuICAneW91dHViZScsXG4gICd3aXJlZCcsXG4gICdzYW5rZWlzeW8nLFxuICAnbmFuaXdhJyxcbiAgJ3NlaXJvbicsXG4gICdpbnN0YWdyYW0nLFxuXTtcblxuY29uc3QgaWNvbnMgPSB7XG4gIGJhcnM6IHtcbiAgICBDb21wb25lbnQ6IEJhcnMsXG4gIH0sXG4gICdib3JkZXItYXJyb3ctbGVmdCc6IHtcbiAgICBDb21wb25lbnQ6IEJvcmRlckFycm93TGVmdCxcbiAgfSxcbiAgJ2JvcmRlci1hcnJvdy1yaWdodCc6IHtcbiAgICBDb21wb25lbnQ6IEJvcmRlckFycm93UmlnaHQsXG4gIH0sXG4gIGNoZXZyb246IHtcbiAgICBDb21wb25lbnQ6IENoZXZyb24sXG4gIH0sXG4gICdjaGV2cm9uLXVwJzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvblVwLFxuICB9LFxuICAnY2hldnJvbi1kb3duJzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvbkRvd24sXG4gIH0sXG4gICdjaGV2cm9uLXJpZ2h0Jzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvblJpZ2h0LFxuICB9LFxuICBsb2NrOiB7XG4gICAgQ29tcG9uZW50OiBMb2NrLFxuICB9LFxuICBzZWFyY2g6IHtcbiAgICBDb21wb25lbnQ6IFNlYXJjaCxcbiAgfSxcbiAgdGltZXM6IHtcbiAgICBDb21wb25lbnQ6IFRpbWVzLFxuICB9LFxuICAuLi5TSVRFX0tFWVMucmVkdWNlKChhY2MsIGN1cikgPT4gKFxuICAgIHsgLi4uYWNjLCBbY3VyXTogeyBDb21wb25lbnQ6IEljb25JbWcoY3VyKSB9IH1cbiAgKSwge30pLFxufTtcblxuY29uc3QgSWNvbiA9ICh7IG5hbWUsIC4uLnByb3BzIH0pID0+IHtcbiAgaWYgKHR5cGVvZiBpY29uc1tuYW1lXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB7IENvbXBvbmVudCB9ID0gaWNvbnNbbmFtZV07XG4gICAgcmV0dXJuIDxDb21wb25lbnQgey4uLnByb3BzfSAvPjtcbiAgfVxuXG4gIHJldHVybiBuYW1lO1xufTtcblxuSWNvbi5wcm9wVHlwZXMgPSB7XG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbkJhcnMucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd0xlZnQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGJhY2tncm91bmRDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3Ryb2tlQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd1JpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvbi5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25VcC5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25Eb3duLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvblJpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTG9jay5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEljb247XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankei-arc-shared-components/element_icon",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "repository": {
package/src/index.js CHANGED
@@ -2,77 +2,17 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { useFusionContext } from 'fusion:context';
4
4
 
5
- const GQ = (props) => {
5
+ const IconImg = (name) => (props) => {
6
6
  const { contextPath, deployment } = useFusionContext();
7
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/gq.svg`)} />;
8
- };
9
-
10
- const Ironna = (props) => {
11
- const { contextPath, deployment } = useFusionContext();
12
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/ironna.svg`)} />;
13
- };
14
-
15
- const JapanForward = (props) => {
16
- const { contextPath, deployment } = useFusionContext();
17
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/japanforward.svg`)} />;
18
- };
19
-
20
- const Sankei = (props) => {
21
- const { contextPath, deployment } = useFusionContext();
22
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/sankei.svg`)} />;
23
- };
24
-
25
- const Member = (props) => {
26
- const { contextPath, deployment } = useFusionContext();
27
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/member.svg`)} />;
28
- };
29
-
30
- const Naniwa = (props) => {
31
- const { contextPath, deployment } = useFusionContext();
32
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/naniwa.svg`)} />;
33
- };
34
-
35
- const Sankeisyo = (props) => {
36
- const { contextPath, deployment } = useFusionContext();
37
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/sankeisyo.svg`)} />;
38
- };
39
-
40
- const Seiron = (props) => {
41
- const { contextPath, deployment } = useFusionContext();
42
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/seiron.svg`)} />;
43
- };
44
-
45
- const Wired = (props) => {
46
- const { contextPath, deployment } = useFusionContext();
47
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/wired.svg`)} />;
48
- };
49
-
50
- const Facebook = ({ fillColor, ...props }) => {
51
- const { contextPath, deployment } = useFusionContext();
52
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/facebook.svg`)} />;
53
- };
54
-
55
- const Line = (props) => {
56
- const { contextPath, deployment } = useFusionContext();
57
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/line.svg`)} />;
58
- };
59
-
60
- const Twitter = (props) => {
61
- const { contextPath, deployment } = useFusionContext();
62
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/twitter.svg`)} />;
63
- };
64
-
65
- const Youtube = (props) => {
66
- const { contextPath, deployment } = useFusionContext();
67
- return <img { ...props } src={deployment(`${contextPath}/resources/icons/youtube.svg`)} />;
7
+ return <img {...props} src={deployment(`${contextPath}/resources/icons/${name}.svg`)} />;
68
8
  };
69
9
 
70
10
  const Bars = ({ fillColor, ...props }) => (
71
- <svg { ...props } data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
11
+ <svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
72
12
  <g fill={fillColor || '#999'}>
73
- <path data-name="Fill 1" d="M0 2.67h32V0H0z"/>
74
- <path data-name="Fill 2" d="M0 13.33h32v-2.66H0z"/>
75
- <path data-name="Fill 3" d="M0 24h32v-2.67H0z"/>
13
+ <path data-name="Fill 1" d="M0 2.67h32V0H0z" />
14
+ <path data-name="Fill 2" d="M0 13.33h32v-2.66H0z" />
15
+ <path data-name="Fill 3" d="M0 24h32v-2.67H0z" />
76
16
  </g>
77
17
  </svg>
78
18
  );
@@ -80,74 +20,91 @@ const Bars = ({ fillColor, ...props }) => (
80
20
  const BorderArrowLeft = ({
81
21
  fillColor, backgroundColor, strokeColor, ...props
82
22
  }) => (
83
- <svg { ...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
84
- <rect x="43.5" y="43.5" width="43" height="43" rx="3.5" transform="rotate(-180 43.5 43.5)" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'}/>
85
- <path d="M24 28L25.41 26.59L20.83 22L25.41 17.41L24 16L18 22L24 28Z" fill={fillColor || '#06517B'}/>
23
+ <svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
24
+ <rect x="43.5" y="43.5" width="43" height="43" rx="3.5" transform="rotate(-180 43.5 43.5)" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'} />
25
+ <path d="M24 28L25.41 26.59L20.83 22L25.41 17.41L24 16L18 22L24 28Z" fill={fillColor || '#06517B'} />
86
26
  </svg>
87
27
  );
88
28
 
89
29
  const BorderArrowRight = ({
90
30
  fillColor, backgroundColor, strokeColor, ...props
91
31
  }) => (
92
- <svg { ...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
93
- <rect x="0.5" y="0.5" width="43" height="43" rx="3.5" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'}/>
94
- <path d="M20 16L18.59 17.41L23.17 22L18.59 26.59L20 28L26 22L20 16Z" fill={fillColor || '#06517B'}/>
32
+ <svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
33
+ <rect x="0.5" y="0.5" width="43" height="43" rx="3.5" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'} />
34
+ <path d="M20 16L18.59 17.41L23.17 22L18.59 26.59L20 28L26 22L20 16Z" fill={fillColor || '#06517B'} />
95
35
  </svg>
96
36
  );
97
37
 
98
38
  const Chevron = ({ fillColor, ...props }) => (
99
- <svg { ...props } data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" >
100
- <path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff"/>
101
- <path data-name="Fill 2" d="M13.23 16l7.07-7.07a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0L9.7 15.29a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42z" fill={fillColor || '#999'}/>
39
+ <svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" >
40
+ <path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
41
+ <path data-name="Fill 2" d="M13.23 16l7.07-7.07a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0L9.7 15.29a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42z" fill={fillColor || '#999'} />
102
42
  </svg>
103
43
  );
104
44
 
105
45
  const ChevronUp = ({ fillColor, ...props }) => (
106
- <svg { ...props } data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
107
- <path data-name="Fill 1" d="M32 32V0H0v32z" fill="#fff"/>
46
+ <svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
47
+ <path data-name="Fill 1" d="M32 32V0H0v32z" fill="#fff" />
108
48
  <path data-name="Fill 2" d="M16 13.23l7.07 7.07a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42L16.71 9.7a1 1 0 00-1.42 0l-8.48 8.48a1 1 0 000 1.42l.7.7a1 1 0 001.42 0z" fill={fillColor || '#06517b'} />
109
49
  </svg>
110
50
  );
111
51
 
112
52
  const ChevronDown = ({ fillColor, ...props }) => (
113
- <svg { ...props } data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
53
+ <svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
114
54
  <path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
115
55
  <path data-name="Fill 2" d="M16 18.77L8.93 11.7a1 1 0 00-1.41 0l-.71.7a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0z" fill={fillColor || '#06517b'} />
116
56
  </svg>
117
57
  );
118
58
 
119
59
  const ChevronRight = ({ fillColor, ...props }) => (
120
- <svg { ...props } data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
121
- <path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff"/>
122
- <path data-name="Fill 2" d="M18.77 16l-7.07 7.07a1 1 0 000 1.42l.7.7a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.42l-8.48-8.48a1 1 0 00-1.42 0l-.7.7a1 1 0 000 1.42z" fill={fillColor || '#06517b'}/>
60
+ <svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
61
+ <path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
62
+ <path data-name="Fill 2" d="M18.77 16l-7.07 7.07a1 1 0 000 1.42l.7.7a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.42l-8.48-8.48a1 1 0 00-1.42 0l-.7.7a1 1 0 000 1.42z" fill={fillColor || '#06517b'} />
123
63
  </svg>
124
64
  );
125
65
 
126
66
  const Lock = ({ fillColor, ...props }) => (
127
- <svg { ...props } viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg">
128
- <path d="M18.39,16H3.61A.61.61,0,0,1,3,15.39V.61A.61.61,0,0,1,3.61,0H18.39A.61.61,0,0,1,19,.61V15.39a.61.61,0,0,1-.61.61" fill={fillColor || '#dbb400'}/>
129
- <path d="M14.72,7.51H7.28a.83.83,0,0,0-.83.83v4.92a1.43,1.43,0,0,0,1.43,1.43h6.24a1.43,1.43,0,0,0,1.43-1.43V8.34a.83.83,0,0,0-.83-.83Zm-2.67,5.33a.24.24,0,0,1-.18.29H10.18a.24.24,0,0,1-.24-.24.13.13,0,0,1,0-.06l.41-1.73a1.13,1.13,0,1,1,1.57-.29,1.33,1.33,0,0,1-.29.29Z" fill="#fff"/>
130
- <path d="M14.71,6.94h-1.6V5.08a2.16,2.16,0,0,0-4.32,0V6.94H7.19V5.08a3.76,3.76,0,1,1,7.52,0Z" fill="#fff"/>
67
+ <svg {...props} viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg">
68
+ <path d="M18.39,16H3.61A.61.61,0,0,1,3,15.39V.61A.61.61,0,0,1,3.61,0H18.39A.61.61,0,0,1,19,.61V15.39a.61.61,0,0,1-.61.61" fill={fillColor || '#dbb400'} />
69
+ <path d="M14.72,7.51H7.28a.83.83,0,0,0-.83.83v4.92a1.43,1.43,0,0,0,1.43,1.43h6.24a1.43,1.43,0,0,0,1.43-1.43V8.34a.83.83,0,0,0-.83-.83Zm-2.67,5.33a.24.24,0,0,1-.18.29H10.18a.24.24,0,0,1-.24-.24.13.13,0,0,1,0-.06l.41-1.73a1.13,1.13,0,1,1,1.57-.29,1.33,1.33,0,0,1-.29.29Z" fill="#fff" />
70
+ <path d="M14.71,6.94h-1.6V5.08a2.16,2.16,0,0,0-4.32,0V6.94H7.19V5.08a3.76,3.76,0,1,1,7.52,0Z" fill="#fff" />
131
71
  </svg>
132
72
  );
133
73
 
134
74
  const Search = (props) => (
135
- <svg { ...props } viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
75
+ <svg {...props} viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
136
76
  <g data-name="Group 3">
137
- <path data-name="Clip 2" d="M0 0h32v32H0z" fill="none"/>
77
+ <path data-name="Clip 2" d="M0 0h32v32H0z" fill="none" />
138
78
  <g data-name="Group 3">
139
- <path data-name="Fill 1" d="M30 32a1.99 1.99 0 01-1.41-.59l-7.93-7.92A12.99 12.99 0 010 13a13 13 0 0122.2-9.2 12.97 12.97 0 011.29 16.86l7.92 7.93A2 2 0 0130 32zM13 4a9 9 0 109 9 9.01 9.01 0 00-9-9z" fill="#999"/>
79
+ <path data-name="Fill 1" d="M30 32a1.99 1.99 0 01-1.41-.59l-7.93-7.92A12.99 12.99 0 010 13a13 13 0 0122.2-9.2 12.97 12.97 0 011.29 16.86l7.92 7.93A2 2 0 0130 32zM13 4a9 9 0 109 9 9.01 9.01 0 00-9-9z" fill="#999" />
140
80
  </g>
141
81
  </g>
142
82
  </svg>
143
83
  );
144
84
 
145
85
  const Times = (props) => (
146
- <svg { ...props } viewBox="0 0 352 512" xmlns="http://www.w3.org/2000/svg">
147
- <path d="M242.72 256l100.07-100.07a31.46 31.46 0 000-44.48l-22.24-22.24a31.46 31.46 0 00-44.48 0L176 189.28 75.93 89.21a31.46 31.46 0 00-44.48 0L9.21 111.45a31.46 31.46 0 000 44.48L109.28 256 9.21 356.07a31.46 31.46 0 000 44.48l22.24 22.24a31.46 31.46 0 0044.48 0L176 322.72l100.07 100.07a31.46 31.46 0 0044.48 0l22.24-22.24a31.46 31.46 0 000-44.48L242.72 256z"/>
86
+ <svg {...props} viewBox="0 0 352 512" xmlns="http://www.w3.org/2000/svg">
87
+ <path d="M242.72 256l100.07-100.07a31.46 31.46 0 000-44.48l-22.24-22.24a31.46 31.46 0 00-44.48 0L176 189.28 75.93 89.21a31.46 31.46 0 00-44.48 0L9.21 111.45a31.46 31.46 0 000 44.48L109.28 256 9.21 356.07a31.46 31.46 0 000 44.48l22.24 22.24a31.46 31.46 0 0044.48 0L176 322.72l100.07 100.07a31.46 31.46 0 0044.48 0l22.24-22.24a31.46 31.46 0 000-44.48L242.72 256z" />
148
88
  </svg>
149
89
  );
150
90
 
91
+ export const SITE_KEYS = [
92
+ 'facebook',
93
+ 'gq',
94
+ 'ironna',
95
+ 'japan-forward',
96
+ 'line',
97
+ 'sankei',
98
+ 'member',
99
+ 'twitter',
100
+ 'youtube',
101
+ 'wired',
102
+ 'sankeisyo',
103
+ 'naniwa',
104
+ 'seiron',
105
+ 'instagram',
106
+ ];
107
+
151
108
  const icons = {
152
109
  bars: {
153
110
  Component: Bars,
@@ -170,60 +127,24 @@ const icons = {
170
127
  'chevron-right': {
171
128
  Component: ChevronRight,
172
129
  },
173
- facebook: {
174
- Component: Facebook,
175
- },
176
- gq: {
177
- Component: GQ,
178
- },
179
- ironna: {
180
- Component: Ironna,
181
- },
182
- 'japan-forward': {
183
- Component: JapanForward,
184
- },
185
- line: {
186
- Component: Line,
187
- },
188
130
  lock: {
189
131
  Component: Lock,
190
132
  },
191
- sankei: {
192
- Component: Sankei,
193
- },
194
- member: {
195
- Component: Member,
196
- },
197
133
  search: {
198
134
  Component: Search,
199
135
  },
200
136
  times: {
201
137
  Component: Times,
202
138
  },
203
- twitter: {
204
- Component: Twitter,
205
- },
206
- youtube: {
207
- Component: Youtube,
208
- },
209
- wired: {
210
- Component: Wired,
211
- },
212
- sankeisyo: {
213
- Component: Sankeisyo,
214
- },
215
- naniwa: {
216
- Component: Naniwa,
217
- },
218
- seiron: {
219
- Component: Seiron,
220
- },
139
+ ...SITE_KEYS.reduce((acc, cur) => (
140
+ { ...acc, [cur]: { Component: IconImg(cur) } }
141
+ ), {}),
221
142
  };
222
143
 
223
144
  const Icon = ({ name, ...props }) => {
224
- if (icons[name]) {
145
+ if (typeof icons[name] !== 'undefined') {
225
146
  const { Component } = icons[name];
226
- return <Component { ...props } />;
147
+ return <Component {...props} />;
227
148
  }
228
149
 
229
150
  return name;
@@ -249,10 +170,6 @@ BorderArrowRight.propTypes = {
249
170
  strokeColor: PropTypes.string,
250
171
  };
251
172
 
252
- Facebook.propTypes = {
253
- fillColor: PropTypes.string,
254
- };
255
-
256
173
  Chevron.propTypes = {
257
174
  fillColor: PropTypes.string,
258
175
  };
@@ -273,20 +190,4 @@ Lock.propTypes = {
273
190
  fillColor: PropTypes.string,
274
191
  };
275
192
 
276
- Ironna.propTypes = {
277
- className: PropTypes.string,
278
- };
279
-
280
- Sankeisyo.propTypes = {
281
- fillColor: PropTypes.string,
282
- };
283
-
284
- Naniwa.propTypes = {
285
- fillColor: PropTypes.string,
286
- };
287
-
288
- Seiron.propTypes = {
289
- fillColor: PropTypes.string,
290
- };
291
-
292
193
  export default Icon;
package/src/index.test.js CHANGED
@@ -1,103 +1,93 @@
1
1
 
2
2
  import React from 'react';
3
3
  import { mount } from 'enzyme';
4
- import Icon from './index';
4
+ import Icon, { SITE_KEYS } from './index';
5
5
 
6
6
  describe('<Icon />', () => {
7
7
  it('should render bars', () => {
8
- const component = mount(<Icon name="bars" height="34px" width="34px"/>);
8
+ const component = mount(<Icon name="bars" height="34px" width="34px" />);
9
9
  expect(component).toBeDefined();
10
10
  });
11
11
  it('should render border-arrow-left', () => {
12
- const component = mount(<Icon name="border-arrow-left" height="34px" width="34px"/>);
12
+ const component = mount(<Icon name="border-arrow-left" height="34px" width="34px" />);
13
13
  expect(component).toBeDefined();
14
14
  });
15
15
  it('should render border-arrow-right', () => {
16
- const component = mount(<Icon name="border-arrow-right" height="34px" width="34px"/>);
16
+ const component = mount(<Icon name="border-arrow-right" height="34px" width="34px" />);
17
17
  expect(component).toBeDefined();
18
18
  });
19
19
  it('should render chevron', () => {
20
- const component = mount(<Icon name="chevron" height="34px" width="34px"/>);
20
+ const component = mount(<Icon name="chevron" height="34px" width="34px" />);
21
21
  expect(component).toBeDefined();
22
22
  });
23
23
  it('should render chevron-up', () => {
24
- const component = mount(<Icon name="chevron-up" height="34px" width="34px"/>);
24
+ const component = mount(<Icon name="chevron-up" height="34px" width="34px" />);
25
25
  expect(component).toBeDefined();
26
26
  });
27
27
  it('should render chevron-down', () => {
28
- const component = mount(<Icon name="chevron-down" height="34px" width="34px"/>);
28
+ const component = mount(<Icon name="chevron-down" height="34px" width="34px" />);
29
29
  expect(component).toBeDefined();
30
30
  });
31
31
  it('should render chevron-right', () => {
32
- const component = mount(<Icon name="chevron-right" height="34px" width="34px"/>);
33
- expect(component).toBeDefined();
34
- });
35
- it('should render facebook', () => {
36
- const component = mount(<Icon name="facebook" height="34px" width="34px"/>);
37
- expect(component).toBeDefined();
38
- });
39
- it('should render gq', () => {
40
- const component = mount(<Icon name="gq" height="34px" width="34px"/>);
41
- expect(component).toBeDefined();
42
- });
43
- it('should render ironna', () => {
44
- const component = mount(<Icon name="ironna" height="34px" width="34px"/>);
45
- expect(component).toBeDefined();
46
- });
47
- it('should render japan-forward', () => {
48
- const component = mount(<Icon name="japan-forward" height="34px" width="34px"/>);
49
- expect(component).toBeDefined();
50
- });
51
- it('should render line', () => {
52
- const component = mount(<Icon name="line" height="34px" width="34px"/>);
32
+ const component = mount(<Icon name="chevron-right" height="34px" width="34px" />);
53
33
  expect(component).toBeDefined();
54
34
  });
35
+
55
36
  it('should render lock', () => {
56
- const component = mount(<Icon name="lock" height="34px" width="34px"/>);
57
- expect(component).toBeDefined();
58
- });
59
- it('should render logo', () => {
60
- const component = mount(<Icon name="sankei" height="34px" width="34px"/>);
61
- expect(component).toBeDefined();
62
- });
63
- it('should render member', () => {
64
- const component = mount(<Icon name="member" height="34px" width="34px"/>);
37
+ const component = mount(<Icon name="lock" height="34px" width="34px" />);
65
38
  expect(component).toBeDefined();
66
39
  });
40
+
67
41
  it('should render search', () => {
68
- const component = mount(<Icon name="search" height="34px" width="34px"/>);
42
+ const component = mount(<Icon name="search" height="34px" width="34px" />);
69
43
  expect(component).toBeDefined();
70
44
  });
71
45
  it('should render times', () => {
72
- const component = mount(<Icon name="times" height="34px" width="34px"/>);
73
- expect(component).toBeDefined();
74
- });
75
- it('should render twitter', () => {
76
- const component = mount(<Icon name="twitter" height="34px" width="34px"/>);
77
- expect(component).toBeDefined();
78
- });
79
- it('should render youtube', () => {
80
- const component = mount(<Icon name="youtube" height="34px" width="34px"/>);
81
- expect(component).toBeDefined();
82
- });
83
- it('should render wired', () => {
84
- const component = mount(<Icon name="wired" height="34px" width="34px"/>);
46
+ const component = mount(<Icon name="times" height="34px" width="34px" />);
85
47
  expect(component).toBeDefined();
86
48
  });
87
- it('should render sankeisho', () => {
88
- const component = mount(<Icon name="sankeisyo" height="34px" width="34px"/>);
89
- expect(component).toBeDefined();
90
- });
91
- it('should render naniwa', () => {
92
- const component = mount(<Icon name="naniwa" height="34px" width="34px"/>);
93
- expect(component).toBeDefined();
49
+
50
+ it('has valid SITE_KEYS', () => {
51
+ const keys = [
52
+ 'facebook',
53
+ 'gq',
54
+ 'ironna',
55
+ 'japan-forward',
56
+ 'line',
57
+ 'sankei',
58
+ 'member',
59
+ 'twitter',
60
+ 'youtube',
61
+ 'wired',
62
+ 'sankeisyo',
63
+ 'naniwa',
64
+ 'seiron',
65
+ 'instagram',
66
+ ];
67
+ expect(SITE_KEYS).toHaveLength(keys.length);
68
+ expect(SITE_KEYS).toMatchObject(keys);
94
69
  });
95
- it('should render seiron', () => {
96
- const component = mount(<Icon name="seiron" height="34px" width="34px"/>);
97
- expect(component).toBeDefined();
70
+
71
+ SITE_KEYS.forEach((key) => {
72
+ it(`should render ${key}`, () => {
73
+ const props = {
74
+ name: key,
75
+ width: '34px',
76
+ height: '34px',
77
+ className: 'some-class',
78
+ };
79
+ const component = mount(<Icon {...props} />);
80
+ expect(component).toBeDefined();
81
+ const img = component.find('img');
82
+ expect(img.prop('src')).toMatch(new RegExp(`/resources/icons/${key}.svg`));
83
+ expect(img.prop('width')).toEqual(props.width);
84
+ expect(img.prop('height')).toEqual(props.height);
85
+ expect(img.prop('className')).toMatch(new RegExp(props.className));
86
+ });
98
87
  });
88
+
99
89
  it('there is no icon', () => {
100
- const component = mount(<Icon name="noicon" height="34px" width="34px"/>);
90
+ const component = mount(<Icon name="noicon" height="34px" width="34px" />);
101
91
  expect(component.text()).toEqual('noicon');
102
92
  });
103
93
  });