whole_func_string: function needsTemplatePolyfill() {
    // no real <template> because no `content` property (IE and older browsers)
    const template = document.createElement('template');
    if (!('content' in template)) {
      return true;
    }
    // broken doc fragment (older Edge)
    if (!(template.content.cloneNode() instanceof DocumentFragment)) {
      return true;
    }
    // broken <template> cloning (Edge up to at least version 17)
    const template2 = document.createElement('template');
    template2.content.appendChild(document.createElement('div'));
    template.content.appendChild(template2);
    const clone = template.cloneNode(true);
    return (
      // @ts-ignore
      clone.content.childNodes.length === 0 ||
      // @ts-ignore
      clone.content.firstChild.content.childNodes.length === 0
    );
  }
func_code_string: function needsTemplatePolyfill() {
    // no real <template> because no `content` property (IE and older browsers)
    const template = document.createElement('template');
    if (!('content' in template)) {
      return true;
    }
    // broken doc fragment (older Edge)
    if (!(template.content.cloneNode() instanceof DocumentFragment)) {
      return true;
    }
    // broken <template> cloning (Edge up to at least version 17)
    const template2 = document.createElement('template');
    template2.content.appendChild(document.createElement('div'));
    template.content.appendChild(template2);
    const clone = template.cloneNode(true);
    return (
      // @ts-ignore
      clone.content.childNodes.length === 0 ||
      // @ts-ignore
      clone.content.firstChild.content.childNodes.length === 0
    );
  }
func_documentation_string: Web component polyfills loader, based on: https://github.com/webcomponents/webcomponentsjs/blob/master/webcomponents-loader.js
  
  Adapted to not load language polyfills and use dynamic imports