text: "use strict";
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.BestAvailableLocale = void 0;
  /**
   * https://tc39.es/ecma402/#sec-bestavailablelocale
   * @param availableLocales
   * @param locale
   */
  function BestAvailableLocale(availableLocales, locale) {
      var candidate = locale;
      while (true) {
          if (availableLocales.has(candidate)) {
              return candidate;
          }
          var pos = candidate.lastIndexOf('-');
          if (!~pos) {
              return undefined;
          }
          if (pos >= 2 && candidate[pos - 2] === '-') {
              pos -= 2;
          }
          candidate = candidate.slice(0, pos);
      }
  }
  exports.BestAvailableLocale = BestAvailableLocale;
  