@patternfly/quickstarts 5.0.0 → 5.1.0-prerelease.1
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/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/quickstarts-base.css +30 -30
- package/dist/quickstarts-full.es.js +692 -59
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts.css +30 -30
- package/dist/quickstarts.min.css +1 -1
- package/package.json +4 -5
- package/src/QuickStartController.tsx +1 -1
|
@@ -25437,72 +25437,77 @@ function getDefaultOpts (simple) {
|
|
|
25437
25437
|
},
|
|
25438
25438
|
smartIndentationFix: {
|
|
25439
25439
|
defaultValue: false,
|
|
25440
|
-
|
|
25440
|
+
describe: 'Tries to smartly fix indentation in es6 strings',
|
|
25441
25441
|
type: 'boolean'
|
|
25442
25442
|
},
|
|
25443
25443
|
disableForced4SpacesIndentedSublists: {
|
|
25444
25444
|
defaultValue: false,
|
|
25445
|
-
|
|
25445
|
+
describe: 'Disables the requirement of indenting nested sublists by 4 spaces',
|
|
25446
25446
|
type: 'boolean'
|
|
25447
25447
|
},
|
|
25448
25448
|
simpleLineBreaks: {
|
|
25449
25449
|
defaultValue: false,
|
|
25450
|
-
|
|
25450
|
+
describe: 'Parses simple line breaks as <br> (GFM Style)',
|
|
25451
25451
|
type: 'boolean'
|
|
25452
25452
|
},
|
|
25453
25453
|
requireSpaceBeforeHeadingText: {
|
|
25454
25454
|
defaultValue: false,
|
|
25455
|
-
|
|
25455
|
+
describe: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',
|
|
25456
25456
|
type: 'boolean'
|
|
25457
25457
|
},
|
|
25458
25458
|
ghMentions: {
|
|
25459
25459
|
defaultValue: false,
|
|
25460
|
-
|
|
25460
|
+
describe: 'Enables github @mentions',
|
|
25461
25461
|
type: 'boolean'
|
|
25462
25462
|
},
|
|
25463
25463
|
ghMentionsLink: {
|
|
25464
25464
|
defaultValue: 'https://github.com/{u}',
|
|
25465
|
-
|
|
25465
|
+
describe: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',
|
|
25466
25466
|
type: 'string'
|
|
25467
25467
|
},
|
|
25468
25468
|
encodeEmails: {
|
|
25469
25469
|
defaultValue: true,
|
|
25470
|
-
|
|
25470
|
+
describe: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',
|
|
25471
25471
|
type: 'boolean'
|
|
25472
25472
|
},
|
|
25473
25473
|
openLinksInNewWindow: {
|
|
25474
25474
|
defaultValue: false,
|
|
25475
|
-
|
|
25475
|
+
describe: 'Open all links in new windows',
|
|
25476
25476
|
type: 'boolean'
|
|
25477
25477
|
},
|
|
25478
25478
|
backslashEscapesHTMLTags: {
|
|
25479
25479
|
defaultValue: false,
|
|
25480
|
-
|
|
25480
|
+
describe: 'Support for HTML Tag escaping. ex: \<div>foo\</div>',
|
|
25481
25481
|
type: 'boolean'
|
|
25482
25482
|
},
|
|
25483
25483
|
emoji: {
|
|
25484
25484
|
defaultValue: false,
|
|
25485
|
-
|
|
25485
|
+
describe: 'Enable emoji support. Ex: `this is a :smile: emoji`',
|
|
25486
25486
|
type: 'boolean'
|
|
25487
25487
|
},
|
|
25488
25488
|
underline: {
|
|
25489
25489
|
defaultValue: false,
|
|
25490
|
-
|
|
25490
|
+
describe: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`',
|
|
25491
|
+
type: 'boolean'
|
|
25492
|
+
},
|
|
25493
|
+
ellipsis: {
|
|
25494
|
+
defaultValue: true,
|
|
25495
|
+
describe: 'Replaces three dots with the ellipsis unicode character',
|
|
25491
25496
|
type: 'boolean'
|
|
25492
25497
|
},
|
|
25493
25498
|
completeHTMLDocument: {
|
|
25494
25499
|
defaultValue: false,
|
|
25495
|
-
|
|
25500
|
+
describe: 'Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags',
|
|
25496
25501
|
type: 'boolean'
|
|
25497
25502
|
},
|
|
25498
25503
|
metadata: {
|
|
25499
25504
|
defaultValue: false,
|
|
25500
|
-
|
|
25505
|
+
describe: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',
|
|
25501
25506
|
type: 'boolean'
|
|
25502
25507
|
},
|
|
25503
25508
|
splitAdjacentBlockquotes: {
|
|
25504
25509
|
defaultValue: false,
|
|
25505
|
-
|
|
25510
|
+
describe: 'Split adjacent blockquote blocks',
|
|
25506
25511
|
type: 'boolean'
|
|
25507
25512
|
}
|
|
25508
25513
|
};
|
|
@@ -25710,7 +25715,7 @@ showdown.subParser = function (name, func) {
|
|
|
25710
25715
|
* Gets or registers an extension
|
|
25711
25716
|
* @static
|
|
25712
25717
|
* @param {string} name
|
|
25713
|
-
* @param {object|function=} ext
|
|
25718
|
+
* @param {object|object[]|function=} ext
|
|
25714
25719
|
* @returns {*}
|
|
25715
25720
|
*/
|
|
25716
25721
|
showdown.extension = function (name, ext) {
|
|
@@ -26029,6 +26034,20 @@ showdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash
|
|
|
26029
26034
|
return text;
|
|
26030
26035
|
};
|
|
26031
26036
|
|
|
26037
|
+
/**
|
|
26038
|
+
* Unescape HTML entities
|
|
26039
|
+
* @param txt
|
|
26040
|
+
* @returns {string}
|
|
26041
|
+
*/
|
|
26042
|
+
showdown.helper.unescapeHTMLEntities = function (txt) {
|
|
26043
|
+
|
|
26044
|
+
return txt
|
|
26045
|
+
.replace(/"/g, '"')
|
|
26046
|
+
.replace(/</g, '<')
|
|
26047
|
+
.replace(/>/g, '>')
|
|
26048
|
+
.replace(/&/g, '&');
|
|
26049
|
+
};
|
|
26050
|
+
|
|
26032
26051
|
var rgxFindMatchPos = function (str, left, right, flags) {
|
|
26033
26052
|
var f = flags || '',
|
|
26034
26053
|
g = f.indexOf('g') > -1,
|
|
@@ -26233,11 +26252,35 @@ showdown.helper.encodeEmailAddress = function (mail) {
|
|
|
26233
26252
|
return mail;
|
|
26234
26253
|
};
|
|
26235
26254
|
|
|
26255
|
+
/**
|
|
26256
|
+
*
|
|
26257
|
+
* @param str
|
|
26258
|
+
* @param targetLength
|
|
26259
|
+
* @param padString
|
|
26260
|
+
* @returns {string}
|
|
26261
|
+
*/
|
|
26262
|
+
showdown.helper.padEnd = function padEnd (str, targetLength, padString) {
|
|
26263
|
+
/*jshint bitwise: false*/
|
|
26264
|
+
// eslint-disable-next-line space-infix-ops
|
|
26265
|
+
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
|
|
26266
|
+
/*jshint bitwise: true*/
|
|
26267
|
+
padString = String(padString || ' ');
|
|
26268
|
+
if (str.length > targetLength) {
|
|
26269
|
+
return String(str);
|
|
26270
|
+
} else {
|
|
26271
|
+
targetLength = targetLength - str.length;
|
|
26272
|
+
if (targetLength > padString.length) {
|
|
26273
|
+
padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed
|
|
26274
|
+
}
|
|
26275
|
+
return String(str) + padString.slice(0,targetLength);
|
|
26276
|
+
}
|
|
26277
|
+
};
|
|
26278
|
+
|
|
26236
26279
|
/**
|
|
26237
26280
|
* POLYFILLS
|
|
26238
26281
|
*/
|
|
26239
26282
|
// use this instead of builtin is undefined for IE8 compatibility
|
|
26240
|
-
if (typeof(console) === 'undefined') {
|
|
26283
|
+
if (typeof (console) === 'undefined') {
|
|
26241
26284
|
console = {
|
|
26242
26285
|
warn: function (msg) {
|
|
26243
26286
|
alert(msg);
|
|
@@ -27438,8 +27481,8 @@ showdown.helper.emojis = {
|
|
|
27438
27481
|
'zzz':'\ud83d\udca4',
|
|
27439
27482
|
|
|
27440
27483
|
/* special emojis :P */
|
|
27441
|
-
'octocat': '<img
|
|
27442
|
-
'showdown': '<img width="20" height="20" align="absmiddle" src="data:image/png;base64,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/GMzLdsAAECtaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTAtMjRUMTM6MzE6MzArMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+UyAtPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD5TIC08L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6N2NkMzQxNzctOWYyZi0yNDRiLWEyYjQtMzU1MzJkY2Y1MWJiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6M2E1YzgxYmYtYjhiNy0xMWU3LTk0NDktYTQ2MzdlZjJkNjMzPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTEwLTI0VDEzOjMxOjMwKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjdjZDM0MTc3LTlmMmYtMjQ0Yi1hMmI0LTM1NTMyZGNmNTFiYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjYwQzVBRTY1RjY5Q0U0MTE5NDVBODU1RTNCQ0E3RUVCPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pse7bzcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA1JJREFUeNrsm1+OmlAUhz+aeS9dwZggJn1AnRUMO6jpBgZXULuC2hWUWUGZBTSxKyiuoA4mfUBMnB04K5g+9DihRBHlyh/lJLwIXLgf99xzzu9etZeXFy7Z3nDh1gBoAFy4XeVtQNO0zNcapmUDfUBPnFoBfhQGq6IBaHmjwD4Ahmk5wAD4kKG5J8CNwsAFaHe6DvA9cc0wCgOv8gDka3vA9RHNPgo0D7hNnJtGYWBXxgV2dH4MfMnRRA+Y1WIO2NJ5F/ikoKm3tYsChmkNFHW+fmHQMC1dfHaXPQP3wM1yMdc2B/AOGALTWobBmI1Shu0UGCwX83XyRBQGawHntTtdG5gUNfxVu4CTNqNv6/wWGL7kCc+1AmCYVisl3I2ydD4GYZUCs7IjoLXrxHIx9w9tLAqDCfBwDrXAY457x+cAoCfuwRGjYFUnAGk+PsjR7s8Dn1VeLWCYVlpDw+VivjVHSHt+u9PVJbzGzZXQWTkAkz0V31fATUaEsjVJlQBs4FeGcteLgzgbAALBA+4y3voAeJL8nA0AHfClnM1qm1HhnYUidCSE+KzvSSJUTwAxCOMcpfETMFYpfRUKIAbCFhC3OTJJJwqDWS0BxED0JZ4Pjix1P2+E0loCSMBwyK4S/xc1ojBwag8gMU84cvTKGgmlAYhngu1O9xAXuVE5J1QCQCz3bwHuHvdQui5QKQAxEO6eEKpsFCgTRSXkvdoxSlBMCxhJJbgrrbZRtHCiShN0pRB6PeQ3ckBw2K0oKXMBVYJIP+Nvh9qulFivGoBt1lLQxowT2ykBXCfnhZIglgYACWmqXQv+baioBYCeiCQHm+QEg1O7RhF7hO4OhSAhcJKSFU7qBGADwZeqMMuXn6TUBw8qlaMrirNb4LdhWlP+SWD+cjFfxTpuS2GUpik+o3jFSEkqbJiWn0P0OMSGqlWiOu0TvD+FRHZKAE+oW+cfRmEwqlsesJJEJs8y91QqP+9UL6lqEtz2gpuNEY5sm9sIHln2DRa2aFKGJtiXkZEMiWtgVvRKUSUFkSKt2S7fAGgAXLYpmQQXf36MUChTZdUa2u8/rkvPA6Tz30r4eH3ybcBS5gJ6SaNXb+aABkA1AMxKenclBZLW/He4cYEGwEXb3wEASelexk6LIIIAAAAASUVORK5CYII=">'
|
|
27484
|
+
'octocat': '<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',
|
|
27485
|
+
'showdown': '<span style="font-family: \'Anonymous Pro\', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;">S</span>'
|
|
27443
27486
|
};
|
|
27444
27487
|
|
|
27445
27488
|
/**
|
|
@@ -27488,10 +27531,10 @@ showdown.Converter = function (converterOptions) {
|
|
|
27488
27531
|
*/
|
|
27489
27532
|
setConvFlavor = setFlavor,
|
|
27490
27533
|
|
|
27491
|
-
|
|
27492
|
-
|
|
27493
|
-
|
|
27494
|
-
|
|
27534
|
+
/**
|
|
27535
|
+
* Metadata of the document
|
|
27536
|
+
* @type {{parsed: {}, raw: string, format: string}}
|
|
27537
|
+
*/
|
|
27495
27538
|
metadata = {
|
|
27496
27539
|
parsed: {},
|
|
27497
27540
|
raw: '',
|
|
@@ -27550,7 +27593,7 @@ showdown.Converter = function (converterOptions) {
|
|
|
27550
27593
|
'Please inform the developer that the extension should be updated!');
|
|
27551
27594
|
legacyExtensionLoading(showdown.extensions[ext], ext);
|
|
27552
27595
|
return;
|
|
27553
|
-
|
|
27596
|
+
// END LEGACY SUPPORT CODE
|
|
27554
27597
|
|
|
27555
27598
|
} else if (!showdown.helper.isUndefined(extensions[ext])) {
|
|
27556
27599
|
ext = extensions[ext];
|
|
@@ -27730,8 +27773,8 @@ showdown.Converter = function (converterOptions) {
|
|
|
27730
27773
|
text = text.replace(/\r\n/g, '\n'); // DOS to Unix
|
|
27731
27774
|
text = text.replace(/\r/g, '\n'); // Mac to Unix
|
|
27732
27775
|
|
|
27733
|
-
// Stardardize line spaces
|
|
27734
|
-
text = text.replace(/\u00A0/g, '
|
|
27776
|
+
// Stardardize line spaces
|
|
27777
|
+
text = text.replace(/\u00A0/g, ' ');
|
|
27735
27778
|
|
|
27736
27779
|
if (options.smartIndentationFix) {
|
|
27737
27780
|
text = rTrimInputText(text);
|
|
@@ -27786,6 +27829,112 @@ showdown.Converter = function (converterOptions) {
|
|
|
27786
27829
|
return text;
|
|
27787
27830
|
};
|
|
27788
27831
|
|
|
27832
|
+
/**
|
|
27833
|
+
* Converts an HTML string into a markdown string
|
|
27834
|
+
* @param src
|
|
27835
|
+
* @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.
|
|
27836
|
+
* @returns {string}
|
|
27837
|
+
*/
|
|
27838
|
+
this.makeMarkdown = this.makeMd = function (src, HTMLParser) {
|
|
27839
|
+
|
|
27840
|
+
// replace \r\n with \n
|
|
27841
|
+
src = src.replace(/\r\n/g, '\n');
|
|
27842
|
+
src = src.replace(/\r/g, '\n'); // old macs
|
|
27843
|
+
|
|
27844
|
+
// due to an edge case, we need to find this: > <
|
|
27845
|
+
// to prevent removing of non silent white spaces
|
|
27846
|
+
// ex: <em>this is</em> <strong>sparta</strong>
|
|
27847
|
+
src = src.replace(/>[ \t]+</, '>¨NBSP;<');
|
|
27848
|
+
|
|
27849
|
+
if (!HTMLParser) {
|
|
27850
|
+
if (window && window.document) {
|
|
27851
|
+
HTMLParser = window.document;
|
|
27852
|
+
} else {
|
|
27853
|
+
throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');
|
|
27854
|
+
}
|
|
27855
|
+
}
|
|
27856
|
+
|
|
27857
|
+
var doc = HTMLParser.createElement('div');
|
|
27858
|
+
doc.innerHTML = src;
|
|
27859
|
+
|
|
27860
|
+
var globals = {
|
|
27861
|
+
preList: substitutePreCodeTags(doc)
|
|
27862
|
+
};
|
|
27863
|
+
|
|
27864
|
+
// remove all newlines and collapse spaces
|
|
27865
|
+
clean(doc);
|
|
27866
|
+
|
|
27867
|
+
// some stuff, like accidental reference links must now be escaped
|
|
27868
|
+
// TODO
|
|
27869
|
+
// doc.innerHTML = doc.innerHTML.replace(/\[[\S\t ]]/);
|
|
27870
|
+
|
|
27871
|
+
var nodes = doc.childNodes,
|
|
27872
|
+
mdDoc = '';
|
|
27873
|
+
|
|
27874
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
27875
|
+
mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);
|
|
27876
|
+
}
|
|
27877
|
+
|
|
27878
|
+
function clean (node) {
|
|
27879
|
+
for (var n = 0; n < node.childNodes.length; ++n) {
|
|
27880
|
+
var child = node.childNodes[n];
|
|
27881
|
+
if (child.nodeType === 3) {
|
|
27882
|
+
if (!/\S/.test(child.nodeValue) && !/^[ ]+$/.test(child.nodeValue)) {
|
|
27883
|
+
node.removeChild(child);
|
|
27884
|
+
--n;
|
|
27885
|
+
} else {
|
|
27886
|
+
child.nodeValue = child.nodeValue.split('\n').join(' ');
|
|
27887
|
+
child.nodeValue = child.nodeValue.replace(/(\s)+/g, '$1');
|
|
27888
|
+
}
|
|
27889
|
+
} else if (child.nodeType === 1) {
|
|
27890
|
+
clean(child);
|
|
27891
|
+
}
|
|
27892
|
+
}
|
|
27893
|
+
}
|
|
27894
|
+
|
|
27895
|
+
// find all pre tags and replace contents with placeholder
|
|
27896
|
+
// we need this so that we can remove all indentation from html
|
|
27897
|
+
// to ease up parsing
|
|
27898
|
+
function substitutePreCodeTags (doc) {
|
|
27899
|
+
|
|
27900
|
+
var pres = doc.querySelectorAll('pre'),
|
|
27901
|
+
presPH = [];
|
|
27902
|
+
|
|
27903
|
+
for (var i = 0; i < pres.length; ++i) {
|
|
27904
|
+
|
|
27905
|
+
if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {
|
|
27906
|
+
var content = pres[i].firstChild.innerHTML.trim(),
|
|
27907
|
+
language = pres[i].firstChild.getAttribute('data-language') || '';
|
|
27908
|
+
|
|
27909
|
+
// if data-language attribute is not defined, then we look for class language-*
|
|
27910
|
+
if (language === '') {
|
|
27911
|
+
var classes = pres[i].firstChild.className.split(' ');
|
|
27912
|
+
for (var c = 0; c < classes.length; ++c) {
|
|
27913
|
+
var matches = classes[c].match(/^language-(.+)$/);
|
|
27914
|
+
if (matches !== null) {
|
|
27915
|
+
language = matches[1];
|
|
27916
|
+
break;
|
|
27917
|
+
}
|
|
27918
|
+
}
|
|
27919
|
+
}
|
|
27920
|
+
|
|
27921
|
+
// unescape html entities in content
|
|
27922
|
+
content = showdown.helper.unescapeHTMLEntities(content);
|
|
27923
|
+
|
|
27924
|
+
presPH.push(content);
|
|
27925
|
+
pres[i].outerHTML = '<precode language="' + language + '" precodenum="' + i.toString() + '"></precode>';
|
|
27926
|
+
} else {
|
|
27927
|
+
presPH.push(pres[i].innerHTML);
|
|
27928
|
+
pres[i].innerHTML = '';
|
|
27929
|
+
pres[i].setAttribute('prenum', i.toString());
|
|
27930
|
+
}
|
|
27931
|
+
}
|
|
27932
|
+
return presPH;
|
|
27933
|
+
}
|
|
27934
|
+
|
|
27935
|
+
return mdDoc;
|
|
27936
|
+
};
|
|
27937
|
+
|
|
27789
27938
|
/**
|
|
27790
27939
|
* Set an option of this Converter instance
|
|
27791
27940
|
* @param {string} key
|
|
@@ -27869,12 +28018,12 @@ showdown.Converter = function (converterOptions) {
|
|
|
27869
28018
|
var ext = extension[a];
|
|
27870
28019
|
for (var i = 0; i < langExtensions.length; ++i) {
|
|
27871
28020
|
if (langExtensions[i] === ext) {
|
|
27872
|
-
langExtensions
|
|
28021
|
+
langExtensions.splice(i, 1);
|
|
27873
28022
|
}
|
|
27874
28023
|
}
|
|
27875
|
-
for (var ii = 0; ii < outputModifiers.length; ++
|
|
28024
|
+
for (var ii = 0; ii < outputModifiers.length; ++ii) {
|
|
27876
28025
|
if (outputModifiers[ii] === ext) {
|
|
27877
|
-
outputModifiers
|
|
28026
|
+
outputModifiers.splice(ii, 1);
|
|
27878
28027
|
}
|
|
27879
28028
|
}
|
|
27880
28029
|
}
|
|
@@ -27987,7 +28136,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
27987
28136
|
// to external links. Hash links (#) open in same page
|
|
27988
28137
|
if (options.openLinksInNewWindow && !/^#/.test(url)) {
|
|
27989
28138
|
// escaped _
|
|
27990
|
-
result += ' target="¨E95Eblank"';
|
|
28139
|
+
result += ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
27991
28140
|
}
|
|
27992
28141
|
|
|
27993
28142
|
result += '>' + linkText + '</a>';
|
|
@@ -28005,7 +28154,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28005
28154
|
|
|
28006
28155
|
// normal cases
|
|
28007
28156
|
text = text.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
|
|
28008
|
-
|
|
28157
|
+
writeAnchorTag);
|
|
28009
28158
|
|
|
28010
28159
|
// handle reference-style shortcuts: [link text]
|
|
28011
28160
|
// These must come last in case you've also got [link test][1]
|
|
@@ -28014,7 +28163,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28014
28163
|
|
|
28015
28164
|
// Lastly handle GithubMentions if option is enabled
|
|
28016
28165
|
if (options.ghMentions) {
|
|
28017
|
-
text = text.replace(/(^|\s)(\\)?(@([a-z\d
|
|
28166
|
+
text = text.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gmi, function (wm, st, escape, mentions, username) {
|
|
28018
28167
|
if (escape === '\\') {
|
|
28019
28168
|
return st + mentions;
|
|
28020
28169
|
}
|
|
@@ -28026,7 +28175,7 @@ showdown.subParser('anchors', function (text, options, globals) {
|
|
|
28026
28175
|
var lnk = options.ghMentionsLink.replace(/\{u}/g, username),
|
|
28027
28176
|
target = '';
|
|
28028
28177
|
if (options.openLinksInNewWindow) {
|
|
28029
|
-
target = ' target="¨E95Eblank"';
|
|
28178
|
+
target = ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
28030
28179
|
}
|
|
28031
28180
|
return st + '<a href="' + lnk + '"' + target + '>' + mentions + '</a>';
|
|
28032
28181
|
});
|
|
@@ -28059,7 +28208,7 @@ var simpleURLRegex = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'
|
|
|
28059
28208
|
append = trailingPunctuation;
|
|
28060
28209
|
}
|
|
28061
28210
|
if (options.openLinksInNewWindow) {
|
|
28062
|
-
target = ' target="¨E95Eblank"';
|
|
28211
|
+
target = ' rel="noopener noreferrer" target="¨E95Eblank"';
|
|
28063
28212
|
}
|
|
28064
28213
|
return lmc + '<a href="' + link + '"' + target + '>' + lnkTxt + '</a>' + append + tmc;
|
|
28065
28214
|
};
|
|
@@ -28253,7 +28402,7 @@ showdown.subParser('codeSpans', function (text, options, globals) {
|
|
|
28253
28402
|
|
|
28254
28403
|
text = globals.converter._dispatch('codeSpans.before', text, options, globals);
|
|
28255
28404
|
|
|
28256
|
-
if (typeof(text) === 'undefined') {
|
|
28405
|
+
if (typeof (text) === 'undefined') {
|
|
28257
28406
|
text = '';
|
|
28258
28407
|
}
|
|
28259
28408
|
text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
|
|
@@ -28273,7 +28422,7 @@ showdown.subParser('codeSpans', function (text, options, globals) {
|
|
|
28273
28422
|
});
|
|
28274
28423
|
|
|
28275
28424
|
/**
|
|
28276
|
-
*
|
|
28425
|
+
* Create a full HTML document from the processed markdown
|
|
28277
28426
|
*/
|
|
28278
28427
|
showdown.subParser('completeHTMLDocument', function (text, options, globals) {
|
|
28279
28428
|
|
|
@@ -28369,6 +28518,10 @@ showdown.subParser('detab', function (text, options, globals) {
|
|
|
28369
28518
|
|
|
28370
28519
|
showdown.subParser('ellipsis', function (text, options, globals) {
|
|
28371
28520
|
|
|
28521
|
+
if (!options.ellipsis) {
|
|
28522
|
+
return text;
|
|
28523
|
+
}
|
|
28524
|
+
|
|
28372
28525
|
text = globals.converter._dispatch('ellipsis.before', text, options, globals);
|
|
28373
28526
|
|
|
28374
28527
|
text = text.replace(/\.\.\./g, '…');
|
|
@@ -28379,8 +28532,9 @@ showdown.subParser('ellipsis', function (text, options, globals) {
|
|
|
28379
28532
|
});
|
|
28380
28533
|
|
|
28381
28534
|
/**
|
|
28382
|
-
*
|
|
28383
|
-
*
|
|
28535
|
+
* Turn emoji codes into emojis
|
|
28536
|
+
*
|
|
28537
|
+
* List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis
|
|
28384
28538
|
*/
|
|
28385
28539
|
showdown.subParser('emoji', function (text, options, globals) {
|
|
28386
28540
|
|
|
@@ -28442,7 +28596,7 @@ showdown.subParser('encodeBackslashEscapes', function (text, options, globals) {
|
|
|
28442
28596
|
text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);
|
|
28443
28597
|
|
|
28444
28598
|
text = text.replace(/\\(\\)/g, showdown.helper.escapeCharactersCallback);
|
|
28445
|
-
text = text.replace(/\\([`*_{}\[\]()
|
|
28599
|
+
text = text.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, showdown.helper.escapeCharactersCallback);
|
|
28446
28600
|
|
|
28447
28601
|
text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);
|
|
28448
28602
|
return text;
|
|
@@ -28518,7 +28672,7 @@ showdown.subParser('githubCodeBlocks', function (text, options, globals) {
|
|
|
28518
28672
|
|
|
28519
28673
|
text += '¨0';
|
|
28520
28674
|
|
|
28521
|
-
text = text.replace(/(?:^|\n)(```+|~~~+)([^\s`~]*)\n([\s\S]*?)\n\1/g, function (wholeMatch, delim, language, codeblock) {
|
|
28675
|
+
text = text.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g, function (wholeMatch, delim, language, codeblock) {
|
|
28522
28676
|
var end = (options.omitExtraWLInCodeBlocks) ? '' : '\n';
|
|
28523
28677
|
|
|
28524
28678
|
// First parse the github code block
|
|
@@ -28659,7 +28813,7 @@ showdown.subParser('hashHTMLBlocks', function (text, options, globals) {
|
|
|
28659
28813
|
|
|
28660
28814
|
//2. Split the text in that position
|
|
28661
28815
|
var subTexts = showdown.helper.splitAtIndex(text, opTagPos),
|
|
28662
|
-
|
|
28816
|
+
//3. Match recursively
|
|
28663
28817
|
newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');
|
|
28664
28818
|
|
|
28665
28819
|
// prevent an infinite loop
|
|
@@ -28774,13 +28928,13 @@ showdown.subParser('headers', function (text, options, globals) {
|
|
|
28774
28928
|
|
|
28775
28929
|
var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),
|
|
28776
28930
|
|
|
28777
|
-
|
|
28778
|
-
|
|
28779
|
-
|
|
28780
|
-
|
|
28781
|
-
|
|
28782
|
-
|
|
28783
|
-
|
|
28931
|
+
// Set text-style headers:
|
|
28932
|
+
// Header 1
|
|
28933
|
+
// ========
|
|
28934
|
+
//
|
|
28935
|
+
// Header 2
|
|
28936
|
+
// --------
|
|
28937
|
+
//
|
|
28784
28938
|
setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
|
|
28785
28939
|
setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm;
|
|
28786
28940
|
|
|
@@ -28971,7 +29125,7 @@ showdown.subParser('images', function (text, options, globals) {
|
|
|
28971
29125
|
url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);
|
|
28972
29126
|
var result = '<img src="' + url + '" alt="' + altText + '"';
|
|
28973
29127
|
|
|
28974
|
-
if (title) {
|
|
29128
|
+
if (title && showdown.helper.isString(title)) {
|
|
28975
29129
|
title = title
|
|
28976
29130
|
.replace(/"/g, '"')
|
|
28977
29131
|
//title = showdown.helper.escapeCharacters(title, '*_', false);
|
|
@@ -29032,10 +29186,10 @@ showdown.subParser('italicsAndBold', function (text, options, globals) {
|
|
|
29032
29186
|
|
|
29033
29187
|
// Parse underscores
|
|
29034
29188
|
if (options.literalMidWordUnderscores) {
|
|
29035
|
-
text = text.replace(/\b___(\S[\s\S]
|
|
29189
|
+
text = text.replace(/\b___(\S[\s\S]*?)___\b/g, function (wm, txt) {
|
|
29036
29190
|
return parseInside (txt, '<strong><em>', '</em></strong>');
|
|
29037
29191
|
});
|
|
29038
|
-
text = text.replace(/\b__(\S[\s\S]
|
|
29192
|
+
text = text.replace(/\b__(\S[\s\S]*?)__\b/g, function (wm, txt) {
|
|
29039
29193
|
return parseInside (txt, '<strong>', '</strong>');
|
|
29040
29194
|
});
|
|
29041
29195
|
text = text.replace(/\b_(\S[\s\S]*?)_\b/g, function (wm, txt) {
|
|
@@ -29056,13 +29210,13 @@ showdown.subParser('italicsAndBold', function (text, options, globals) {
|
|
|
29056
29210
|
|
|
29057
29211
|
// Now parse asterisks
|
|
29058
29212
|
if (options.literalMidWordAsterisks) {
|
|
29059
|
-
text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]
|
|
29213
|
+
text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29060
29214
|
return parseInside (txt, lead + '<strong><em>', '</em></strong>');
|
|
29061
29215
|
});
|
|
29062
|
-
text = text.replace(/([^*]|^)\B\*\*(\S[\s\S]
|
|
29216
|
+
text = text.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29063
29217
|
return parseInside (txt, lead + '<strong>', '</strong>');
|
|
29064
29218
|
});
|
|
29065
|
-
text = text.replace(/([^*]|^)\B\*(\S[\s\S]
|
|
29219
|
+
text = text.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g, function (wm, lead, txt) {
|
|
29066
29220
|
return parseInside (txt, lead + '<em>', '</em>');
|
|
29067
29221
|
});
|
|
29068
29222
|
} else {
|
|
@@ -29516,14 +29670,19 @@ showdown.subParser('strikethrough', function (text, options, globals) {
|
|
|
29516
29670
|
*/
|
|
29517
29671
|
showdown.subParser('stripLinkDefinitions', function (text, options, globals) {
|
|
29518
29672
|
|
|
29519
|
-
var regex = /^ {0,3}\[(
|
|
29520
|
-
base64Regex = /^ {0,3}\[(
|
|
29673
|
+
var regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,
|
|
29674
|
+
base64Regex = /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;
|
|
29521
29675
|
|
|
29522
29676
|
// attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
|
|
29523
29677
|
text += '¨0';
|
|
29524
29678
|
|
|
29525
29679
|
var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {
|
|
29680
|
+
|
|
29681
|
+
// if there aren't two instances of linkId it must not be a reference link so back out
|
|
29526
29682
|
linkId = linkId.toLowerCase();
|
|
29683
|
+
if (text.toLowerCase().split(linkId).length - 1 < 2) {
|
|
29684
|
+
return wholeMatch;
|
|
29685
|
+
}
|
|
29527
29686
|
if (url.match(/^data:.+?\/.+?;base64,/)) {
|
|
29528
29687
|
// remove newlines
|
|
29529
29688
|
globals.gUrls[linkId] = url.replace(/\s/g, '');
|
|
@@ -29569,7 +29728,7 @@ showdown.subParser('tables', function (text, options, globals) {
|
|
|
29569
29728
|
}
|
|
29570
29729
|
|
|
29571
29730
|
var tableRgx = /^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,
|
|
29572
|
-
|
|
29731
|
+
//singeColTblRgx = /^ {0,3}\|.+\|\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n(?: {0,3}\|.+\|\n)+(?:\n\n|¨0)/gm;
|
|
29573
29732
|
singeColTblRgx = /^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;
|
|
29574
29733
|
|
|
29575
29734
|
function parseStyles (sLine) {
|
|
@@ -29711,11 +29870,17 @@ showdown.subParser('underline', function (text, options, globals) {
|
|
|
29711
29870
|
text = globals.converter._dispatch('underline.before', text, options, globals);
|
|
29712
29871
|
|
|
29713
29872
|
if (options.literalMidWordUnderscores) {
|
|
29714
|
-
text = text.replace(/\
|
|
29873
|
+
text = text.replace(/\b___(\S[\s\S]*?)___\b/g, function (wm, txt) {
|
|
29874
|
+
return '<u>' + txt + '</u>';
|
|
29875
|
+
});
|
|
29876
|
+
text = text.replace(/\b__(\S[\s\S]*?)__\b/g, function (wm, txt) {
|
|
29715
29877
|
return '<u>' + txt + '</u>';
|
|
29716
29878
|
});
|
|
29717
29879
|
} else {
|
|
29718
|
-
text = text.replace(/
|
|
29880
|
+
text = text.replace(/___(\S[\s\S]*?)___/g, function (wm, m) {
|
|
29881
|
+
return (/\S$/.test(m)) ? '<u>' + m + '</u>' : wm;
|
|
29882
|
+
});
|
|
29883
|
+
text = text.replace(/__(\S[\s\S]*?)__/g, function (wm, m) {
|
|
29719
29884
|
return (/\S$/.test(m)) ? '<u>' + m + '</u>' : wm;
|
|
29720
29885
|
});
|
|
29721
29886
|
}
|
|
@@ -29743,6 +29908,474 @@ showdown.subParser('unescapeSpecialChars', function (text, options, globals) {
|
|
|
29743
29908
|
return text;
|
|
29744
29909
|
});
|
|
29745
29910
|
|
|
29911
|
+
showdown.subParser('makeMarkdown.blockquote', function (node, globals) {
|
|
29912
|
+
|
|
29913
|
+
var txt = '';
|
|
29914
|
+
if (node.hasChildNodes()) {
|
|
29915
|
+
var children = node.childNodes,
|
|
29916
|
+
childrenLength = children.length;
|
|
29917
|
+
|
|
29918
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
29919
|
+
var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
29920
|
+
|
|
29921
|
+
if (innerTxt === '') {
|
|
29922
|
+
continue;
|
|
29923
|
+
}
|
|
29924
|
+
txt += innerTxt;
|
|
29925
|
+
}
|
|
29926
|
+
}
|
|
29927
|
+
// cleanup
|
|
29928
|
+
txt = txt.trim();
|
|
29929
|
+
txt = '> ' + txt.split('\n').join('\n> ');
|
|
29930
|
+
return txt;
|
|
29931
|
+
});
|
|
29932
|
+
|
|
29933
|
+
showdown.subParser('makeMarkdown.codeBlock', function (node, globals) {
|
|
29934
|
+
|
|
29935
|
+
var lang = node.getAttribute('language'),
|
|
29936
|
+
num = node.getAttribute('precodenum');
|
|
29937
|
+
return '```' + lang + '\n' + globals.preList[num] + '\n```';
|
|
29938
|
+
});
|
|
29939
|
+
|
|
29940
|
+
showdown.subParser('makeMarkdown.codeSpan', function (node) {
|
|
29941
|
+
|
|
29942
|
+
return '`' + node.innerHTML + '`';
|
|
29943
|
+
});
|
|
29944
|
+
|
|
29945
|
+
showdown.subParser('makeMarkdown.emphasis', function (node, globals) {
|
|
29946
|
+
|
|
29947
|
+
var txt = '';
|
|
29948
|
+
if (node.hasChildNodes()) {
|
|
29949
|
+
txt += '*';
|
|
29950
|
+
var children = node.childNodes,
|
|
29951
|
+
childrenLength = children.length;
|
|
29952
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
29953
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
29954
|
+
}
|
|
29955
|
+
txt += '*';
|
|
29956
|
+
}
|
|
29957
|
+
return txt;
|
|
29958
|
+
});
|
|
29959
|
+
|
|
29960
|
+
showdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {
|
|
29961
|
+
|
|
29962
|
+
var headerMark = new Array(headerLevel + 1).join('#'),
|
|
29963
|
+
txt = '';
|
|
29964
|
+
|
|
29965
|
+
if (node.hasChildNodes()) {
|
|
29966
|
+
txt = headerMark + ' ';
|
|
29967
|
+
var children = node.childNodes,
|
|
29968
|
+
childrenLength = children.length;
|
|
29969
|
+
|
|
29970
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
29971
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
29972
|
+
}
|
|
29973
|
+
}
|
|
29974
|
+
return txt;
|
|
29975
|
+
});
|
|
29976
|
+
|
|
29977
|
+
showdown.subParser('makeMarkdown.hr', function () {
|
|
29978
|
+
|
|
29979
|
+
return '---';
|
|
29980
|
+
});
|
|
29981
|
+
|
|
29982
|
+
showdown.subParser('makeMarkdown.image', function (node) {
|
|
29983
|
+
|
|
29984
|
+
var txt = '';
|
|
29985
|
+
if (node.hasAttribute('src')) {
|
|
29986
|
+
txt += ' + '>';
|
|
29988
|
+
if (node.hasAttribute('width') && node.hasAttribute('height')) {
|
|
29989
|
+
txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');
|
|
29990
|
+
}
|
|
29991
|
+
|
|
29992
|
+
if (node.hasAttribute('title')) {
|
|
29993
|
+
txt += ' "' + node.getAttribute('title') + '"';
|
|
29994
|
+
}
|
|
29995
|
+
txt += ')';
|
|
29996
|
+
}
|
|
29997
|
+
return txt;
|
|
29998
|
+
});
|
|
29999
|
+
|
|
30000
|
+
showdown.subParser('makeMarkdown.links', function (node, globals) {
|
|
30001
|
+
|
|
30002
|
+
var txt = '';
|
|
30003
|
+
if (node.hasChildNodes() && node.hasAttribute('href')) {
|
|
30004
|
+
var children = node.childNodes,
|
|
30005
|
+
childrenLength = children.length;
|
|
30006
|
+
txt = '[';
|
|
30007
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30008
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30009
|
+
}
|
|
30010
|
+
txt += '](';
|
|
30011
|
+
txt += '<' + node.getAttribute('href') + '>';
|
|
30012
|
+
if (node.hasAttribute('title')) {
|
|
30013
|
+
txt += ' "' + node.getAttribute('title') + '"';
|
|
30014
|
+
}
|
|
30015
|
+
txt += ')';
|
|
30016
|
+
}
|
|
30017
|
+
return txt;
|
|
30018
|
+
});
|
|
30019
|
+
|
|
30020
|
+
showdown.subParser('makeMarkdown.list', function (node, globals, type) {
|
|
30021
|
+
|
|
30022
|
+
var txt = '';
|
|
30023
|
+
if (!node.hasChildNodes()) {
|
|
30024
|
+
return '';
|
|
30025
|
+
}
|
|
30026
|
+
var listItems = node.childNodes,
|
|
30027
|
+
listItemsLenght = listItems.length,
|
|
30028
|
+
listNum = node.getAttribute('start') || 1;
|
|
30029
|
+
|
|
30030
|
+
for (var i = 0; i < listItemsLenght; ++i) {
|
|
30031
|
+
if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {
|
|
30032
|
+
continue;
|
|
30033
|
+
}
|
|
30034
|
+
|
|
30035
|
+
// define the bullet to use in list
|
|
30036
|
+
var bullet = '';
|
|
30037
|
+
if (type === 'ol') {
|
|
30038
|
+
bullet = listNum.toString() + '. ';
|
|
30039
|
+
} else {
|
|
30040
|
+
bullet = '- ';
|
|
30041
|
+
}
|
|
30042
|
+
|
|
30043
|
+
// parse list item
|
|
30044
|
+
txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);
|
|
30045
|
+
++listNum;
|
|
30046
|
+
}
|
|
30047
|
+
|
|
30048
|
+
// add comment at the end to prevent consecutive lists to be parsed as one
|
|
30049
|
+
txt += '\n<!-- -->\n';
|
|
30050
|
+
return txt.trim();
|
|
30051
|
+
});
|
|
30052
|
+
|
|
30053
|
+
showdown.subParser('makeMarkdown.listItem', function (node, globals) {
|
|
30054
|
+
|
|
30055
|
+
var listItemTxt = '';
|
|
30056
|
+
|
|
30057
|
+
var children = node.childNodes,
|
|
30058
|
+
childrenLenght = children.length;
|
|
30059
|
+
|
|
30060
|
+
for (var i = 0; i < childrenLenght; ++i) {
|
|
30061
|
+
listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30062
|
+
}
|
|
30063
|
+
// if it's only one liner, we need to add a newline at the end
|
|
30064
|
+
if (!/\n$/.test(listItemTxt)) {
|
|
30065
|
+
listItemTxt += '\n';
|
|
30066
|
+
} else {
|
|
30067
|
+
// it's multiparagraph, so we need to indent
|
|
30068
|
+
listItemTxt = listItemTxt
|
|
30069
|
+
.split('\n')
|
|
30070
|
+
.join('\n ')
|
|
30071
|
+
.replace(/^ {4}$/gm, '')
|
|
30072
|
+
.replace(/\n\n+/g, '\n\n');
|
|
30073
|
+
}
|
|
30074
|
+
|
|
30075
|
+
return listItemTxt;
|
|
30076
|
+
});
|
|
30077
|
+
|
|
30078
|
+
|
|
30079
|
+
|
|
30080
|
+
showdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {
|
|
30081
|
+
|
|
30082
|
+
spansOnly = spansOnly || false;
|
|
30083
|
+
|
|
30084
|
+
var txt = '';
|
|
30085
|
+
|
|
30086
|
+
// edge case of text without wrapper paragraph
|
|
30087
|
+
if (node.nodeType === 3) {
|
|
30088
|
+
return showdown.subParser('makeMarkdown.txt')(node, globals);
|
|
30089
|
+
}
|
|
30090
|
+
|
|
30091
|
+
// HTML comment
|
|
30092
|
+
if (node.nodeType === 8) {
|
|
30093
|
+
return '<!--' + node.data + '-->\n\n';
|
|
30094
|
+
}
|
|
30095
|
+
|
|
30096
|
+
// process only node elements
|
|
30097
|
+
if (node.nodeType !== 1) {
|
|
30098
|
+
return '';
|
|
30099
|
+
}
|
|
30100
|
+
|
|
30101
|
+
var tagName = node.tagName.toLowerCase();
|
|
30102
|
+
|
|
30103
|
+
switch (tagName) {
|
|
30104
|
+
|
|
30105
|
+
//
|
|
30106
|
+
// BLOCKS
|
|
30107
|
+
//
|
|
30108
|
+
case 'h1':
|
|
30109
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\n\n'; }
|
|
30110
|
+
break;
|
|
30111
|
+
case 'h2':
|
|
30112
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\n\n'; }
|
|
30113
|
+
break;
|
|
30114
|
+
case 'h3':
|
|
30115
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\n\n'; }
|
|
30116
|
+
break;
|
|
30117
|
+
case 'h4':
|
|
30118
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\n\n'; }
|
|
30119
|
+
break;
|
|
30120
|
+
case 'h5':
|
|
30121
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\n\n'; }
|
|
30122
|
+
break;
|
|
30123
|
+
case 'h6':
|
|
30124
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\n\n'; }
|
|
30125
|
+
break;
|
|
30126
|
+
|
|
30127
|
+
case 'p':
|
|
30128
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\n\n'; }
|
|
30129
|
+
break;
|
|
30130
|
+
|
|
30131
|
+
case 'blockquote':
|
|
30132
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\n\n'; }
|
|
30133
|
+
break;
|
|
30134
|
+
|
|
30135
|
+
case 'hr':
|
|
30136
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\n\n'; }
|
|
30137
|
+
break;
|
|
30138
|
+
|
|
30139
|
+
case 'ol':
|
|
30140
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\n\n'; }
|
|
30141
|
+
break;
|
|
30142
|
+
|
|
30143
|
+
case 'ul':
|
|
30144
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\n\n'; }
|
|
30145
|
+
break;
|
|
30146
|
+
|
|
30147
|
+
case 'precode':
|
|
30148
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\n\n'; }
|
|
30149
|
+
break;
|
|
30150
|
+
|
|
30151
|
+
case 'pre':
|
|
30152
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\n\n'; }
|
|
30153
|
+
break;
|
|
30154
|
+
|
|
30155
|
+
case 'table':
|
|
30156
|
+
if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\n\n'; }
|
|
30157
|
+
break;
|
|
30158
|
+
|
|
30159
|
+
//
|
|
30160
|
+
// SPANS
|
|
30161
|
+
//
|
|
30162
|
+
case 'code':
|
|
30163
|
+
txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);
|
|
30164
|
+
break;
|
|
30165
|
+
|
|
30166
|
+
case 'em':
|
|
30167
|
+
case 'i':
|
|
30168
|
+
txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);
|
|
30169
|
+
break;
|
|
30170
|
+
|
|
30171
|
+
case 'strong':
|
|
30172
|
+
case 'b':
|
|
30173
|
+
txt = showdown.subParser('makeMarkdown.strong')(node, globals);
|
|
30174
|
+
break;
|
|
30175
|
+
|
|
30176
|
+
case 'del':
|
|
30177
|
+
txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);
|
|
30178
|
+
break;
|
|
30179
|
+
|
|
30180
|
+
case 'a':
|
|
30181
|
+
txt = showdown.subParser('makeMarkdown.links')(node, globals);
|
|
30182
|
+
break;
|
|
30183
|
+
|
|
30184
|
+
case 'img':
|
|
30185
|
+
txt = showdown.subParser('makeMarkdown.image')(node, globals);
|
|
30186
|
+
break;
|
|
30187
|
+
|
|
30188
|
+
default:
|
|
30189
|
+
txt = node.outerHTML + '\n\n';
|
|
30190
|
+
}
|
|
30191
|
+
|
|
30192
|
+
// common normalization
|
|
30193
|
+
// TODO eventually
|
|
30194
|
+
|
|
30195
|
+
return txt;
|
|
30196
|
+
});
|
|
30197
|
+
|
|
30198
|
+
showdown.subParser('makeMarkdown.paragraph', function (node, globals) {
|
|
30199
|
+
|
|
30200
|
+
var txt = '';
|
|
30201
|
+
if (node.hasChildNodes()) {
|
|
30202
|
+
var children = node.childNodes,
|
|
30203
|
+
childrenLength = children.length;
|
|
30204
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30205
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30206
|
+
}
|
|
30207
|
+
}
|
|
30208
|
+
|
|
30209
|
+
// some text normalization
|
|
30210
|
+
txt = txt.trim();
|
|
30211
|
+
|
|
30212
|
+
return txt;
|
|
30213
|
+
});
|
|
30214
|
+
|
|
30215
|
+
showdown.subParser('makeMarkdown.pre', function (node, globals) {
|
|
30216
|
+
|
|
30217
|
+
var num = node.getAttribute('prenum');
|
|
30218
|
+
return '<pre>' + globals.preList[num] + '</pre>';
|
|
30219
|
+
});
|
|
30220
|
+
|
|
30221
|
+
showdown.subParser('makeMarkdown.strikethrough', function (node, globals) {
|
|
30222
|
+
|
|
30223
|
+
var txt = '';
|
|
30224
|
+
if (node.hasChildNodes()) {
|
|
30225
|
+
txt += '~~';
|
|
30226
|
+
var children = node.childNodes,
|
|
30227
|
+
childrenLength = children.length;
|
|
30228
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30229
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30230
|
+
}
|
|
30231
|
+
txt += '~~';
|
|
30232
|
+
}
|
|
30233
|
+
return txt;
|
|
30234
|
+
});
|
|
30235
|
+
|
|
30236
|
+
showdown.subParser('makeMarkdown.strong', function (node, globals) {
|
|
30237
|
+
|
|
30238
|
+
var txt = '';
|
|
30239
|
+
if (node.hasChildNodes()) {
|
|
30240
|
+
txt += '**';
|
|
30241
|
+
var children = node.childNodes,
|
|
30242
|
+
childrenLength = children.length;
|
|
30243
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30244
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals);
|
|
30245
|
+
}
|
|
30246
|
+
txt += '**';
|
|
30247
|
+
}
|
|
30248
|
+
return txt;
|
|
30249
|
+
});
|
|
30250
|
+
|
|
30251
|
+
showdown.subParser('makeMarkdown.table', function (node, globals) {
|
|
30252
|
+
|
|
30253
|
+
var txt = '',
|
|
30254
|
+
tableArray = [[], []],
|
|
30255
|
+
headings = node.querySelectorAll('thead>tr>th'),
|
|
30256
|
+
rows = node.querySelectorAll('tbody>tr'),
|
|
30257
|
+
i, ii;
|
|
30258
|
+
for (i = 0; i < headings.length; ++i) {
|
|
30259
|
+
var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),
|
|
30260
|
+
allign = '---';
|
|
30261
|
+
|
|
30262
|
+
if (headings[i].hasAttribute('style')) {
|
|
30263
|
+
var style = headings[i].getAttribute('style').toLowerCase().replace(/\s/g, '');
|
|
30264
|
+
switch (style) {
|
|
30265
|
+
case 'text-align:left;':
|
|
30266
|
+
allign = ':---';
|
|
30267
|
+
break;
|
|
30268
|
+
case 'text-align:right;':
|
|
30269
|
+
allign = '---:';
|
|
30270
|
+
break;
|
|
30271
|
+
case 'text-align:center;':
|
|
30272
|
+
allign = ':---:';
|
|
30273
|
+
break;
|
|
30274
|
+
}
|
|
30275
|
+
}
|
|
30276
|
+
tableArray[0][i] = headContent.trim();
|
|
30277
|
+
tableArray[1][i] = allign;
|
|
30278
|
+
}
|
|
30279
|
+
|
|
30280
|
+
for (i = 0; i < rows.length; ++i) {
|
|
30281
|
+
var r = tableArray.push([]) - 1,
|
|
30282
|
+
cols = rows[i].getElementsByTagName('td');
|
|
30283
|
+
|
|
30284
|
+
for (ii = 0; ii < headings.length; ++ii) {
|
|
30285
|
+
var cellContent = ' ';
|
|
30286
|
+
if (typeof cols[ii] !== 'undefined') {
|
|
30287
|
+
cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);
|
|
30288
|
+
}
|
|
30289
|
+
tableArray[r].push(cellContent);
|
|
30290
|
+
}
|
|
30291
|
+
}
|
|
30292
|
+
|
|
30293
|
+
var cellSpacesCount = 3;
|
|
30294
|
+
for (i = 0; i < tableArray.length; ++i) {
|
|
30295
|
+
for (ii = 0; ii < tableArray[i].length; ++ii) {
|
|
30296
|
+
var strLen = tableArray[i][ii].length;
|
|
30297
|
+
if (strLen > cellSpacesCount) {
|
|
30298
|
+
cellSpacesCount = strLen;
|
|
30299
|
+
}
|
|
30300
|
+
}
|
|
30301
|
+
}
|
|
30302
|
+
|
|
30303
|
+
for (i = 0; i < tableArray.length; ++i) {
|
|
30304
|
+
for (ii = 0; ii < tableArray[i].length; ++ii) {
|
|
30305
|
+
if (i === 1) {
|
|
30306
|
+
if (tableArray[i][ii].slice(-1) === ':') {
|
|
30307
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';
|
|
30308
|
+
} else {
|
|
30309
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');
|
|
30310
|
+
}
|
|
30311
|
+
} else {
|
|
30312
|
+
tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);
|
|
30313
|
+
}
|
|
30314
|
+
}
|
|
30315
|
+
txt += '| ' + tableArray[i].join(' | ') + ' |\n';
|
|
30316
|
+
}
|
|
30317
|
+
|
|
30318
|
+
return txt.trim();
|
|
30319
|
+
});
|
|
30320
|
+
|
|
30321
|
+
showdown.subParser('makeMarkdown.tableCell', function (node, globals) {
|
|
30322
|
+
|
|
30323
|
+
var txt = '';
|
|
30324
|
+
if (!node.hasChildNodes()) {
|
|
30325
|
+
return '';
|
|
30326
|
+
}
|
|
30327
|
+
var children = node.childNodes,
|
|
30328
|
+
childrenLength = children.length;
|
|
30329
|
+
|
|
30330
|
+
for (var i = 0; i < childrenLength; ++i) {
|
|
30331
|
+
txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);
|
|
30332
|
+
}
|
|
30333
|
+
return txt.trim();
|
|
30334
|
+
});
|
|
30335
|
+
|
|
30336
|
+
showdown.subParser('makeMarkdown.txt', function (node) {
|
|
30337
|
+
|
|
30338
|
+
var txt = node.nodeValue;
|
|
30339
|
+
|
|
30340
|
+
// multiple spaces are collapsed
|
|
30341
|
+
txt = txt.replace(/ +/g, ' ');
|
|
30342
|
+
|
|
30343
|
+
// replace the custom ¨NBSP; with a space
|
|
30344
|
+
txt = txt.replace(/¨NBSP;/g, ' ');
|
|
30345
|
+
|
|
30346
|
+
// ", <, > and & should replace escaped html entities
|
|
30347
|
+
txt = showdown.helper.unescapeHTMLEntities(txt);
|
|
30348
|
+
|
|
30349
|
+
// escape markdown magic characters
|
|
30350
|
+
// emphasis, strong and strikethrough - can appear everywhere
|
|
30351
|
+
// we also escape pipe (|) because of tables
|
|
30352
|
+
// and escape ` because of code blocks and spans
|
|
30353
|
+
txt = txt.replace(/([*_~|`])/g, '\\$1');
|
|
30354
|
+
|
|
30355
|
+
// escape > because of blockquotes
|
|
30356
|
+
txt = txt.replace(/^(\s*)>/g, '\\$1>');
|
|
30357
|
+
|
|
30358
|
+
// hash character, only troublesome at the beginning of a line because of headers
|
|
30359
|
+
txt = txt.replace(/^#/gm, '\\#');
|
|
30360
|
+
|
|
30361
|
+
// horizontal rules
|
|
30362
|
+
txt = txt.replace(/^(\s*)([-=]{3,})(\s*)$/, '$1\\$2$3');
|
|
30363
|
+
|
|
30364
|
+
// dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer
|
|
30365
|
+
txt = txt.replace(/^( {0,3}\d+)\./gm, '$1\\.');
|
|
30366
|
+
|
|
30367
|
+
// +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)
|
|
30368
|
+
txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\$2');
|
|
30369
|
+
|
|
30370
|
+
// images and links, ] followed by ( is problematic, so we escape it
|
|
30371
|
+
txt = txt.replace(/]([\s]*)\(/g, '\\]$1\\(');
|
|
30372
|
+
|
|
30373
|
+
// reference URIs must also be escaped
|
|
30374
|
+
txt = txt.replace(/^ {0,3}\[([\S \t]*?)]:/gm, '\\[$1]:');
|
|
30375
|
+
|
|
30376
|
+
return txt;
|
|
30377
|
+
});
|
|
30378
|
+
|
|
29746
30379
|
var root = this;
|
|
29747
30380
|
|
|
29748
30381
|
// AMD Loader
|
|
@@ -30752,7 +31385,7 @@ const QuickStartController = ({ quickStart, nextQuickStarts, contentRef, footerC
|
|
|
30752
31385
|
const getQuickStartActiveTask = React.useCallback(() => {
|
|
30753
31386
|
let activeTaskNumber = 0;
|
|
30754
31387
|
while (activeTaskNumber !== totalTasks &&
|
|
30755
|
-
activeQuickStartState[`taskStatus${activeTaskNumber}`]
|
|
31388
|
+
activeQuickStartState[`taskStatus${activeTaskNumber}`] === QuickStartTaskStatus.SUCCESS) {
|
|
30756
31389
|
activeTaskNumber++;
|
|
30757
31390
|
}
|
|
30758
31391
|
return activeTaskNumber;
|