code: function inverse$10(p) {
          var u, deltav, s, d, eps, ro, fi1;
          var ok;
  
          /* Transformation */
          /* revert y, x*/
          var tmp = p.x;
          p.x = p.y;
          p.y = tmp;
          if (!this.czech) {
              p.y *= -1;
              p.x *= -1;
          }
          ro = Math.sqrt(p.x * p.x + p.y * p.y);
          eps = Math.atan2(p.y, p.x);
          d = eps / Math.sin(this.s0);
          s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);
          u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));
          deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));
          p.x = this.long0 - deltav / this.alfa;
          fi1 = u;
          ok = 0;
          var iter = 0;
          do {
              p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);
              if (Math.abs(fi1 - p.y) < 0.0000000001) {
                  ok = 1;
              }
              fi1 = p.y;
              iter += 1;
          } while (ok === 0 && iter < 15);
          if (iter >= 15) {
              return null;
          }
  
          return (p);
      }
docs: /* calculate lat/lon from xy