              lineSpacer.style.visibility = "hidden";
                  lineSpacer.style.position = "absolute";
                }
              }
            }
          });
        }

        refEquals(a, b) {
          return a && a.dataset && b && b.dataset && a.dataset.ref === b.dataset.ref;
        }

        findFirstAncestor(element, selector) {
          while (element.parentNode && element.parentNode.nodeType === 1) {
            if (element.parentNode.matches(selector)) {
              return elem