static render(dom, details, detailsRenderer) {
    const tmpl = dom.createComponent('crc');
    const containerEl = dom.find('.lh-crc', tmpl);

    // Fill in top summary.
    dom.find('.lh-crc-initial-nav', tmpl).textContent = Globals.strings.crcInitialNavigation;
    dom.find('.lh-crc__longest_duration_label', tmpl).textContent =
        Globals.strings.crcLongestDurationLabel;
    dom.find('.lh-crc__longest_duration', tmpl).textContent =
        Globals.i18n.formatMilliseconds(details.longestChain.duration);

    // Construct visual tree.
    const tree = details.chains;
    for (const key of Object.keys(tree)) {
      const segment = CRCRenderer.createSegment(tree, key);
      CRCRenderer.buildTree(dom, segment, containerEl, detailsRenderer);
    }

    return dom.find('.lh-crc-container', tmpl);
  }
@param {DOM} dom
@param {LH.Audit.Details.CriticalRequestChain|LH.Audit.Details.NetworkTree} details
@param {DetailsRenderer} detailsRenderer
@return {Element}