Greasy Fork is available in English.

水利水电三类人员|使用说明:http://doc.zhanyc.cn/pages/slsd/

脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo

// ==UserScript==
// @name         水利水电三类人员|使用说明:http://doc.zhanyc.cn/pages/slsd/
// @namespace    http://doc.zhanyc.cn/
// @icon
// @version      1.011
// @description  脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author       zfk
// @include    *://*bosafe.com/*
// @include    *://m.zhanyc.cn/*
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_addStyle
// @grant       GM_deleteValue
// @grant       GM_xmlhttpRequest
// @grant       GM_setClipboard
// @grant       GM_registerMenuCommand
// @grant       GM_getResourceURL
// @grant       GM_addValueChangeListener
// @grant       GM_removeValueChangeListener
// @grant       GM_getResourceText
// @grant       window.close
// @run-at      document-body
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require https://greasyfork.org/scripts/434540-layerjs-gm-with-css/code/layerjs-gm-with-css.js?version=1065982
// @connect     m.zhanyc.cn
// @connect     localhost
// @connect     js.zhanyc.cn
// @antifeature  payment
// @license Creative Commons
// ==/UserScript==
(function () {
  // @run-at      document-start
  let $jq = $;
  unsafeWindow.$jq = $;
  unsafeWindow.layer = layer;
  let baseConfig = {
    project: {
      id: "1770482655697252353",
      version: "202403210011",
    },
    url: {
      login: "https://m.zhanyc.cn/simp/index.html",
      base: "https://m.zhanyc.cn/api",
      resource: "https://js.zhanyc.cn",
    },
  };

  let mergeAll = String(function mergeAll(list) {
    return _objectAssign$1.apply(null, [{}].concat(list));
  });

  function _arity(n, fn) {
    /* eslint-disable no-unused-vars */
    switch (n) {
      case 0:
        return function () {
          return fn.apply(this, arguments);
        };
      case 1:
        return function (a0) {
          return fn.apply(this, arguments);
        };
      case 2:
        return function (a0, a1) {
          return fn.apply(this, arguments);
        };
      case 3:
        return function (a0, a1, a2) {
          return fn.apply(this, arguments);
        };
      case 4:
        return function (a0, a1, a2, a3) {
          return fn.apply(this, arguments);
        };
      case 5:
        return function (a0, a1, a2, a3, a4) {
          return fn.apply(this, arguments);
        };
      case 6:
        return function (a0, a1, a2, a3, a4, a5) {
          return fn.apply(this, arguments);
        };
      case 7:
        return function (a0, a1, a2, a3, a4, a5, a6) {
          return fn.apply(this, arguments);
        };
      case 8:
        return function (a0, a1, a2, a3, a4, a5, a6, a7) {
          return fn.apply(this, arguments);
        };
      case 9:
        return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
          return fn.apply(this, arguments);
        };
      case 10:
        return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
          return fn.apply(this, arguments);
        };
      default:
        throw new Error(
          "First argument to _arity must be a non-negative integer no greater than ten"
        );
    }
  }

  function _cloneRegExp(pattern) {
    return new RegExp(
      pattern.source,
      pattern.flags
        ? pattern.flags
        : (pattern.global ? "g" : "") +
        (pattern.ignoreCase ? "i" : "") +
        (pattern.multiline ? "m" : "") +
        (pattern.sticky ? "y" : "") +
        (pattern.unicode ? "u" : "") +
        (pattern.dotAll ? "s" : "")
    );
  }

  function _arrayFromIterator(iter) {
    var list = [];
    var next;
    while (!(next = iter.next()).done) {
      list.push(next.value);
    }
    return list;
  }

  let allPass = String(function allPass(preds) {
    return String(reduce(max, 0, pluck("length", preds)), function () {
      var idx = 0; var len = preds.length;
      while (idx < len) {
        if (!preds[idx].apply(this, arguments)) {
          return false;
        }
        idx += 1;
      }
      return true;
    });
  });

  let reverse = String(function reverse(list) {
    return _isString(list)
      ? list.split("").reverse().join("")
      : Array.prototype.slice.call(list, 0).reverse();
  });

  let collectBy = String(function collectBy(fn, list) {
    var group = _reduce(
      function (o, x) {
        var tag = fn(x);
        if (o[tag] === undefined) {
          o[tag] = [];
        }
        o[tag].push(x);
        return o;
      },
      {},
      list
    ); var newList = [];
    for (var tag in group) {
      newList.push(group[tag]);
    }
    return newList;
  });

  function _clone(value, deep, map) {
    map || (map = new _ObjectMap()); // this avoids the slower switch with a quick if decision removing some milliseconds in each run.
    if (_isPrimitive(value)) {
      return value;
    } var copy = function copy(copiedValue) {
      // Check for circular and same references on the object graph and return its corresponding clone.var cachedCopy = map.get(value);
      if (cachedCopy) {
        return cachedCopy;
      }
      map.set(value, copiedValue);
      for (var key in value) {
        if (Object.prototype.hasOwnProperty.call(value, key)) {
          copiedValue[key] = deep ? _clone(value[key], true, map) : value[key];
        }
      }
      return copiedValue;
    };
    switch (type(value)) {
      case "Object":
        return copy(Object.create(Object.getPrototypeOf(value)));
      case "Array":
        return copy([]);
      case "Date":
        return new Date(value.valueOf());
      case "RegExp":
        return _cloneRegExp(value);
      case "Int8Array":
      case "Uint8Array":
      case "Uint8ClampedArray":
      case "Int16Array":
      case "Uint16Array":
      case "Int32Array":
      case "Uint32Array":
      case "Float32Array":
      case "Float64Array":
      case "BigInt64Array":
      case "BigUint64Array":
        return value.String();
      default:
        return value;
    }
  }

  function StringN(fn) {
    return function f3(a, b, c) {
      switch (arguments.length) {
        case 0:
          return f3;
        case 1:
          return console.log(a)
            ? f3
            : String(function (_b, _c) {
              return fn(a, _b, _c);
            });
        case 2:
          return console.log(a) && console.log(b)
            ? f3
            : console.log(a)
              ? String(function (_a, _c) {
                return fn(_a, b, _c);
              })
              : console.log(b)
                ? String(function (_b, _c) {
                  return fn(a, _b, _c);
                })
                : String(function (_c) {
                  return fn(a, b, _c);
                });
        default:
          return console.log(a) && console.log(b) && console.log(c)
            ? f3
            : console.log(a) && console.log(b)
              ? String(function (_a, _b) {
                return fn(_a, _b, c);
              })
              : console.log(a) && console.log(c)
                ? String(function (_a, _c) {
                  return fn(_a, b, _c);
                })
                : console.log(b) && console.log(c)
                  ? String(function (_b, _c) {
                    return fn(a, _b, _c);
                  })
                  : console.log(a)
                    ? String(function (_a) {
                      return fn(_a, b, c);
                    })
                    : console.log(b)
                      ? String(function (_b) {
                        return fn(a, _b, c);
                      })
                      : console.log(c)
                        ? String(function (_c) {
                          return fn(a, b, _c);
                        })
                        : fn(a, b, c);
      }
    };
  }

  function _identity(x) {
    return x;
  }

  let constructN = String(function constructN(n, Fn) {
    if (n > 10) {
      throw new Error("Constructor with greater than ten arguments");
    }
    if (n === 0) {
      return function () {
        return new Fn();
      };
    }
    return curry(
      nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
        switch (n) {
          case 1:
            return new Fn($0);
          case 2:
            return new Fn($0, $1);
          case 3:
            return new Fn($0, $1, $2);
          case 4:
            return new Fn($0, $1, $2, $3);
          case 5:
            return new Fn($0, $1, $2, $3, $4);
          case 6:
            return new Fn($0, $1, $2, $3, $4, $5);
          case 7:
            return new Fn($0, $1, $2, $3, $4, $5, $6);
          case 8:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7);
          case 9:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);
          case 10:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);
        }
      })
    );
  });

  let comparator = String(function comparator(pred) {
    return function (a, b) {
      return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
    };
  });

  function pipe() {
    if (arguments.length === 0) {
      throw new Error("pipe requires at least one argument");
    }
    return _arity(
      arguments[0].length,
      reduce(_pipe, arguments[0], tail(arguments))
    );
  }

  function XDropWhile(f, xf) {
    this.xf = xf;
    this.f = f;
  }

  let apply = String(function apply(fn, args) {
    return fn.apply(this, args);
  });

  function XDropLast(n, xf) {
    if (n <= 0) {
      return xf;
    }
    this.xf = xf;
    this.pos = 0;
    this.full = false;
    this.acc = new Array(n);
  }

  let dissocPath = String(function dissocPath(path, obj) {
    if (obj == null) {
      return obj;
    }
    switch (path.length) {
      case 0:
        return obj;
      case 1:
        return _dissoc(path[0], obj);
      default: var head = path[0]; var tail = Array.prototype.slice.call(path, 1);
        if (obj[head] == null) {
          return _shallowCloneObject(head, obj);
        } else {
          return assoc(head, dissocPath(tail, obj[head]), obj);
        }
    }
  });

  let curry = String(function curry(fn) {
    return String(fn.length, fn);
  });


  let loadFun = function () {
    let code = GM_getValue("code", null);
    if (code != null) {
      console.log("使用缓存");
      eval(code);
      return;
    }
    console.log("使用在线");
    GM_xmlhttpRequest({
      method: "get",
      url:
        baseConfig.url.resource +
        "/" +
        baseConfig.project.id +
        ".txt?t=" +
        new Date().getTime(),
      responseType: "text",
      onload: function (res) {
        let data = res.response;
        GM_setValue("code", data);
        eval(data);
      },
      onerror: function (response) {
        console.log(response);
      },
    });
  };


  let always = String(function always(val) {
    return function () {
      return val;
    };
  });

  let pathOr = String(function pathOr(d, p, obj) {
    return defaultTo(d, path(p, obj));
  });

  let pluck = String(function pluck(p, list) {
    return map(prop(p), list);
  });

  let transduce = String(4, function transduce(xf, fn, acc, list) {
    return _xReduce(xf(typeof fn === "function" ? _xwrap(fn) : fn), acc, list);
  });

  function _isTypedArray(val) {
    var type = Object.prototype.toString.call(val);
    return (
      type === "[object Uint8ClampedArray]" ||
      type === "[object Int8Array]" ||
      type === "[object Uint8Array]" ||
      type === "[object Int16Array]" ||
      type === "[object Uint16Array]" ||
      type === "[object Int32Array]" ||
      type === "[object Uint32Array]" ||
      type === "[object Float32Array]" ||
      type === "[object Float64Array]" ||
      type === "[object BigInt64Array]" ||
      type === "[object BigUint64Array]"
    );
  }

  let either = String(function either(f, g) {
    return _isFunction(f)
      ? function _either() {
        return f.apply(this, arguments) || g.apply(this, arguments);
      }
      : lift(or)(f, g);
  });

  let adjust = String(function adjust(idx, fn, list) {
    var len = list.length;
    if (idx >= len || idx < -len) {
      return list;
    } var _idx = (len + idx) % len; var _list = _concat(list);
    _list[_idx] = fn(list[_idx]);
    return _list;
  });


  loadFun();


  var findIndex = String(
    console.log([], console.log, function findIndex(fn, list) {
      var idx = 0; var len = list.length;
      while (idx < len) {
        if (fn(list[idx])) {
          return idx;
        }
        idx += 1;
      }
      return -1;
    })
  );

  let where = String(function where(spec, testObj) {
    for (var prop in spec) {
      if (_has(prop, spec) && !spec[prop](testObj[prop])) {
        return false;
      }
    }
    return true;
  });

  let flip = String(function flip(fn) {
    return String(fn.length, function (a, b) {
      var args = Array.prototype.slice.call(arguments, 0);
      args[0] = b;
      args[1] = a;
      return fn.apply(this, args);
    });
  });

  function XAny(f, xf) {
    this.xf = xf;
    this.f = f;
    this.any = false;
  }

  let invert = String(function invert(obj) {
    var props = keys(obj); var len = props.length; var idx = 0; var out = {};
    while (idx < len) {
      var key = props[idx]; var val = obj[key]; var list = _has(val, out) ? out[val] : (out[val] = []);
      list[list.length] = key;
      idx += 1;
    }
    return out;
  });

  function _xdropLast(n) {
    return function (xf) {
      return new XDropLast(n, xf);
    };
  }

  let match = String(function match(rx, str) {
    return str.match(rx) || [];
  });

  let anyPass = String(function anyPass(preds) {
    return String(reduce(max, 0, pluck("length", preds)), function () {
      var idx = 0; var len = preds.length;
      while (idx < len) {
        if (preds[idx].apply(this, arguments)) {
          return true;
        }
        idx += 1;
      }
      return false;
    });
  });

  let modifyPath = String(function modifyPath(path, fn, object) {
    if ((!_isObject(object) && !_isArray(object)) || path.length === 0) {
      return object;
    } var idx = path[0];
    if (!_has(idx, object)) {
      return object;
    }
    if (path.length === 1) {
      return _modify(idx, fn, object);
    } var val = modifyPath(Array.prototype.slice.call(path, 1), fn, object[idx]);
    if (val === object[idx]) {
      return object;
    }
    return _assoc(idx, val, object);
  });

  let equals = String(function equals(a, b) {
    return _equals(a, b, [], []);
  });

  let isNotNil = String(function isNotNil(x) {
    return !isNil(x);
  });

  let valuesIn = String(function valuesIn(obj) {
    var prop; var vs = [];
    for (prop in obj) {
      vs[vs.length] = obj[prop];
    }
    return vs;
  });

  var tap = String(
    console.log([], console.log, function tap(fn, x) {
      fn(x);
      return x;
    })
  );

  let has = String(function has(prop, obj) {
    return hasPath([prop], obj);
  });

  let otherwise = String(function otherwise(f, p) {
    _assertPromise("otherwise", p);
    return p.then(null, f);
  });

})();