import { w as ln, h as un, e as g, t as tn, d as G, s as j, m as _, f as an, p as rn, g as K, i as o, j as z, k as sn, n as on, o as fn } from "./sdk-Ro73WoOX.js";
function cn(l) {
  return l.innerRadius;
}
function gn(l) {
  return l.outerRadius;
}
function yn(l) {
  return l.startAngle;
}
function dn(l) {
  return l.endAngle;
}
function mn(l) {
  return l && l.padAngle;
}
function pn(l, h, E, q, v, A, B, u) {
  var I = E - l, i = q - h, n = B - v, d = u - A, a = d * I - n * i;
  if (!(a * a < g))
    return a = (n * (h - A) - d * (l - v)) / a, [l + a * I, h + a * i];
}
function V(l, h, E, q, v, A, B) {
  var u = l - E, I = h - q, i = (B ? A : -A) / K(u * u + I * I), n = i * I, d = -i * u, a = l + n, s = h + d, f = E + n, c = q + d, C = (a + f) / 2, t = (s + c) / 2, m = f - a, y = c - s, R = m * m + y * y, T = v - A, P = a * c - f * s, O = (y < 0 ? -1 : 1) * K(fn(0, T * T * R - P * P)), S = (P * y - m * O) / R, k = (-P * m - y * O) / R, w = (P * y + m * O) / R, p = (-P * m + y * O) / R, x = S - C, e = k - t, r = w - C, F = p - t;
  return x * x + e * e > r * r + F * F && (S = w, k = p), {
    cx: S,
    cy: k,
    x01: -n,
    y01: -d,
    x11: S * (v / T - 1),
    y11: k * (v / T - 1)
  };
}
function hn() {
  var l = cn, h = gn, E = z(0), q = null, v = yn, A = dn, B = mn, u = null, I = ln(i);
  function i() {
    var n, d, a = +l.apply(this, arguments), s = +h.apply(this, arguments), f = v.apply(this, arguments) - un, c = A.apply(this, arguments) - un, C = an(c - f), t = c > f;
    if (u || (u = n = I()), s < a && (d = s, s = a, a = d), !(s > g)) u.moveTo(0, 0);
    else if (C > tn - g)
      u.moveTo(s * G(f), s * j(f)), u.arc(0, 0, s, f, c, !t), a > g && (u.moveTo(a * G(c), a * j(c)), u.arc(0, 0, a, c, f, t));
    else {
      var m = f, y = c, R = f, T = c, P = C, O = C, S = B.apply(this, arguments) / 2, k = S > g && (q ? +q.apply(this, arguments) : K(a * a + s * s)), w = _(an(s - a) / 2, +E.apply(this, arguments)), p = w, x = w, e, r;
      if (k > g) {
        var F = sn(k / a * j(S)), L = sn(k / s * j(S));
        (P -= F * 2) > g ? (F *= t ? 1 : -1, R += F, T -= F) : (P = 0, R = T = (f + c) / 2), (O -= L * 2) > g ? (L *= t ? 1 : -1, m += L, y -= L) : (O = 0, m = y = (f + c) / 2);
      }
      var H = s * G(m), J = s * j(m), M = a * G(T), N = a * j(T);
      if (w > g) {
        var Q = s * G(y), U = s * j(y), W = a * G(R), X = a * j(R), D;
        if (C < rn)
          if (D = pn(H, J, W, X, Q, U, M, N)) {
            var Y = H - D[0], Z = J - D[1], $ = Q - D[0], b = U - D[1], nn = 1 / j(on((Y * $ + Z * b) / (K(Y * Y + Z * Z) * K($ * $ + b * b))) / 2), en = K(D[0] * D[0] + D[1] * D[1]);
            p = _(w, (a - en) / (nn - 1)), x = _(w, (s - en) / (nn + 1));
          } else
            p = x = 0;
      }
      O > g ? x > g ? (e = V(W, X, H, J, s, x, t), r = V(Q, U, M, N, s, x, t), u.moveTo(e.cx + e.x01, e.cy + e.y01), x < w ? u.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (u.arc(e.cx, e.cy, x, o(e.y01, e.x01), o(e.y11, e.x11), !t), u.arc(0, 0, s, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), !t), u.arc(r.cx, r.cy, x, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : (u.moveTo(H, J), u.arc(0, 0, s, m, y, !t)) : u.moveTo(H, J), !(a > g) || !(P > g) ? u.lineTo(M, N) : p > g ? (e = V(M, N, Q, U, a, -p, t), r = V(H, J, W, X, a, -p, t), u.lineTo(e.cx + e.x01, e.cy + e.y01), p < w ? u.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(r.y01, r.x01), !t) : (u.arc(e.cx, e.cy, p, o(e.y01, e.x01), o(e.y11, e.x11), !t), u.arc(0, 0, a, o(e.cy + e.y11, e.cx + e.x11), o(r.cy + r.y11, r.cx + r.x11), t), u.arc(r.cx, r.cy, p, o(r.y11, r.x11), o(r.y01, r.x01), !t))) : u.arc(0, 0, a, T, R, t);
    }
    if (u.closePath(), n) return u = null, n + "" || null;
  }
  return i.centroid = function() {
    var n = (+l.apply(this, arguments) + +h.apply(this, arguments)) / 2, d = (+v.apply(this, arguments) + +A.apply(this, arguments)) / 2 - rn / 2;
    return [G(d) * n, j(d) * n];
  }, i.innerRadius = function(n) {
    return arguments.length ? (l = typeof n == "function" ? n : z(+n), i) : l;
  }, i.outerRadius = function(n) {
    return arguments.length ? (h = typeof n == "function" ? n : z(+n), i) : h;
  }, i.cornerRadius = function(n) {
    return arguments.length ? (E = typeof n == "function" ? n : z(+n), i) : E;
  }, i.padRadius = function(n) {
    return arguments.length ? (q = n == null ? null : typeof n == "function" ? n : z(+n), i) : q;
  }, i.startAngle = function(n) {
    return arguments.length ? (v = typeof n == "function" ? n : z(+n), i) : v;
  }, i.endAngle = function(n) {
    return arguments.length ? (A = typeof n == "function" ? n : z(+n), i) : A;
  }, i.padAngle = function(n) {
    return arguments.length ? (B = typeof n == "function" ? n : z(+n), i) : B;
  }, i.context = function(n) {
    return arguments.length ? (u = n ?? null, i) : u;
  }, i;
}
export {
  hn as d
};
