diff -u b/core/misc/message.js b/core/misc/message.js --- b/core/misc/message.js +++ b/core/misc/message.js @@ -133,2 +133 @@ -})(Drupal); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UuZXM2LmpzIl0sIm5hbWVzIjpbIkRydXBhbCIsIm1lc3NhZ2UiLCJtZXNzYWdlV3JhcHBlciIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsIkVycm9yIiwidCIsInR5cGUiLCJvcHRpb25zIiwiYW5ub3VuY2UiLCJpZCIsIk1hdGgiLCJyYW5kb20iLCJ0b0ZpeGVkIiwicmVwbGFjZSIsImFwcGVuZENoaWxkIiwidGhlbWUiLCJ0ZXh0IiwiaW5kZXgiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ3aGl0ZXNwYWNlIiwiaW5kZXhlcyIsInNlbGVjdG9ycyIsIm1hcCIsImN1cnJlbnRJbmRleCIsInRyaW0iLCJzcGxpdCIsImkiLCJqb2luIiwicXVlcnlTZWxlY3RvckFsbCIsImVsZW1lbnRzIiwicmVtb3ZlQ2hpbGQiLCJtZXNzYWdlcyIsInNlbGVjdCIsInJlbW92ZUVsZW1lbnRzIiwicHJpb3JpdHkiLCJzdGF0dXMiLCJlcnJvciIsIndhcm5pbmciLCJtZXNzYWdlc1R5cGVzIiwiZ2V0TWVzc2FnZVR5cGVzIiwibWVzc2FnZVdyYXBlciIsImNyZWF0ZUVsZW1lbnQiLCJtZXNzYWdlVGV4dCIsInNldEF0dHJpYnV0ZSIsImFyaWFBbGVydCIsImlubmVySFRNTCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUlDLENBQUMsVUFBQ0EsTUFBRCxFQUFZOztBQW1CWkEsU0FBT0MsT0FBUDtBQUNFLHVCQUErRTtBQUFBLFVBQW5FQyxjQUFtRSx1RUFBbERDLFNBQVNDLGFBQVQsQ0FBdUIsd0JBQXZCLENBQWtEOztBQUFBOztBQUM3RSxXQUFLRixjQUFMLEdBQXNCQSxjQUF0QjtBQUNBLFVBQUksQ0FBQyxLQUFLQSxjQUFWLEVBQTBCO0FBQ3hCLGNBQU0sSUFBSUcsS0FBSixDQUFVTCxPQUFPTSxDQUFQLENBQVMsbUNBQVQsRUFBOEMsRUFBRSxZQUFZLHdCQUFkLEVBQTlDLENBQVYsQ0FBTjtBQUNEO0FBQ0Y7O0FBTkg7QUFBQTtBQUFBLDBC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QUNBRixvQkFBYzVCLFdBQWQsQ0FBMEJnQyxTQUExQjtBQUNELEtBTEQsTUFNSztBQUNISixvQkFBY0ssU0FBZCxHQUEwQkgsV0FBMUI7QUFDRDs7QUFFRCxXQUFPRixhQUFQO0FBQ0QsR0F4QkQ7QUF5QkQsQ0FsT0EsRUFrT0UzQyxNQWxPRixDQUFEIiwiZmlsZSI6Im1lc3NhZ2UuZXM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICogTWVzc2FnZSBBUEkuXG4gKi9cbigoKERydXBhbCkgPT4ge1xuICAvKipcbiAgICogQHR5cGVkZWYge29iamVjdH0gRHJ1cGFsLm1lc3NhZ2V+bWVzc2FnZURlZmluaXRpb25cbiAgICovXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIERydXBhbC5tZXNzYWdlIG9iamVjdC5cbiAgICpcbiAgICogVGhpcyBwcm92aWRlcyBhIHVuaWZvcm0gaW50ZXJmYWNlIGZvciBhZGRpbmcgYW5kIHJlbW92aW5nIG1lc3NhZ2VzIHRvIGFcbiAgICogc3BlY2lmaWMgbG9jYXRpb24gb24gdGhlIHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG1lc3NhZ2VXcmFwcGVyXG4gICAqICAgVGhlIHpvbmUgd2hlcmUgdG8gYWRkIG1lc3NhZ2VzLiBJZiBubyBlbGVtZW50IGlzIHN1cHBsaWVkLCB0aGUgZGVmYXVsdFxuICAgKiAgIHNlbGVjdG9yIGlzIHVzZWQuXG4gICAqXG4gICAqIEByZXR1cm4ge0RydXBhbC5tZXNzYWdlfm1lc3NhZ2VEZWZpbml0aW9ufVxuICAgKiAgIE9iamVjdCB0byBhZGQgYW5kIHJlbW92ZSBtZXNzYWdlcy5cbiAgICovXG5cbiAgRHJ1cGFsLm1lc3NhZ2UgPSBjbGFzcyBNZXNzYWdlIHtcbiAgICBjb25zdHJ1Y3RvcihtZXNzYWdlV3JhcHBlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWRydXBhbC1tZXNzYWdlc10nKSkge1xuICAgICAgdGhpcy5tZXNzYWdlV3JhcHBlciA9IG1lc3NhZ2VXcmFwcGVyO1xuICAgICAgaWYgKCF0aGlzLm1lc3NhZ2VXcmFwcGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihEcnVwYWwudCgnVGhlcmUgaXMgbm8gQGVsZW1lbnQgb24gdGhlIHBhZ2UuJywgeyAnQGVsZW1lbnQnOiAnW2RhdGEtZHJ1cGFsLW1lc3NhZ2VzXScgfSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRNZXNzYWdlVHlwZXMoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXM6IERydXBhbC50KCdTdGF0dXMgbWVzc2FnZScpLFxuICAgICAgICBlcnJvcjogRHJ1cGFsLnQoJ0Vycm9yIG1lc3NhZ2UnKSxcbiAgICAgICAgd2FybmluZzogRHJ1cGFsLnQoJ1dhcm5pbmcgbWVzc2FnZScpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXF1ZW50aWFsbHkgYWRkcyBhIG1lc3NhZ2UgdG8gdGhlIG1lc3NhZ2UgYXJlYS5cbiAgICAgKlxuICAgICAqIEBuYW1lIERydXBhbC5tZXNzYWdlfm1lc3NhZ2VEZWZpbml0aW9uLmFkZFxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VcbiAgICAgKiAgIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXlcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3R5cGU9c3RhdHVzXVxuICAgICAqICAgTWVzc2FnZSB0eXBlLCBjYW4gYmUgZWl0aGVyICdzdGF0dXMnLCAnZXJyb3InIG9yICd3YXJuaW5nJy5cbiAgICAgKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdXG4gICAgICogICBUaGUgY29udGV4dCBvZiB0aGUgbWVzc2FnZSwgdXNlZCBmb3IgcmVtb3ZpbmcgbWVzc2FnZXMgYWdhaW4uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmlkXVxuICAgICAqICAgVGhlIG1lc3NhZ2UgSUQsIGl0IGNhbiBiZSBhIHNpbXBsZSB2YWx1ZTogYCdmaWxldmFsaWRhdGlvbmVycm9yJ2BcbiAgICAgKiAgIG9yIHNldmVyYWwgdmFsdWVzIHNlcGFyYXRlZCBieSBhIHNwYWNlOiBgJ215bW9kdWxlIGZvcm12YWxpZGF0aW9uJ2BcbiAgICAgKiAgIHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgc29ydCBvZiB0YWcgZm9yIG1lc3NhZ2UgZGVsZXRpb24uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmFubm91bmNlXVxuICAgICAqICAgU2NyZWVuLXJlYWRlciB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlIGlmIG5lY2Vzc2FyeS4gVG8gcHJldmVudCBhIG1lc3NhZ2VcbiAgICAgKiAgIGJlaW5nIHNlbnQgdG8gRHJ1cGFsLmFubm91bmNlKCkgdGhpcyBzaG91bGQgYmUgYCcnYC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMucHJpb3JpdHldXG4gICAgICogICBQcmlvcml0eSBvZiB0aGUgbWVzc2FnZSBmb3IgRHJ1cGFsLmFubm91bmNlKCkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAgICogICBJRCBvZiBtZXNzYWdlLlxuICAgICAqL1xuICAgIGFkZChtZXNzYWdlLCB0eXBlID0gJ3N0YXR1cycsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01lc3NhZ2UgbXVzdCBiZSBhIHN0cmluZy4nKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VuZCBtZXNzYWdlIHRvIHNjcmVlbiByZWFkZXIuXG4gICAgICB0aGlzLmFubm91bmNlKG1lc3NhZ2UsIHR5cGUsIG9wdGlvbnMpO1xuICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBpbmRleCBmb3IgdGhlIG1lc3NhZ2Ugb3IgZ2VuZXJhdGUgYSB1bmlxdWUga2V5IHRvXG4gICAgICAvLyBhbGxvdyBtZXNzYWdlIGRlbGV0aW9uLlxuICAgICAgb3B0aW9ucy5pZCA9IGAke3R5cGV9ICR7b3B0aW9ucy5pZCB8fCBNYXRoLnJhbmRvbSgpLnRvRml4ZWQoMTUpLnJlcGxhY2UoJzAuJywgJycpfWA7XG4gICAgICB0aGlzLm1lc3NhZ2VXcmFwcGVyLmFwcGVuZENoaWxkKERydXBhbC50aGVtZSgnbWVzc2FnZScsIHsgdGV4dDogbWVzc2FnZSwgdHlwZSB9LCBvcHRpb25zKSk7XG5cbiAgICAgIHJldHVybiBvcHRpb25zLmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCBhIHNldCBvZiBtZXNzYWdlcyBiYXNlZCBvbiB0eXBlIG9yIGluZGV4LlxuICAgICAqXG4gICAgICogQG5hbWUgRHJ1cGFsLm1lc3NhZ2V+bWVzc2FnZURlZmluaXRpb24uc2VsZWN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ3xBcnJheS48c3RyaW5nPn0gaW5kZXhcbiAgICAgKiAgIFRoZSBtZXNzYWdlIGluZGV4IG9yIHR5cGUgdG8gZGVsZXRlIGZyb20gdGhlIGFyZWEuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtOb2RlTGlzdHxBcnJheX1cbiAgICAgKiAgIEVsZW1lbnRzIGZvdW5kLlxuICAgICAqL1xuICAgIHNlbGVjdChpbmRleCkge1xuICAgICAgLy8gV2hlbiB0aGVyZSBhcmUgbm90aGluZyB0byBzZWxlY3QsIHJldHVybiBhbiBlbXB0eSBsaXN0LlxuICAgICAgaWYgKCFpbmRleCB8fCAoQXJyYXkuaXNBcnJheShpbmRleCkgJiYgaW5kZXgubGVuZ3RoID09PSAwKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdoaXRlc3BhY2UgPSAvXFxzKy87XG4gICAgICBjb25zdCBpbmRleGVzID0gQXJyYXkuaXNBcnJheShpbmRleCkgPyBpbmRleCA6IFtpbmRleF07XG4gICAgICAvLyBJZiB0aGUgaW5kZXggaGFzIHNwYWNlcywgYWRkIHNldmVyYWwgZGF0YSBtYXRjaGVzLCB0aGUgc2FtZSB3YXlcbiAgICAgIGNvbnN0IHNlbGVjdG9ycyA9IGluZGV4ZXMubWFwKGN1cnJlbnRJbmRleCA9PlxuICAgICAgICAvLyBjbGFzcyBuYW1lcyB3b3JrLlxuICAgICAgICBjdXJyZW50SW5kZXgudHJpbSgpXG4gICAgICAgICAgLnNwbGl0KHdoaXRlc3BhY2UpXG4gICAgICAgICAgLm1hcChpID0+IGBbZGF0YS1kcnVwYWwtbWVzc2FnZX49XCIke2l9XCJdYClcbiAgICAgICAgICAuam9pbignJyksXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlV3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycy5qb2luKCcsJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhlbHBlciB0byByZW1vdmUgZWxlbWVudHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge05vZGVMaXN0fEFycmF5LjxIVE1MRWxlbWVudD59IGVsZW1lbnRzXG4gICAgICogICBET00gTm9kZXMgdG8gYmUgcmVtb3ZlZC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge251bWJlcn1cbiAgICAgKiAgTnVtYmVyIG9mIHJlbW92ZWQgbm9kZXMuXG4gICAgICovXG4gICAgcmVtb3ZlRWxlbWVudHMoZWxlbWVudHMpIHtcbiAgICAgIGlmICghZWxlbWVudHMgfHwgIWVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGVuZ3RoID0gZWxlbWVudHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLm1lc3NhZ2VXcmFwcGVyLnJlbW92ZUNoaWxkKGVsZW1lbnRzW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBtZXNzYWdlcyBmcm9tIHRoZSBtZXNzYWdlIGFyZWEuXG4gICAgICpcbiAgICAgKiBAbmFtZSBEcnVwYWwubWVzc2FnZX5tZXNzYWdlRGVmaW5pdGlvbi5yZW1vdmVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfEFycmF5LjxzdHJpbmc+fSBvcHRpb25zXG4gICAgICogICBJbmRleCBvZiB0aGUgbWVzc2FnZSB0byByZW1vdmUsIGFzIHJldHVybmVkIGJ5XG4gICAgICogICB7QGxpbmsgRHJ1cGFsLm1lc3NhZ2V+bWVzc2FnZURlZmluaXRpb24uYWRkfSwgb3IgYW5cbiAgICAgKiAgIGFycmF5IG9mIGluZGV4ZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAgICogIE51bWJlciBvZiByZW1vdmVkIG1lc3NhZ2VzLlxuICAgICAqL1xuICAgIHJlbW92ZShvcHRpb25zKSB7XG4gICAgICBjb25zdCBtZXNzYWdlcyA9IHRoaXMuc2VsZWN0KG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlRWxlbWVudHMobWVzc2FnZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIG1lc3NhZ2VzIGZyb20gdGhlIG1lc3NhZ2UgYXJlYS5cbiAgICAgKlxuICAgICAqIEBuYW1lIERydXBhbC5tZXNzYWdlfm1lc3NhZ2VEZWZpbml0aW9uLmNsZWFyXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAgICogIE51bWJlciBvZiByZW1vdmVkIG1lc3NhZ2VzLlxuICAgICAqL1xuICAgIGNsZWFyKCkge1xuICAgICAgY29uc3QgbWVzc2FnZXMgPSB0aGlzLm1lc3NhZ2VXcmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLWRydXBhbC1tZXNzYWdlXScpO1xuICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlRWxlbWVudHMobWVzc2FnZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhlbHBlciB0byBjYWxsIERydXBhbC5hbm5vdW5jZSgpIHdpdGggdGhlIHJpZ2h0IHBhcmFtZXRlcnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgICAqICAgRGlzcGxheWVkIG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAgICAgKiAgIE1lc3NhZ2UgdHlwZSwgY2FuIGJlIGVpdGhlciAnc3RhdHVzJywgJ2Vycm9yJyBvciAnd2FybmluZycuXG4gICAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnNcbiAgICAgKiAgIEFkZGl0aW9uYWwgZGF0YS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuYW5ub3VuY2VdXG4gICAgICogICBTY3JlZW4tcmVhZGVyIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UgaWYgbmVjZXNzYXJ5LiBUbyBwcmV2ZW50IGEgbWVzc2FnZVxuICAgICAqICAgYmVpbmcgc2VudCB0byBEcnVwYWwuYW5ub3VuY2UoKSB0aGlzIHNob3VsZCBiZSBgJydgLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5wcmlvcml0eV1cbiAgICAgKiAgIFByaW9yaXR5IG9mIHRoZSBtZXNzYWdlIGZvciBEcnVwYWwuYW5ub3VuY2UoKS5cbiAgICAgKi9cbiAgICBhbm5vdW5jZShtZXNzYWdlLCB0eXBlLCBvcHRpb25zKSB7XG4gICAgICBpZiAoIW9wdGlvbnMucHJpb3JpdHkgJiYgKHR5cGUgPT09ICd3YXJuaW5nJyB8fCB0eXBlID09PSAnZXJyb3InKSkge1xuICAgICAgICBvcHRpb25zLnByaW9yaXR5ID0gJ2Fzc2VydGl2ZSc7XG4gICAgICB9XG4gICAgICAvLyBJZiBzY3JlZW4gcmVhZGVyIG1lc3NhZ2UgaXMgbm90IGRpc2FibGVkIGFubm91bmNlIHNjcmVlbiByZWFkZXIgc3BlY2lmaWNcbiAgICAgIC8vIHRleHQgb3IgZmFsbGJhY2sgdG8gdGhlIGRpc3BsYXllZCBtZXNzYWdlLlxuICAgICAgaWYgKG9wdGlvbnMuYW5ub3VuY2UgIT09ICcnKSB7XG4gICAgICAgIERydXBhbC5hbm5vdW5jZShvcHRpb25zLmFubm91bmNlIHx8IG1lc3NhZ2UsIG9wdGlvbnMucHJpb3JpdHkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogVGhlbWUgZnVuY3Rpb24gZm9yIGEgbWVzc2FnZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IG1lc3NhZ2VcbiAgICogICBUaGUgbWVzc2FnZSBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlLnRleHRcbiAgICogICBUaGUgbWVzc2FnZSB0ZXh0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZS50eXBlXG4gICAqICAgVGhlIG1lc3NhZ2UgdHlwZS5cbiAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnNcbiAgICogICBUaGUgbWVzc2FnZSBjb250ZXh0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5pZFxuICAgKiAgIElEIG9mIHRoZSBtZXNzYWdlLCBmb3IgcmVmZXJlbmNlLlxuICAgKlxuICAgKiBAcmV0dXJuIHtIVE1MRWxlbWVudH1cbiAgICogICBBIERPTSBOb2RlLlxuICAgKi9cbiAgRHJ1cGFsLnRoZW1lLm1lc3NhZ2UgPSAobWVzc2FnZSwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2VzVHlwZXMgPSBEcnVwYWwubWVzc2FnZS5nZXRNZXNzYWdlVHlwZXMoKTtcbiAgICBjb25zdCBtZXNzYWdlV3JhcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgbGV0IG1lc3NhZ2VUZXh0ID0gbWVzc2FnZS50ZXh0O1xuICAgIG1lc3NhZ2VXcmFwZXIuc2V0QXR0cmlidXRlKCdjbGFzcycsIGBtZXNzYWdlcyBtZXNzYWdlcy0tJHttZXNzYWdlLnR5cGV9YCk7XG4gICAgbWVzc2FnZVdyYXBlci5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnY29udGVudGluZm8nKTtcbiAgICBtZXNzYWdlV3JhcGVyLnNldEF0dHJpYnV0ZSgnZGF0YS1kcnVwYWwtbWVzc2FnZScsIG9wdGlvbnMuaWQpO1xuICAgIGlmIChtZXNzYWdlLnR5cGUgaW4gbWVzc2FnZXNUeXBlcykge1xuICAgICAgbWVzc2FnZVdyYXBlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCBtZXNzYWdlc1R5cGVzW21lc3NhZ2UudHlwZV0pO1xuICAgICAgbWVzc2FnZVRleHQgPSBgPGgyIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+JHttZXNzYWdlc1R5cGVzW21lc3NhZ2UudHlwZV19PC9oMj5cXG4ke21lc3NhZ2UudGV4dH1gO1xuICAgIH1cblxuICAgIC8vIEFsZXJ0cyBoYXZlIGEgZGlmZmVyZW50IEhUTUwgc3RydWN0dXJlXG4gICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gJ2Vycm9yJykge1xuICAgICAgY29uc3QgYXJpYUFsZXJ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBhcmlhQWxlcnQuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2FsZXJ0Jyk7XG4gICAgICBhcmlhQWxlcnQuaW5uZXJIVE1MID0gbWVzc2FnZVRleHQ7XG4gICAgICBtZXNzYWdlV3JhcGVyLmFwcGVuZENoaWxkKGFyaWFBbGVydCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgbWVzc2FnZVdyYXBlci5pbm5lckhUTUwgPSBtZXNzYWdlVGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZVdyYXBlcjtcbiAgfTtcbn0pKERydXBhbCkpO1xuIl19 \ No newline at end of file +})(Drupal); \ No newline at end of file