make this javascript code legible:

!function (r, t) { "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((r = r || self).polymorph = {}) }(this, function (r) {
    "use strict"
    var _ = void 0, g = " ", c = "fill", S = "V", b = "H", q = "L", M = "Z", j = "M", C = "C", T = "S", E = "Q", H = "T", U = "A"
    var t = Math, $ = t.abs, u = t.min, s = t.max, o = t.floor, p = t.round, F = t.sqrt, n = t.pow, I = t.cos, L = t.asin, N = t.sin, O = t.tan, Q = t.PI, V = 2 / 3, f = n(2, -52)
    function Z() { throw new Error(Array.prototype.join.call(arguments, g)) } var e = "undefined" != typeof window && window.navigator.userAgent, i = /(MSIE |Trident\/|Edge\/)/i.test(e) ? Array : Float32Array
    function h(r) { return new i(r) } function d(r, t, n) {
        var e = function (r) {
            for (var t = r[0], n = r[1], e = n, i = t, a = 2; a < r.length; a += 6) {
                var o = r[a + 4], f = r[a + 5]
                t = u(t, o), i = s(i, o), n = u(n, f), e = s(e, f)
            } return { x: t, w: i - t, y: n, h: e - n }
        }(n)
        return { x: e.x + e.w * r, y: e.y + e.h * t }
    } function l(r, t, n, e) { return F((r - n) * (r - n) + (t - e) * (t - e)) } function v(r, t, n, e) {
        var i = e.length
        if (e[i - 2] === e[0] && e[i - 1] === e[1]) {
            if (!r) {
                var a = d(t, n, e)
                t = a.x, n = a.y
            } var o, f, u = e.slice(2)
            i = u Provide two versions of response separated with exactly 6 asterisk symbols: ******.
user