code: function readMultiPolygonGeometry_(text) {
    console.assert(text.substring(0, 2) === 'A(');
    console.assert(text[text.length - 1] == ')');
    text = text.substring(2, text.length - 1);
    let flatCoordinates = [];
    const endss = [];
    const polygons = text.split(')(');
    for (let i = 0, ii = polygons.length; i < ii; ++i) {
      const rings = polygons[i].split('\'');
      const ends = endss[i] = [];
      for (let j = 0, jj = rings.length; j < jj; ++j) {
        flatCoordinates = this.decodeCoordinates_(rings[j], flatCoordinates);
        let end = flatCoordinates.length;
        if (j === 0) {
          flatCoordinates[end++] = flatCoordinates[0];
          flatCoordinates[end++] = flatCoordinates[1];
        } else {
          flatCoordinates[end++] = flatCoordinates[ends[j - 1]];
          flatCoordinates[end++] = flatCoordinates[ends[j - 1] + 1];
        }
        ends[j] = end;
      }
    }
    return new olGeomMultiPolygon(flatCoordinates, olGeomGeometryLayout.XY, endss);
  }
docs: Read a logical sequence of characters and return a corresponding
  {@link import("ol/geom/MultiPolygon.js").default}.
  @param {string} text Text.
  @return {import("ol/geom/MultiPolygon.js").default} MultiPolygon.
  @private
  @hidden
  @this {FeatureHash}