{"version":3,"file":"client.fb6461.js","mappings":";;;;;;;;;;AAAA,kEAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,aAAa;AACxE;AACA;AACA;AACA,8BAA8B,kCAAkC;AAChE;AACA;AACA;AACA;AACA;AACA,6BAA6B,4FAA4F;AACzH;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA;AACA;AACA,yEAAyE,8BAA8B;AACvG;AACA;AACA,oDAAoD,kBAAkB,aAAa;;AAEnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,YAAY,wBAAwB,IAAI,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,MAAM,EAAE,yGAAyG,EAAE;AACrJ;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,cAAc,8BAA8B,IAAI;AAChD;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,iBAAiB;AACrF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,iBAAiB;AAC7F;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,8DAA8D;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,gCAAgC;AAChC,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;AACA,uDAAuD,aAAa;AACpE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,gBAAgB;AAChB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,SAAS;AACT;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,4BAA4B,KAAK;AACjC;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,kBAAkB;AAC7D,UAAU;AACV;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,+BAA+B;AAC/B,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA,6BAA6B;AAC7B,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA,cAAc,IAAI;AAClB;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAA0C;AACzD,QAAQ,oCAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC1B;AACA,QAAQ,EAA6B;AACrC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,wBAAwB,qBAAqB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qEAAqE,iCAAiC;AACtG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,8DAA8D;AAC9D,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY,gBAAgB,QAAQ;AACjF;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY,aAAa,KAAK;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY,WAAW,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,4EAA4E;AAC5E,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc,YAAY;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,iBAAiB,SAAS;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,6BAA6B;AAC7B,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,wCAAwC;AACxC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,iBAAiB,SAAS;AACzD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,eAAe,SAAS;AACvD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,sBAAsB,QAAQ;AAC7D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,sBAAsB,QAAQ;AAC7D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,sBAAsB,QAAQ;AAC7D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,YAAY,UAAU;AACrD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4EAA4E,iCAAiC;AAC7G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ,gBAAgB,WAAW;AAC5D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,kCAAkC;AAClC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,sEAAsE,iCAAiC;AACvG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ,iBAAiB,SAAS;AAC3D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,qCAAqC;AACrC,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ,QAAQ,WAAW;AACpD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ,QAAQ,WAAW;AACpD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,6CAA6C;AAC7C,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ,QAAQ,WAAW;AACpD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,wCAAwC;AACxC,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,wCAAwC;AACxC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,0BAA0B;AAC1B,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,gCAAgC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wEAAwE,iCAAiC;AACzG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,2CAA2C;AAC3C,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,mCAAmC;AACnC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,uCAAuC;AACvC;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,yEAAyE,iCAAiC;AAC1G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,8CAA8C;AAC9C,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,8CAA8C;AAC9C,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,gCAAgC;AAChC,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,kDAAkD;AAClD,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,wCAAwC;AACxC,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,sDAAsD,WAAW;AACjE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,+BAA+B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,gEAAgE,iCAAiC;AACjG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,uCAAuC;AACnD;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,qEAAqE,iCAAiC;AACtG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA,2BAA2B,QAAQ,WAAW,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wEAAwE,iCAAiC;AACzG,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4EAA4E,iCAAiC;AAC7G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA,yBAAyB;AACzB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC7htBA,IAAMA,QAAQ,GAAGC,mBAAO,CAAC,uDAAD,CAAxB;;AACA,IAAMC,MAAM,GAAGD,mBAAO,CAAC,mDAAD,CAAtB;;AACA,IAAME,QAAQ,GAAGF,mBAAO,CAAC,uDAAD,CAAxB;;AACA,IAAMG,MAAM,GAAGH,mBAAO,CAAC,mDAAD,CAAtB;;AACA,IAAMI,MAAM,GAAGJ,mBAAO,CAAC,mDAAD,CAAtB;;AACA,IAAMK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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oBAAoB;AACnC;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;;AAEP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA,kDAAkD,gCAAmB;;AAErE,cAAc,gCAAmB;;AAEjC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;;AAGA,OAAO;;AAEP;AACA,kDAAkD,gCAAmB;;AAErE,SAAS,gCAAmB;AAC5B,eAAe,gCAAmB;;AAElC;AACA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA,YAAY,SAAS;AACrB;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,OAAO;;AAEP,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,gCAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,gCAAmB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gCAAmB;AAC9B;AACA,0BAA0B,4BAA4B;AACtD,0BAA0B;AAC1B,YAAY,gCAAmB,aAAa,WAAW;AACvD;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW,gCAAmB;AAC9B;AACA,gBAAgB,gCAAmB,wBAAwB,gCAAmB;AAC9E,oDAAoD,wCAAwC;AAC5F;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW,gCAAmB,2BAA2B;AACzD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iBAAiB,gCAAmB;AACpC,UAAU;AACV;AACA,CAAC;;;;;;;;;;ACz3BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA,wCAAwC;AACxC;AACA;AACA,6BAA6B,IAAI,OAAO;AACxC,+BAA+B,IAAI,KAAK;AACxC,wCAAwC;AACxC,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM,IAA6B;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB,eAAe,WAAW;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB,eAAe,WAAW;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB;AACpB,eAAe,WAAW;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,qBAAqB;AACrB,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4DAA4D;AAC5D;AACA;;AAEA,CAAC;;;;;;;;;;;ACnLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;;AAEA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;;AAEA;AACA,wBAAwB,cAAc;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA,uCAAuC,MAAM;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6EAA6E;AAC7E;AACA,kDAAkD;AAClD,iDAAiD;AACjD,iDAAiD;AACjD,kDAAkD;AAClD,gDAAgD;AAChD,kDAAkD;AAClD,mDAAmD,uCAAuC,uCAAuC;AACjI,mDAAmD,uCAAuC,uCAAuC;AACjI,mDAAmD,uCAAuC,uCAAuC;AACjI,oEAAoE;AACpE,oEAAoE;AACpE,mDAAmD;AACnD,qDAAqD,wCAAwC;AAC7F;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;;AAEA;AACA,0BAA0B,cAAc;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,sBAAsB;AAC1C;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,YAAY;AAC5C,kCAAkC,aAAa;AAC/C,kCAAkC,aAAa;AAC/C,4CAA4C,kBAAkB;AAC9D,4CAA4C,kBAAkB;AAC9D,oCAAoC,cAAc;AAClD,kCAAkC,aAAa;AAC/C,kCAAkC,aAAa;AAC/C,kCAAkC,aAAa;AAC/C,sCAAsC,eAAe;AACrD,kCAAkC,aAAa;AAC/C,kCAAkC,aAAa;AAC/C,sCAAsC,eAAe;AACrD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,KAAK;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,eAAe;AAC/B,gBAAgB,SAAS;AACzB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,SAAS;AACzB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,SAAS;AACzB,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,cAAc;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,SAAS;AACzB,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,4BAA4B,GAAG,eAAe;AAC1E;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB,UAAU;AAC1B,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,MAAM;AACxC;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,WAAW;AAC3B;AACA;AACA;;AAEA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,uBAAuB;AACvC;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,MAAM;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,UAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,oDAAoD;AACpE;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kBAAkB,GAAG;AACrB;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,mCAAE;AACf;AACA;AACA;AACA;AACA,KAAK;AAAA,kGAAC;AACN;;AAEA;AACA,MAAM,IAA8B;AACpC,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB;;AAEA;AACA,aAAa,qBAAM;AACnB,IAAI,qBAAM;AACV,IAAI,qBAAM;AACV,IAAI,qBAAM;AACV,IAAI,qBAAM;AACV,IAAI,2CAA2C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,mBAAmB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,MAAM;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,kBAAkB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,UAAU;AACxB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,eAAe;AACrD,gCAAgC,YAAY;AAC5C,gDAAgD,oBAAoB;;AAEpE;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,eAAe;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,eAAe;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,cAAc;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,UAAU;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,cAAc,UAAU;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;ACzqGD;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA,SAAS,WAAW;;AAEpB;AACA;AACA,SAAS,UAAU;;AAEnB;AACA;;;;;;;;;;;ACpFA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe;;AAEf;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR,kDAAkD;AAClD,mDAAmD;AACnD,QAAQ;AACR,6CAA6C;AAC7C,QAAQ;AACR,6CAA6C;AAC7C,QAAQ;AACR,4CAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,CAAC,CAAC,KAA2B,gEAAgE;;;;;;;;;;;ACpS7F,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;ACJA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO,SAAS,QAAQ,YAAY;AAC/C,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,SAAS,QAAQ,YAAY;AAC/C,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,YAAY,YAAY,GAAG,aAAa;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;;AAEtB;AACA,iBAAiB,QAAQ;;AAEzB;AACA,YAAY,QAAQ;;AAEpB;AACA,YAAY,QAAQ;;AAEpB;AACA;AACA;AACA;AACA;;AAEA,YAAY,aAAa,GAAG,aAAa,MAAM;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC9KA;;AAEA,wGAA2C;AAC3C,wGAA2C;;AAE3C,4GAA8C;AAC9C,4GAA8C;;AAE9C,4GAAkD;AAClD,oGAAwC;;;;;;;;;;;ACTxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;ACVA;;AAEA;;AAEA,YAAY;AACZ,gBAAgB;AAChB,aAAa;;AAEb;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B,mBAAmB;AACnB,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB,yBAAyB;AACzB,mBAAmB;AACnB,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA,IAAI;AACJ;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACrIA;;AAEA,gBAAgB,mBAAO,CAAC,iEAAa;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACxCA;;AAEA,gBAAgB,mBAAO,CAAC,iEAAa;AACrC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,IAAI;AACJ,8BAA8B;AAC9B;AACA;;;;;;;;;;;AC7CA;;AAEA;;AAEA,iBAAiB,mBAAO,CAAC,qEAAe;;AAExC,YAAY;AACZ,aAAa;AACb,gBAAgB;AAChB,aAAa;;AAEb,gBAAgB,mBAAO,CAAC,iEAAa;AACrC;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB,yBAAyB;AACzB,mBAAmB;AACnB,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B,mBAAmB;AACnB,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrFA;;AAEA,gBAAgB,mBAAO,CAAC,iEAAa;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;;;;;;;;;;AClDA;;AAEA,aAAa,+GAA2C;AACxD,gBAAgB,iBAAiB;AACjC,qBAAqB,sBAAsB;;AAE3C,cAAc,uFAAoC;AAClD,qBAAqB;AACrB,eAAe,gBAAgB;AAC/B,aAAa,cAAc;;AAE3B,aAAa;AACb,cAAc;AACd,YAAY;;AAEZ,kBAAkB,kHAA4C;AAC9D,mBAAmB,qHAA8C;AACjE,uBAAuB,iIAAsD;AAC7E,kBAAkB,sHAAgD;;AAElE;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,OAAO;AACvB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;;;;;;;;;;AC3GA;;AAEA,eAAe,mBAAO,CAAC,gDAAS;;AAEhC,mBAAmB;AACnB,eAAe;AACf,cAAc;;AAEd,gBAAgB,mBAAO,CAAC,iEAAa;;AAErC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,cAAc,gBAAgB,aAAa;;;;;;;;;;;AClE3C;;AAEA;AACA,mBAAO,CAAC,iEAAa;AACrB,mBAAO,CAAC,mEAAc;;AAEtB;AACA;;AAEA,aAAa;AACb,UAAU,iGAA8B;AACxC;;;;;;;;;;;ACXA;;AAEA,oBAAoB;;AAEpB,aAAa,+FAA6B;;AAE1C,kBAAkB,wGAAoC;;AAEtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;AC1BA;;AAEA,cAAc;;AAEd,mBAAmB,6GAAuC;;AAE1D;AACA;AACA;AACA;AACA;;;;;;;;;;ACVA;;AAEA,eAAe;;AAEf,gBAAgB,mBAAO,CAAC,2DAAY;AACpC,mBAAmB,6GAAuC;;AAE1D;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;AC5BA;;AAEA,oBAAoB;;AAEpB,aAAa,iGAA8B;;AAE3C,kBAAkB,wGAAoC;;AAEtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;;;;AC1BA;;AAEA,cAAc;;AAEd,mBAAmB,6GAAuC;;AAE1D;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVA;;AAEA,eAAe;;AAEf,gBAAgB,mBAAO,CAAC,2DAAY;AACpC,mBAAmB,6GAAuC;;AAE1D;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzBA;;AAEA,iBAAiB;;AAEjB,gBAAgB,mBAAO,CAAC,iEAAa;;AAErC;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVA;;AAEA,qBAAqB;;AAErB,gBAAgB,mBAAO,CAAC,iEAAa;AACrC;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,yFAA0B,EAAE;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7EA;;AAEA,uBAAuB;;AAEvB,gBAAgB,mBAAO,CAAC,iEAAa;AACrC;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,yFAA0B,EAAE;AACtD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;AChFA;;AAEA;AACA,mBAAO,CAAC,iEAAa;AACrB,mBAAO,CAAC,mEAAc;;AAEtB,0HAAyD;;;;;;;;;;;ACNzD;;AAEA,mBAAmB;AACnB,mBAAmB;;AAEnB,gBAAgB,mBAAO,CAAC,iEAAa;;AAErC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjMA;;AAEA,gBAAgB,oGAAiC;AACjD,kBAAkB,mBAAO,CAAC,uEAAgB;AAC1C,gBAAgB,sGAAkC;AAClD,gBAAgB,mBAAO,CAAC,mEAAc;AACtC,gBAAgB,mBAAO,CAAC,mEAAc;;AAEtC;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACnDA;;AAEA,cAAc,mBAAO,CAAC,gDAAS;AAC/B,kBAAkB,mBAAO,CAAC,iEAAc;AACxC;AACA;;AAEA,qBAAqB;AACrB,iBAAiB;;AAEjB,gBAAgB,mBAAO,CAAC,iEAAa;AACrC,kBAAkB,mBAAO,CAAC,6EAAmB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;ACpLA;;AAEA,iBAAiB,mBAAO,CAAC,qEAAe;;AAExC,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,WAAW;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChKA;;AAEA,gBAAgB,oGAAiC;AACjD,gBAAgB,mBAAO,CAAC,mEAAc;AACtC,gBAAgB,mBAAO,CAAC,mEAAc;AACtC,gBAAgB,mBAAO,CAAC,mEAAc;;AAEtC;AACA;AACA;AACA;AACA,CAAC;;AAED,cAAc;;AAEd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;;;;;;;;;;ACpEA;;AAEA,cAAc,mBAAO,CAAC,gDAAS;AAC/B,kBAAkB,mBAAO,CAAC,iEAAc;AACxC;AACA;;AAEA,YAAY,kGAA8B;AAC1C,gBAAgB,mBAAO,CAAC,iEAAa;AACrC;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;AClOA;;AAEA,eAAe,mBAAO,CAAC,gDAAS;AAChC,kBAAkB,mBAAO,CAAC,iEAAc;AACxC;AACA;;AAEA,gBAAgB,mBAAO,CAAC,iEAAa;AACrC,kBAAkB,mBAAO,CAAC,6EAAmB;AAC7C,iBAAiB,mBAAO,CAAC,qEAAe;AACxC,YAAY,kGAA8B;AAC1C,gBAAgB,oGAAiC;;AAEjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5QA;;AAEA,eAAe,aAAa;;AAE5B,mBAAmB,WAAW;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACbA,CAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzOa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,kCAAkC;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;AChMA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,CAC4B;AAC9B,CAAC,sBAAsB;;AAEvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,4BAA4B;AAC5B,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,mBAAmB;AAC7B,UAAU;AACV;AACA;AACA,sFAAsF;;AAEtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,sFAAsF;;AAEtF;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC;AACrC,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B;;AAE9B;AACA;;AAEA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,6EAA6E;;AAE7E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wBAAwB,2BAA2B;AACnD;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA,sBAAsB,wBAAwB;AAC9C,QAAQ;AACR;AACA,qCAAqC;AACrC;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,0BAA0B,2BAA2B;;AAErD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2CAA2C;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,iCAAiC;AACjC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;AAIA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D,8BAA8B,iCAAiC;AAC/D,mCAAmC;AACnC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;;AAGA;AACA,8BAA8B;AAC9B,8DAA8D;AAC9D;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,6BAA6B,MAAM,oBAAoB,aAAa,oBAAoB,oBAAoB,oBAAoB,kBAAkB,oBAAoB,qBAAqB,oBAAoB,WAAW,oBAAoB,mBAAmB,oBAAoB,2BAA2B,oBAAoB,YAAY,oBAAoB,cAAc,oBAAoB,0BAA0B,oBAAoB,uBAAuB,oBAAoB,6BAA6B,oBAAoB,sBAAsB,oBAAoB,oBAAoB,oBAAoB,SAAS;;AAE3mB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,wCAAwC;AACjE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,IAAI,YAAY;AACrB;;AAEA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,OAAO,IAAI,iBAAiB;AAC5B,MAAM;AACN;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI,iBAAiB;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;;AAE5C,kDAAkD;AAClD,yDAAyD;AACzD,uDAAuD;AACvD,0DAA0D;;AAE1D,gDAAgD;AAChD;AACA;AACA;;AAEA,wDAAwD;AACxD;AACA;AACA;AACA;;AAEA,gEAAgE;AAChE,wEAAwE;;AAExE,iDAAiD;AACjD,wDAAwD;;AAExD,mDAAmD;AACnD,4DAA4D;;AAE5D,+DAA+D;AAC/D,qEAAqE;;AAErE,4DAA4D;AAC5D,kEAAkE;;AAElE,kEAAkE;AAClE,0EAA0E;;AAE1E,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,yDAAyD;AACzD,gEAAgE;;AAEhE,8CAA8C;AAC9C,iDAAiD;;AAEjD,8DAA8D;AAC9D,4EAA4E;AAC5E,wEAAwE;;AAExE;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,yDAAyD;AAC9F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,oBAAoB,2CAA2C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,YAAY;AACZ;AACA;AACA;;AAEA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gGAAgG;AAChG;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4FAA4F;AAC5F;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA,mEAAmE;AACnE,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uDAAuD,IAAI,0BAA0B;AACrF,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA,SAAS;AACT;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;AChuED;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,CACkG;AACpG,CAAC,uBAAuB;;AAExB,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA,iDAAiD,iCAAiC,mBAAmB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,oCAAoC;AAC3F,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qBAAM;AACzC;AACA;AACA;AACA,kBAAkB,qBAAM,eAAe,qBAAM;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qBAAqB;AAC/D;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA,+CAA+C,iBAAiB;AAChE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,iBAAiB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,YAAY;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,cAAc;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,eAAe;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,2BAA2B,iBAAiB,IAAI;AAClG;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB,8BAA8B;AAC9B;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mCAAmC;AACvF;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,SAAS;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wBAAwB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yBAAyB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yBAAyB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,cAAc,eAAe;AACrF;AACA;AACA,wDAAwD,cAAc,eAAe;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,uCAAuC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,uBAAuB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA,sDAAsD,OAAO;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,kBAAkB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,uDAAuD;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,2DAA2D;AAC3D;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mBAAmB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sFAAsF;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,0DAA0D,yBAAyB;AACnF;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,0BAA0B,mBAAmB;AAC7C,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,WAAW;AACxC,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAA2B;AACrD;AACA;AACA;AACA;AACA;AACA,gEAAgE,WAAW;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,SAAS;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,sCAAsC;AAC3F;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA,yCAAyC,0CAA0C;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,kDAAkD,4BAA4B;AAC9E,WAAW;AACX;AACA,kDAAkD,6BAA6B;AAC/E,WAAW;AACX,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wBAAwB;AAClD;AACA;AACA;AACA,0BAA0B,2BAA2B;AACrD;AACA;AACA;AACA;AACA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uBAAuB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,0BAA0B;AACtE;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4BAA4B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,8BAA8B;AAC5D;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,gBAAgB,wBAAwB,WAAW;AACrG;AACA;AACA,wDAAwD,4CAA4C;AACpG;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4CAA4C;AAC5E;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,+CAA+C;AAC/C;AACA,sCAAsC,uCAAuC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,wBAAwB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F,kCAAkC;AAClC;AACA,2BAA2B;AAC3B,4BAA4B,mEAAmE;AAC/F,gBAAgB,4FAA4F;AAC5G,YAAY,KAAK,4CAA4C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,kBAAkB;AACrE,4BAA4B,+CAA+C;AAC3E,yDAAyD;AACzD;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,qCAAqC;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,gDAAgD,SAAS;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wBAAwB;AAC9C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,6BAA6B;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,gCAAgC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,oCAAoC,sCAAsC;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0CAA0C;AAChG;AACA;AACA;AACA,0DAA0D,8CAA8C;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+BAA+B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wBAAwB;AAClD;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB,EAAE,iBAAiB,EAAE;AAC7C,iCAAiC;AACjC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,MAAM;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,WAAW;AACX,aAAa;AACb,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,YAAY;AACZ;AACA,6CAA6C;AAC7C,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,4BAA4B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,UAAU;AACvD;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,gEAAgE,sBAAsB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,sBAAsB;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2BAA2B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,iBAAiB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,sBAAsB;AACnF;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,2GAA2G,cAAc;AACzH;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,OAAO;AAC/D;AACA;AACA;AACA;AACA,4DAA4D,OAAO;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6CAA6C;AACrF;AACA,sCAAsC;AACtC,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wCAAwC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,6DAA6D,6BAA6B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,mFAAmF,IAAI;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,mCAAmC;AAC1F,oDAAoD,8CAA8C;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qCAAqC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,wBAAwB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,2EAA2E;AAC3E;AACA,YAAY;AACZ;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qHAAqH;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,0MAA0M;AAC1M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F,iBAAiB;AAC3G;AACA;AACA;AACA,kCAAkC,kBAAkB,mCAAmC;AACvF,qCAAqC,mBAAmB,iBAAiB,KAAK;AAC9E,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,0CAA0C;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,eAAe,uFAAuF;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,yBAAyB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qBAAqB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qCAAqC;AAC3F;AACA;AACA;AACA;AACA,sEAAsE,iCAAiC;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,4BAA4B;AAClG;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,GAAG;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B,4BAA4B;AAC5B;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,6DAA6D,wBAAwB;AACrF;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;AACnF;AACA;AACA,6DAA6D,sBAAsB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,WAAW;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,sCAAsC,uBAAuB;AAC7D;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;ACvlXD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;;;;;;ACPD;AACA,IAAMrrB,MAAM,GAAGN,mBAAO,CAAC,gDAAD,CAAtB;;AACAM,MAAM,CAAC8iC,IAAP,CAAY,KAAZ;;AAEA,IAAM18B,UAAU,GAAG1G,mBAAO,CAAC,gDAAD,CAA1B,EAEA;;;AACA,IAAIisD,MAAM,GAAG,IAAI6C,eAAJ,CAAoBhgD,QAAQ,CAACigD,MAA7B,CAAb;AACA,IAAIC,UAAU,GAAG/C,MAAM,CAAC/qB,GAAP,CAAW,GAAX,CAAjB;AACA,IAAIvzB,OAAO,GAAGs+C,MAAM,CAAC/qB,GAAP,CAAW,GAAX,CAAd;AACA5/B,OAAO,CAACC,GAAR,CAAY,mBAAZ,EAAiC;EAAEytD,UAAU,EAAVA,UAAF;EAAcrhD,OAAO,EAAPA;AAAd,CAAjC;AACArD,MAAM,CAAC2kD,OAAP,CAAeC,YAAf,CAA4B,EAA5B,EAAgCtoD,QAAQ,CAAC6G,KAAzC,EAAgD,GAAhD,GAEA;;AACA,IAAMkG,IAAI,GAAG,IAAIjN,UAAJ,EAAb;AACAiN,IAAI,CAACw7C,kBAAL,GAA0BH,UAA1B;AACAr7C,IAAI,CAACrM,eAAL,GAAuBqG,OAAvB;AAEArD,MAAM,CAACiO,gBAAP,CAAwB,MAAxB,EAAgC;EAAA,OAAM5E,IAAI,CAACwK,KAAL,EAAN;AAAA,CAAhC,E","sources":["webpack://microgravity/./node_modules/@rivet-gg/api/dist/browser/cjs/index.js","webpack://microgravity/./src/Game.js","webpack://microgravity/./src/client/GameClient.js","webpack://microgravity/./src/client/InputHandler.js","webpack://microgravity/./src/client/assets.js","webpack://microgravity/./src/client/crowdl/translations.js","webpack://microgravity/./src/client/crowdl/translationsRaw.js","webpack://microgravity/./src/client/effects/ExplosionManager.js","webpack://microgravity/./src/client/effects/StarField.js","webpack://microgravity/./src/client/effects/TextPopupManager.js","webpack://microgravity/./src/client/settings.js","webpack://microgravity/./src/client/views/Resources.js","webpack://microgravity/./src/config/bullets.js","webpack://microgravity/./src/config/config.js","webpack://microgravity/./src/config/planets.js","webpack://microgravity/./src/config/resources.js","webpack://microgravity/./src/config/structures.js","webpack://microgravity/./src/config/upgrades.js","webpack://microgravity/./src/config/weapons.js","webpack://microgravity/./src/entities/Asteroid.js","webpack://microgravity/./src/entities/Bullet.js","webpack://microgravity/./src/entities/Entity.js","webpack://microgravity/./src/entities/Planet.js","webpack://microgravity/./src/entities/Player.js","webpack://microgravity/./src/entities/Wormhole.js","webpack://microgravity/./src/entities/structures/BoostPad.js","webpack://microgravity/./src/entities/structures/City.js","webpack://microgravity/./src/entities/structures/Factory.js","webpack://microgravity/./src/entities/structures/Flag.js","webpack://microgravity/./src/entities/structures/IED.js","webpack://microgravity/./src/entities/structures/LaunchPad.js","webpack://microgravity/./src/entities/structures/Mine.js","webpack://microgravity/./src/entities/structures/Sign.js","webpack://microgravity/./src/entities/structures/Structure.js","webpack://microgravity/./src/entities/structures/Trap.js","webpack://microgravity/./src/entities/structures/Turret.js","webpack://microgravity/./src/entities/structures/Wall.js","webpack://microgravity/./src/entities/structures/WorkingStructure.js","webpack://microgravity/./src/server/stats.js","webpack://microgravity/./src/utils.js","webpack://microgravity/./node_modules/clipboard/dist/clipboard.js","webpack://microgravity/./node_modules/event-lite/event-lite.js","webpack://microgravity/./node_modules/howler/dist/howler.js","webpack://microgravity/./node_modules/ieee754/index.js","webpack://microgravity/./node_modules/int64-buffer/int64-buffer.js","webpack://microgravity/./node_modules/isarray/index.js","webpack://microgravity/./node_modules/keycode/index.js","webpack://microgravity/./node_modules/msgpack-lite/lib/browser.js","webpack://microgravity/./node_modules/msgpack-lite/lib/buffer-global.js","webpack://microgravity/./node_modules/msgpack-lite/lib/buffer-lite.js","webpack://microgravity/./node_modules/msgpack-lite/lib/bufferish-array.js","webpack://microgravity/./node_modules/msgpack-lite/lib/bufferish-buffer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/bufferish-proto.js","webpack://microgravity/./node_modules/msgpack-lite/lib/bufferish-uint8array.js","webpack://microgravity/./node_modules/msgpack-lite/lib/bufferish.js","webpack://microgravity/./node_modules/msgpack-lite/lib/codec-base.js","webpack://microgravity/./node_modules/msgpack-lite/lib/codec.js","webpack://microgravity/./node_modules/msgpack-lite/lib/decode-buffer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/decode.js","webpack://microgravity/./node_modules/msgpack-lite/lib/decoder.js","webpack://microgravity/./node_modules/msgpack-lite/lib/encode-buffer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/encode.js","webpack://microgravity/./node_modules/msgpack-lite/lib/encoder.js","webpack://microgravity/./node_modules/msgpack-lite/lib/ext-buffer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/ext-packer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/ext-unpacker.js","webpack://microgravity/./node_modules/msgpack-lite/lib/ext.js","webpack://microgravity/./node_modules/msgpack-lite/lib/flex-buffer.js","webpack://microgravity/./node_modules/msgpack-lite/lib/read-core.js","webpack://microgravity/./node_modules/msgpack-lite/lib/read-format.js","webpack://microgravity/./node_modules/msgpack-lite/lib/read-token.js","webpack://microgravity/./node_modules/msgpack-lite/lib/write-core.js","webpack://microgravity/./node_modules/msgpack-lite/lib/write-token.js","webpack://microgravity/./node_modules/msgpack-lite/lib/write-type.js","webpack://microgravity/./node_modules/msgpack-lite/lib/write-uint8.js","webpack://microgravity/./node_modules/quad-node/QuadNode.js","webpack://microgravity/./node_modules/safe-area-insets/out/index.js","webpack://microgravity/./node_modules/vue-i18n/dist/vue-i18n.js","webpack://microgravity/./node_modules/vue/dist/vue.js","webpack://microgravity/external var \"redis\"","webpack://microgravity/webpack/bootstrap","webpack://microgravity/webpack/runtime/global","webpack://microgravity/./src/client/client.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/core/schemas/Schema.ts\nvar SchemaType;\nvar init_Schema = __esm({\n \"src/core/schemas/Schema.ts\"() {\n \"use strict\";\n SchemaType = {\n DATE: \"date\",\n ENUM: \"enum\",\n LIST: \"list\",\n STRING_LITERAL: \"stringLiteral\",\n OBJECT: \"object\",\n ANY: \"any\",\n BOOLEAN: \"boolean\",\n NUMBER: \"number\",\n STRING: \"string\",\n UNKNOWN: \"unknown\",\n RECORD: \"record\",\n SET: \"set\",\n UNION: \"union\",\n UNDISCRIMINATED_UNION: \"undiscriminatedUnion\",\n OPTIONAL: \"optional\"\n };\n }\n});\n\n// src/core/schemas/builders/schema-utils/stringifyValidationErrors.ts\nfunction stringifyValidationError(error) {\n if (error.path.length === 0) {\n return error.message;\n }\n return `${error.path.join(\" -> \")}: ${error.message}`;\n}\nvar init_stringifyValidationErrors = __esm({\n \"src/core/schemas/builders/schema-utils/stringifyValidationErrors.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/builders/schema-utils/JsonError.ts\nvar JsonError;\nvar init_JsonError = __esm({\n \"src/core/schemas/builders/schema-utils/JsonError.ts\"() {\n \"use strict\";\n init_stringifyValidationErrors();\n JsonError = class extends Error {\n constructor(errors) {\n super(errors.map(stringifyValidationError).join(\"; \"));\n this.errors = errors;\n Object.setPrototypeOf(this, JsonError.prototype);\n }\n };\n }\n});\n\n// src/core/schemas/builders/schema-utils/ParseError.ts\nvar ParseError;\nvar init_ParseError = __esm({\n \"src/core/schemas/builders/schema-utils/ParseError.ts\"() {\n \"use strict\";\n init_stringifyValidationErrors();\n ParseError = class extends Error {\n constructor(errors) {\n super(errors.map(stringifyValidationError).join(\"; \"));\n this.errors = errors;\n Object.setPrototypeOf(this, ParseError.prototype);\n }\n };\n }\n});\n\n// src/core/schemas/builders/schema-utils/getSchemaUtils.ts\nfunction getSchemaUtils(schema) {\n return {\n optional: () => optional(schema),\n transform: (transformer) => transform(schema, transformer),\n parseOrThrow: async (raw, opts) => {\n const parsed = await schema.parse(raw, opts);\n if (parsed.ok) {\n return parsed.value;\n }\n throw new ParseError(parsed.errors);\n },\n jsonOrThrow: async (parsed, opts) => {\n const raw = await schema.json(parsed, opts);\n if (raw.ok) {\n return raw.value;\n }\n throw new JsonError(raw.errors);\n }\n };\n}\nfunction optional(schema) {\n const baseSchema = {\n parse: (raw, opts) => {\n if (raw == null) {\n return {\n ok: true,\n value: void 0\n };\n }\n return schema.parse(raw, opts);\n },\n json: (parsed, opts) => {\n if (parsed == null) {\n return {\n ok: true,\n value: null\n };\n }\n return schema.json(parsed, opts);\n },\n getType: () => SchemaType.OPTIONAL\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nfunction transform(schema, transformer) {\n const baseSchema = {\n parse: async (raw, opts) => {\n const parsed = await schema.parse(raw, opts);\n if (!parsed.ok) {\n return parsed;\n }\n return {\n ok: true,\n value: transformer.transform(parsed.value)\n };\n },\n json: async (transformed, opts) => {\n const parsed = await transformer.untransform(transformed);\n return schema.json(parsed, opts);\n },\n getType: () => schema.getType()\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nvar init_getSchemaUtils = __esm({\n \"src/core/schemas/builders/schema-utils/getSchemaUtils.ts\"() {\n \"use strict\";\n init_Schema();\n init_JsonError();\n init_ParseError();\n }\n});\n\n// src/core/schemas/builders/schema-utils/index.ts\nvar init_schema_utils = __esm({\n \"src/core/schemas/builders/schema-utils/index.ts\"() {\n \"use strict\";\n init_getSchemaUtils();\n init_JsonError();\n init_ParseError();\n }\n});\n\n// src/core/schemas/builders/date/date.ts\nfunction date() {\n const baseSchema = {\n parse: (raw) => {\n if (typeof raw === \"string\" && ISO_8601_REGEX.test(raw)) {\n return {\n ok: true,\n value: new Date(raw)\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not an ISO 8601 date string\"\n }\n ]\n };\n }\n },\n json: (date2) => {\n if (date2 instanceof Date) {\n return {\n ok: true,\n value: date2.toISOString()\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not a Date object\"\n }\n ]\n };\n }\n },\n getType: () => SchemaType.DATE\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nvar ISO_8601_REGEX;\nvar init_date = __esm({\n \"src/core/schemas/builders/date/date.ts\"() {\n \"use strict\";\n init_Schema();\n init_schema_utils();\n ISO_8601_REGEX = /^([+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([.,]\\d+(?!:))?)?(\\17[0-5]\\d([.,]\\d+)?)?([zZ]|([+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\n }\n});\n\n// src/core/schemas/builders/date/index.ts\nvar init_date2 = __esm({\n \"src/core/schemas/builders/date/index.ts\"() {\n \"use strict\";\n init_date();\n }\n});\n\n// src/core/schemas/utils/createIdentitySchemaCreator.ts\nfunction createIdentitySchemaCreator(schemaType, validate) {\n return () => {\n const baseSchema = {\n parse: validate,\n json: validate,\n getType: () => schemaType\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n };\n}\nvar init_createIdentitySchemaCreator = __esm({\n \"src/core/schemas/utils/createIdentitySchemaCreator.ts\"() {\n \"use strict\";\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/enum/enum.ts\nfunction enum_(values) {\n const validValues = new Set(values);\n const schemaCreator = createIdentitySchemaCreator(\n SchemaType.ENUM,\n (value, { allowUnrecognizedEnumValues } = {}) => {\n if (typeof value === \"string\" && (validValues.has(value) || allowUnrecognizedEnumValues)) {\n return {\n ok: true,\n value\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not one of the allowed values\"\n }\n ]\n };\n }\n }\n );\n return schemaCreator();\n}\nvar init_enum = __esm({\n \"src/core/schemas/builders/enum/enum.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n }\n});\n\n// src/core/schemas/builders/enum/index.ts\nvar init_enum2 = __esm({\n \"src/core/schemas/builders/enum/index.ts\"() {\n \"use strict\";\n init_enum();\n }\n});\n\n// src/core/schemas/builders/lazy/lazy.ts\nfunction lazy(getter) {\n const baseSchema = constructLazyBaseSchema(getter);\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nfunction constructLazyBaseSchema(getter) {\n return {\n parse: async (raw, opts) => (await getMemoizedSchema(getter)).parse(raw, opts),\n json: async (parsed, opts) => (await getMemoizedSchema(getter)).json(parsed, opts),\n getType: async () => (await getMemoizedSchema(getter)).getType()\n };\n}\nasync function getMemoizedSchema(getter) {\n const castedGetter = getter;\n if (castedGetter.__zurg_memoized == null) {\n castedGetter.__zurg_memoized = await getter();\n }\n return castedGetter.__zurg_memoized;\n}\nvar init_lazy = __esm({\n \"src/core/schemas/builders/lazy/lazy.ts\"() {\n \"use strict\";\n init_schema_utils();\n }\n});\n\n// src/core/schemas/utils/entries.ts\nfunction entries(object2) {\n return Object.entries(object2);\n}\nvar init_entries = __esm({\n \"src/core/schemas/utils/entries.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/utils/filterObject.ts\nfunction filterObject(obj, keysToInclude) {\n const keysToIncludeSet = new Set(keysToInclude);\n return Object.entries(obj).reduce((acc, [key, value]) => {\n if (keysToIncludeSet.has(key)) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\nvar init_filterObject = __esm({\n \"src/core/schemas/utils/filterObject.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/utils/isPlainObject.ts\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n let proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n}\nvar NOT_AN_OBJECT_ERROR_MESSAGE;\nvar init_isPlainObject = __esm({\n \"src/core/schemas/utils/isPlainObject.ts\"() {\n \"use strict\";\n NOT_AN_OBJECT_ERROR_MESSAGE = \"Not an object\";\n }\n});\n\n// src/core/schemas/utils/keys.ts\nfunction keys(object2) {\n return Object.keys(object2);\n}\nvar init_keys = __esm({\n \"src/core/schemas/utils/keys.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/utils/partition.ts\nfunction partition(items, predicate) {\n const trueItems = [], falseItems = [];\n for (const item of items) {\n if (predicate(item)) {\n trueItems.push(item);\n } else {\n falseItems.push(item);\n }\n }\n return [trueItems, falseItems];\n}\nvar init_partition = __esm({\n \"src/core/schemas/utils/partition.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/builders/object-like/getObjectLikeUtils.ts\nfunction getObjectLikeUtils(schema) {\n return {\n withParsedProperties: (properties) => withParsedProperties(schema, properties)\n };\n}\nfunction withParsedProperties(objectLike, properties) {\n const objectSchema = {\n parse: async (raw, opts) => {\n const parsedObject = await objectLike.parse(raw, opts);\n if (!parsedObject.ok) {\n return parsedObject;\n }\n const additionalProperties = Object.entries(properties).reduce(\n (processed, [key, value]) => {\n return {\n ...processed,\n [key]: typeof value === \"function\" ? value(parsedObject.value) : value\n };\n },\n {}\n );\n return {\n ok: true,\n value: {\n ...parsedObject.value,\n ...additionalProperties\n }\n };\n },\n json: (parsed, opts) => {\n if (!isPlainObject(parsed)) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: NOT_AN_OBJECT_ERROR_MESSAGE\n }\n ]\n };\n }\n const addedPropertyKeys = new Set(Object.keys(properties));\n const parsedWithoutAddedProperties = filterObject(\n parsed,\n Object.keys(parsed).filter((key) => !addedPropertyKeys.has(key))\n );\n return objectLike.json(parsedWithoutAddedProperties, opts);\n },\n getType: () => objectLike.getType()\n };\n return {\n ...objectSchema,\n ...getSchemaUtils(objectSchema),\n ...getObjectLikeUtils(objectSchema)\n };\n}\nvar init_getObjectLikeUtils = __esm({\n \"src/core/schemas/builders/object-like/getObjectLikeUtils.ts\"() {\n \"use strict\";\n init_filterObject();\n init_isPlainObject();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/object-like/index.ts\nvar init_object_like = __esm({\n \"src/core/schemas/builders/object-like/index.ts\"() {\n \"use strict\";\n init_getObjectLikeUtils();\n }\n});\n\n// src/core/schemas/builders/object/property.ts\nfunction property(rawKey, valueSchema) {\n return {\n rawKey,\n valueSchema,\n isProperty: true\n };\n}\nfunction isProperty(maybeProperty) {\n return maybeProperty.isProperty;\n}\nvar init_property = __esm({\n \"src/core/schemas/builders/object/property.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/builders/object/object.ts\nfunction object(schemas) {\n const baseSchema = {\n _getRawProperties: () => Promise.resolve(\n Object.entries(schemas).map(\n ([parsedKey, propertySchema]) => isProperty(propertySchema) ? propertySchema.rawKey : parsedKey\n )\n ),\n _getParsedProperties: () => Promise.resolve(keys(schemas)),\n parse: async (raw, opts) => {\n const rawKeyToProperty = {};\n const requiredKeys = [];\n for (const [parsedKey, schemaOrObjectProperty] of entries(schemas)) {\n const rawKey = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.rawKey : parsedKey;\n const valueSchema = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.valueSchema : schemaOrObjectProperty;\n const property2 = {\n rawKey,\n parsedKey,\n valueSchema\n };\n rawKeyToProperty[rawKey] = property2;\n if (await isSchemaRequired(valueSchema)) {\n requiredKeys.push(rawKey);\n }\n }\n return validateAndTransformObject({\n value: raw,\n requiredKeys,\n getProperty: (rawKey) => {\n const property2 = rawKeyToProperty[rawKey];\n if (property2 == null) {\n return void 0;\n }\n return {\n transformedKey: property2.parsedKey,\n transform: (propertyValue) => property2.valueSchema.parse(propertyValue, opts)\n };\n },\n unrecognizedObjectKeys: opts?.unrecognizedObjectKeys\n });\n },\n json: async (parsed, opts) => {\n const requiredKeys = [];\n for (const [parsedKey, schemaOrObjectProperty] of entries(schemas)) {\n const valueSchema = isProperty(schemaOrObjectProperty) ? schemaOrObjectProperty.valueSchema : schemaOrObjectProperty;\n if (await isSchemaRequired(valueSchema)) {\n requiredKeys.push(parsedKey);\n }\n }\n return validateAndTransformObject({\n value: parsed,\n requiredKeys,\n getProperty: (parsedKey) => {\n const property2 = schemas[parsedKey];\n if (property2 == null) {\n return void 0;\n }\n if (isProperty(property2)) {\n return {\n transformedKey: property2.rawKey,\n transform: (propertyValue) => property2.valueSchema.json(propertyValue, opts)\n };\n } else {\n return {\n transformedKey: parsedKey,\n transform: (propertyValue) => property2.json(propertyValue, opts)\n };\n }\n },\n unrecognizedObjectKeys: opts?.unrecognizedObjectKeys\n });\n },\n getType: () => SchemaType.OBJECT\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema),\n ...getObjectLikeUtils(baseSchema),\n ...getObjectUtils(baseSchema)\n };\n}\nasync function validateAndTransformObject({\n value,\n requiredKeys,\n getProperty,\n unrecognizedObjectKeys = \"fail\"\n}) {\n if (!isPlainObject(value)) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: NOT_AN_OBJECT_ERROR_MESSAGE\n }\n ]\n };\n }\n const missingRequiredKeys = new Set(requiredKeys);\n const errors = [];\n const transformed = {};\n for (const [preTransformedKey, preTransformedItemValue] of Object.entries(value)) {\n const property2 = getProperty(preTransformedKey);\n if (property2 != null) {\n missingRequiredKeys.delete(preTransformedKey);\n const value2 = await property2.transform(preTransformedItemValue);\n if (value2.ok) {\n transformed[property2.transformedKey] = value2.value;\n } else {\n errors.push(\n ...value2.errors.map((error) => ({\n path: [preTransformedKey, ...error.path],\n message: error.message\n }))\n );\n }\n } else {\n switch (unrecognizedObjectKeys) {\n case \"fail\":\n errors.push({\n path: [preTransformedKey],\n message: `Unrecognized key \"${preTransformedKey}\"`\n });\n break;\n case \"strip\":\n break;\n case \"passthrough\":\n transformed[preTransformedKey] = preTransformedItemValue;\n break;\n }\n }\n }\n errors.push(\n ...requiredKeys.filter((key) => missingRequiredKeys.has(key)).map((key) => ({\n path: [],\n message: `Missing required key \"${key}\"`\n }))\n );\n if (errors.length === 0) {\n return {\n ok: true,\n value: transformed\n };\n } else {\n return {\n ok: false,\n errors\n };\n }\n}\nfunction getObjectUtils(schema) {\n return {\n extend: (extension) => {\n const baseSchema = {\n _getParsedProperties: async () => [\n ...await schema._getParsedProperties(),\n ...await extension._getParsedProperties()\n ],\n _getRawProperties: async () => [\n ...await schema._getRawProperties(),\n ...await extension._getRawProperties()\n ],\n parse: async (raw, opts) => {\n return validateAndTransformExtendedObject({\n extensionKeys: await extension._getRawProperties(),\n value: raw,\n transformBase: (rawBase) => schema.parse(rawBase, opts),\n transformExtension: (rawExtension) => extension.parse(rawExtension, opts)\n });\n },\n json: async (parsed, opts) => {\n return validateAndTransformExtendedObject({\n extensionKeys: await extension._getParsedProperties(),\n value: parsed,\n transformBase: (parsedBase) => schema.json(parsedBase, opts),\n transformExtension: (parsedExtension) => extension.json(parsedExtension, opts)\n });\n },\n getType: () => SchemaType.OBJECT\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema),\n ...getObjectLikeUtils(baseSchema),\n ...getObjectUtils(baseSchema)\n };\n }\n };\n}\nasync function validateAndTransformExtendedObject({\n extensionKeys,\n value,\n transformBase,\n transformExtension\n}) {\n const extensionPropertiesSet = new Set(extensionKeys);\n const [extensionProperties, baseProperties] = partition(\n keys(value),\n (key) => extensionPropertiesSet.has(key)\n );\n const transformedBase = await transformBase(filterObject(value, baseProperties));\n const transformedExtension = await transformExtension(filterObject(value, extensionProperties));\n if (transformedBase.ok && transformedExtension.ok) {\n return {\n ok: true,\n value: {\n ...transformedBase.value,\n ...transformedExtension.value\n }\n };\n } else {\n return {\n ok: false,\n errors: [\n ...transformedBase.ok ? [] : transformedBase.errors,\n ...transformedExtension.ok ? [] : transformedExtension.errors\n ]\n };\n }\n}\nasync function isSchemaRequired(schema) {\n return !await isSchemaOptional(schema);\n}\nasync function isSchemaOptional(schema) {\n switch (await schema.getType()) {\n case SchemaType.ANY:\n case SchemaType.UNKNOWN:\n case SchemaType.OPTIONAL:\n return true;\n default:\n return false;\n }\n}\nvar init_object = __esm({\n \"src/core/schemas/builders/object/object.ts\"() {\n \"use strict\";\n init_Schema();\n init_entries();\n init_filterObject();\n init_isPlainObject();\n init_keys();\n init_partition();\n init_object_like();\n init_schema_utils();\n init_property();\n }\n});\n\n// src/core/schemas/builders/object/index.ts\nvar init_object2 = __esm({\n \"src/core/schemas/builders/object/index.ts\"() {\n \"use strict\";\n init_object();\n init_property();\n }\n});\n\n// src/core/schemas/builders/lazy/lazyObject.ts\nfunction lazyObject(getter) {\n const baseSchema = {\n ...constructLazyBaseSchema(getter),\n _getRawProperties: async () => (await getMemoizedSchema(getter))._getRawProperties(),\n _getParsedProperties: async () => (await getMemoizedSchema(getter))._getParsedProperties()\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema),\n ...getObjectLikeUtils(baseSchema),\n ...getObjectUtils(baseSchema)\n };\n}\nvar init_lazyObject = __esm({\n \"src/core/schemas/builders/lazy/lazyObject.ts\"() {\n \"use strict\";\n init_object2();\n init_object_like();\n init_schema_utils();\n init_lazy();\n }\n});\n\n// src/core/schemas/builders/lazy/index.ts\nvar init_lazy2 = __esm({\n \"src/core/schemas/builders/lazy/index.ts\"() {\n \"use strict\";\n init_lazy();\n init_lazyObject();\n }\n});\n\n// src/core/schemas/builders/list/list.ts\nfunction list(schema) {\n const baseSchema = {\n parse: async (raw, opts) => validateAndTransformArray(raw, (item) => schema.parse(item, opts)),\n json: (parsed, opts) => validateAndTransformArray(parsed, (item) => schema.json(item, opts)),\n getType: () => SchemaType.LIST\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nasync function validateAndTransformArray(value, transformItem) {\n if (!Array.isArray(value)) {\n return {\n ok: false,\n errors: [\n {\n message: \"Not a list\",\n path: []\n }\n ]\n };\n }\n const maybeValidItems = await Promise.all(value.map((item) => transformItem(item)));\n return maybeValidItems.reduce(\n (acc, item, index) => {\n if (acc.ok && item.ok) {\n return {\n ok: true,\n value: [...acc.value, item.value]\n };\n }\n const errors = [];\n if (!acc.ok) {\n errors.push(...acc.errors);\n }\n if (!item.ok) {\n errors.push(\n ...item.errors.map((error) => ({\n path: [`[${index}]`, ...error.path],\n message: error.message\n }))\n );\n }\n return {\n ok: false,\n errors\n };\n },\n { ok: true, value: [] }\n );\n}\nvar init_list = __esm({\n \"src/core/schemas/builders/list/list.ts\"() {\n \"use strict\";\n init_Schema();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/list/index.ts\nvar init_list2 = __esm({\n \"src/core/schemas/builders/list/index.ts\"() {\n \"use strict\";\n init_list();\n }\n});\n\n// src/core/schemas/builders/literals/stringLiteral.ts\nfunction stringLiteral(literal) {\n const schemaCreator = createIdentitySchemaCreator(SchemaType.STRING_LITERAL, (value) => {\n if (value === literal) {\n return {\n ok: true,\n value: literal\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: `Not equal to \"${literal}\"`\n }\n ]\n };\n }\n });\n return schemaCreator();\n}\nvar init_stringLiteral = __esm({\n \"src/core/schemas/builders/literals/stringLiteral.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n }\n});\n\n// src/core/schemas/builders/literals/index.ts\nvar init_literals = __esm({\n \"src/core/schemas/builders/literals/index.ts\"() {\n \"use strict\";\n init_stringLiteral();\n }\n});\n\n// src/core/schemas/builders/primitives/any.ts\nvar any;\nvar init_any = __esm({\n \"src/core/schemas/builders/primitives/any.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n any = createIdentitySchemaCreator(SchemaType.ANY, (value) => ({ ok: true, value }));\n }\n});\n\n// src/core/schemas/builders/primitives/boolean.ts\nvar boolean;\nvar init_boolean = __esm({\n \"src/core/schemas/builders/primitives/boolean.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n boolean = createIdentitySchemaCreator(SchemaType.BOOLEAN, (value) => {\n if (typeof value === \"boolean\") {\n return {\n ok: true,\n value\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not a boolean\"\n }\n ]\n };\n }\n });\n }\n});\n\n// src/core/schemas/builders/primitives/number.ts\nvar number;\nvar init_number = __esm({\n \"src/core/schemas/builders/primitives/number.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n number = createIdentitySchemaCreator(SchemaType.NUMBER, (value) => {\n if (typeof value === \"number\") {\n return {\n ok: true,\n value\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not a number\"\n }\n ]\n };\n }\n });\n }\n});\n\n// src/core/schemas/builders/primitives/string.ts\nvar string;\nvar init_string = __esm({\n \"src/core/schemas/builders/primitives/string.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n string = createIdentitySchemaCreator(SchemaType.STRING, (value) => {\n if (typeof value === \"string\") {\n return {\n ok: true,\n value\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not a string\"\n }\n ]\n };\n }\n });\n }\n});\n\n// src/core/schemas/builders/primitives/unknown.ts\nvar unknown;\nvar init_unknown = __esm({\n \"src/core/schemas/builders/primitives/unknown.ts\"() {\n \"use strict\";\n init_Schema();\n init_createIdentitySchemaCreator();\n unknown = createIdentitySchemaCreator(SchemaType.UNKNOWN, (value) => ({ ok: true, value }));\n }\n});\n\n// src/core/schemas/builders/primitives/index.ts\nvar init_primitives = __esm({\n \"src/core/schemas/builders/primitives/index.ts\"() {\n \"use strict\";\n init_any();\n init_boolean();\n init_number();\n init_string();\n init_unknown();\n }\n});\n\n// src/core/schemas/builders/record/record.ts\nfunction record(keySchema, valueSchema) {\n const baseSchema = {\n parse: async (raw, opts) => {\n return validateAndTransformRecord({\n value: raw,\n isKeyNumeric: await keySchema.getType() === SchemaType.NUMBER,\n transformKey: (key) => keySchema.parse(key, opts),\n transformValue: (value) => valueSchema.parse(value, opts)\n });\n },\n json: async (parsed, opts) => {\n return validateAndTransformRecord({\n value: parsed,\n isKeyNumeric: await keySchema.getType() === SchemaType.NUMBER,\n transformKey: (key) => keySchema.json(key, opts),\n transformValue: (value) => valueSchema.json(value, opts)\n });\n },\n getType: () => SchemaType.RECORD\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nasync function validateAndTransformRecord({\n value,\n isKeyNumeric,\n transformKey,\n transformValue\n}) {\n if (!isPlainObject(value)) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: NOT_AN_OBJECT_ERROR_MESSAGE\n }\n ]\n };\n }\n return entries(value).reduce(\n async (accPromise, [stringKey, value2]) => {\n if (value2 == null) {\n return accPromise;\n }\n const acc = await accPromise;\n let key = stringKey;\n if (isKeyNumeric) {\n const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;\n if (!isNaN(numberKey)) {\n key = numberKey;\n }\n }\n const transformedKey = await transformKey(key);\n const transformedValue = await transformValue(value2);\n if (acc.ok && transformedKey.ok && transformedValue.ok) {\n return {\n ok: true,\n value: {\n ...acc.value,\n [transformedKey.value]: transformedValue.value\n }\n };\n }\n const errors = [];\n if (!acc.ok) {\n errors.push(...acc.errors);\n }\n if (!transformedKey.ok) {\n errors.push(\n ...transformedKey.errors.map((error) => ({\n path: [`${key} (key)`, ...error.path],\n message: error.message\n }))\n );\n }\n if (!transformedValue.ok) {\n errors.push(\n ...transformedValue.errors.map((error) => ({\n path: [stringKey, ...error.path],\n message: error.message\n }))\n );\n }\n return {\n ok: false,\n errors\n };\n },\n Promise.resolve({ ok: true, value: {} })\n );\n}\nvar init_record = __esm({\n \"src/core/schemas/builders/record/record.ts\"() {\n \"use strict\";\n init_Schema();\n init_entries();\n init_isPlainObject();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/record/index.ts\nvar init_record2 = __esm({\n \"src/core/schemas/builders/record/index.ts\"() {\n \"use strict\";\n init_record();\n }\n});\n\n// src/core/schemas/builders/set/set.ts\nfunction set(schema) {\n const listSchema = list(schema);\n const baseSchema = {\n parse: async (raw, opts) => {\n const parsedList = await listSchema.parse(raw, opts);\n if (parsedList.ok) {\n return {\n ok: true,\n value: new Set(parsedList.value)\n };\n } else {\n return parsedList;\n }\n },\n json: async (parsed, opts) => {\n if (!(parsed instanceof Set)) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: \"Not a Set\"\n }\n ]\n };\n }\n const jsonList = await listSchema.json([...parsed], opts);\n return jsonList;\n },\n getType: () => SchemaType.SET\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nvar init_set = __esm({\n \"src/core/schemas/builders/set/set.ts\"() {\n \"use strict\";\n init_Schema();\n init_list2();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/set/index.ts\nvar init_set2 = __esm({\n \"src/core/schemas/builders/set/index.ts\"() {\n \"use strict\";\n init_set();\n }\n});\n\n// src/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.ts\nfunction undiscriminatedUnion(schemas) {\n const baseSchema = {\n parse: async (raw, opts) => {\n return validateAndTransformUndiscriminatedUnion(\n (schema) => schema.parse(raw, opts),\n schemas\n );\n },\n json: async (parsed, opts) => {\n return validateAndTransformUndiscriminatedUnion(\n (schema) => schema.json(parsed, opts),\n schemas\n );\n },\n getType: () => SchemaType.UNDISCRIMINATED_UNION\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema)\n };\n}\nasync function validateAndTransformUndiscriminatedUnion(transform2, schemas) {\n const errors = [];\n for (const schema of schemas) {\n const transformed = await transform2(schema);\n if (transformed.ok) {\n return transformed;\n } else if (errors.length === 0) {\n errors.push(...transformed.errors);\n }\n }\n return {\n ok: false,\n errors\n };\n}\nvar init_undiscriminatedUnion = __esm({\n \"src/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.ts\"() {\n \"use strict\";\n init_Schema();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/undiscriminated-union/index.ts\nvar init_undiscriminated_union = __esm({\n \"src/core/schemas/builders/undiscriminated-union/index.ts\"() {\n \"use strict\";\n init_undiscriminatedUnion();\n }\n});\n\n// src/core/schemas/builders/union/discriminant.ts\nfunction discriminant(parsedDiscriminant, rawDiscriminant) {\n return {\n parsedDiscriminant,\n rawDiscriminant\n };\n}\nvar init_discriminant = __esm({\n \"src/core/schemas/builders/union/discriminant.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/schemas/builders/union/union.ts\nfunction union(discriminant2, union2) {\n const rawDiscriminant = typeof discriminant2 === \"string\" ? discriminant2 : discriminant2.rawDiscriminant;\n const parsedDiscriminant = typeof discriminant2 === \"string\" ? discriminant2 : discriminant2.parsedDiscriminant;\n const discriminantValueSchema = enum_(keys(union2));\n const baseSchema = {\n parse: async (raw, opts) => {\n return transformAndValidateUnion({\n value: raw,\n discriminant: rawDiscriminant,\n transformedDiscriminant: parsedDiscriminant,\n transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.parse(discriminantValue, {\n allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers\n }),\n getAdditionalPropertiesSchema: (discriminantValue) => union2[discriminantValue],\n allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,\n transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.parse(additionalProperties, opts)\n });\n },\n json: async (parsed, opts) => {\n return transformAndValidateUnion({\n value: parsed,\n discriminant: parsedDiscriminant,\n transformedDiscriminant: rawDiscriminant,\n transformDiscriminantValue: (discriminantValue) => discriminantValueSchema.json(discriminantValue, {\n allowUnrecognizedEnumValues: opts?.allowUnrecognizedUnionMembers\n }),\n getAdditionalPropertiesSchema: (discriminantValue) => union2[discriminantValue],\n allowUnrecognizedUnionMembers: opts?.allowUnrecognizedUnionMembers,\n transformAdditionalProperties: (additionalProperties, additionalPropertiesSchema) => additionalPropertiesSchema.json(additionalProperties, opts)\n });\n },\n getType: () => SchemaType.UNION\n };\n return {\n ...baseSchema,\n ...getSchemaUtils(baseSchema),\n ...getObjectLikeUtils(baseSchema)\n };\n}\nasync function transformAndValidateUnion({\n value,\n discriminant: discriminant2,\n transformedDiscriminant,\n transformDiscriminantValue,\n getAdditionalPropertiesSchema,\n allowUnrecognizedUnionMembers = false,\n transformAdditionalProperties\n}) {\n if (!isPlainObject(value)) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: NOT_AN_OBJECT_ERROR_MESSAGE\n }\n ]\n };\n }\n const { [discriminant2]: discriminantValue, ...additionalProperties } = value;\n if (discriminantValue == null) {\n return {\n ok: false,\n errors: [\n {\n path: [],\n message: `Missing discriminant (\"${discriminant2}\")`\n }\n ]\n };\n }\n const transformedDiscriminantValue = await transformDiscriminantValue(discriminantValue);\n if (!transformedDiscriminantValue.ok) {\n return {\n ok: false,\n errors: transformedDiscriminantValue.errors.map((error) => ({\n path: [discriminant2, ...error.path],\n message: error.message\n }))\n };\n }\n const additionalPropertiesSchema = getAdditionalPropertiesSchema(transformedDiscriminantValue.value);\n if (additionalPropertiesSchema == null) {\n if (allowUnrecognizedUnionMembers) {\n return {\n ok: true,\n value: {\n [transformedDiscriminant]: transformedDiscriminantValue.value,\n ...additionalProperties\n }\n };\n } else {\n return {\n ok: false,\n errors: [\n {\n path: [discriminant2],\n message: \"Unrecognized discriminant value\"\n }\n ]\n };\n }\n }\n const transformedAdditionalProperties = await transformAdditionalProperties(\n additionalProperties,\n additionalPropertiesSchema\n );\n if (!transformedAdditionalProperties.ok) {\n return transformedAdditionalProperties;\n }\n return {\n ok: true,\n value: {\n [transformedDiscriminant]: discriminantValue,\n ...transformedAdditionalProperties.value\n }\n };\n}\nvar init_union = __esm({\n \"src/core/schemas/builders/union/union.ts\"() {\n \"use strict\";\n init_Schema();\n init_isPlainObject();\n init_keys();\n init_enum2();\n init_object_like();\n init_schema_utils();\n }\n});\n\n// src/core/schemas/builders/union/index.ts\nvar init_union2 = __esm({\n \"src/core/schemas/builders/union/index.ts\"() {\n \"use strict\";\n init_discriminant();\n init_union();\n }\n});\n\n// src/core/schemas/builders/index.ts\nvar init_builders = __esm({\n \"src/core/schemas/builders/index.ts\"() {\n \"use strict\";\n init_date2();\n init_enum2();\n init_lazy2();\n init_list2();\n init_literals();\n init_object2();\n init_object_like();\n init_primitives();\n init_record2();\n init_schema_utils();\n init_set2();\n init_undiscriminated_union();\n init_union2();\n }\n});\n\n// src/core/schemas/index.ts\nvar schemas_exports = {};\n__export(schemas_exports, {\n JsonError: () => JsonError,\n ParseError: () => ParseError,\n any: () => any,\n boolean: () => boolean,\n date: () => date,\n discriminant: () => discriminant,\n enum_: () => enum_,\n getObjectLikeUtils: () => getObjectLikeUtils,\n getObjectUtils: () => getObjectUtils,\n getSchemaUtils: () => getSchemaUtils,\n isProperty: () => isProperty,\n lazy: () => lazy,\n lazyObject: () => lazyObject,\n list: () => list,\n number: () => number,\n object: () => object,\n optional: () => optional,\n property: () => property,\n record: () => record,\n set: () => set,\n string: () => string,\n stringLiteral: () => stringLiteral,\n transform: () => transform,\n undiscriminatedUnion: () => undiscriminatedUnion,\n union: () => union,\n unknown: () => unknown,\n withParsedProperties: () => withParsedProperties\n});\nvar init_schemas = __esm({\n \"src/core/schemas/index.ts\"() {\n \"use strict\";\n init_builders();\n init_Schema();\n }\n});\n\n// node_modules/js-base64/base64.mjs\nvar _TD, _TE, b64ch, b64chs, b64tab, _fromCC, _U8Afrom;\nvar init_base64 = __esm({\n \"node_modules/js-base64/base64.mjs\"() {\n _TD = typeof TextDecoder === \"function\" ? new TextDecoder() : void 0;\n _TE = typeof TextEncoder === \"function\" ? new TextEncoder() : void 0;\n b64ch = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n b64chs = Array.prototype.slice.call(b64ch);\n b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n })(b64chs);\n _fromCC = String.fromCharCode.bind(String);\n _U8Afrom = typeof Uint8Array.from === \"function\" ? Uint8Array.from.bind(Uint8Array) : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));\n }\n});\n\n// src/core/auth/BasicAuth.ts\nvar init_BasicAuth = __esm({\n \"src/core/auth/BasicAuth.ts\"() {\n \"use strict\";\n init_base64();\n }\n});\n\n// src/core/auth/BearerToken.ts\nvar init_BearerToken = __esm({\n \"src/core/auth/BearerToken.ts\"() {\n \"use strict\";\n }\n});\n\n// src/core/auth/index.ts\nvar init_auth = __esm({\n \"src/core/auth/index.ts\"() {\n \"use strict\";\n init_BasicAuth();\n init_BearerToken();\n }\n});\n\n// node_modules/axios/lib/helpers/bind.js\nvar require_bind = __commonJS({\n \"node_modules/axios/lib/helpers/bind.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n };\n }\n});\n\n// node_modules/axios/lib/utils.js\nvar require_utils = __commonJS({\n \"node_modules/axios/lib/utils.js\"(exports, module2) {\n \"use strict\";\n var bind = require_bind();\n var toString = Object.prototype.toString;\n var kindOf = function(cache) {\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n }(/* @__PURE__ */ Object.create(null));\n function kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n }\n function isArray(val) {\n return Array.isArray(val);\n }\n function isUndefined(val) {\n return typeof val === \"undefined\";\n }\n function isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === \"function\" && val.constructor.isBuffer(val);\n }\n var isArrayBuffer = kindOfTest(\"ArrayBuffer\");\n function isArrayBufferView(val) {\n var result;\n if (typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n }\n function isString(val) {\n return typeof val === \"string\";\n }\n function isNumber(val) {\n return typeof val === \"number\";\n }\n function isObject(val) {\n return val !== null && typeof val === \"object\";\n }\n function isPlainObject2(val) {\n if (kindOf(val) !== \"object\") {\n return false;\n }\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n }\n var isDate = kindOfTest(\"Date\");\n var isFile = kindOfTest(\"File\");\n var isBlob = kindOfTest(\"Blob\");\n var isFileList = kindOfTest(\"FileList\");\n function isFunction(val) {\n return toString.call(val) === \"[object Function]\";\n }\n function isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n }\n function isFormData(thing) {\n var pattern = \"[object FormData]\";\n return thing && (typeof FormData === \"function\" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern);\n }\n var isURLSearchParams = kindOfTest(\"URLSearchParams\");\n function trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, \"\");\n }\n function isStandardBrowserEnv() {\n if (typeof navigator !== \"undefined\" && (navigator.product === \"ReactNative\" || navigator.product === \"NativeScript\" || navigator.product === \"NS\")) {\n return false;\n }\n return typeof window !== \"undefined\" && typeof document !== \"undefined\";\n }\n function forEach(obj, fn) {\n if (obj === null || typeof obj === \"undefined\") {\n return;\n }\n if (typeof obj !== \"object\") {\n obj = [obj];\n }\n if (isArray(obj)) {\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n }\n function merge() {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject2(result[key]) && isPlainObject2(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject2(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n }\n function extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === \"function\") {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n }\n function stripBOM(content) {\n if (content.charCodeAt(0) === 65279) {\n content = content.slice(1);\n }\n return content;\n }\n function inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n }\n function toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n destObj = destObj || {};\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n return destObj;\n }\n function endsWith(str, searchString, position) {\n str = String(str);\n if (position === void 0 || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n }\n function toArray(thing) {\n if (!thing)\n return null;\n var i = thing.length;\n if (isUndefined(i))\n return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n }\n var isTypedArray = function(TypedArray) {\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n }(typeof Uint8Array !== \"undefined\" && Object.getPrototypeOf(Uint8Array));\n module2.exports = {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isObject,\n isPlainObject: isPlainObject2,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isFunction,\n isStream,\n isURLSearchParams,\n isStandardBrowserEnv,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n isTypedArray,\n isFileList\n };\n }\n});\n\n// node_modules/axios/lib/helpers/buildURL.js\nvar require_buildURL = __commonJS({\n \"node_modules/axios/lib/helpers/buildURL.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n function encode(val) {\n return encodeURIComponent(val).replace(/%3A/gi, \":\").replace(/%24/g, \"$\").replace(/%2C/gi, \",\").replace(/%20/g, \"+\").replace(/%5B/gi, \"[\").replace(/%5D/gi, \"]\");\n }\n module2.exports = function buildURL(url, params, paramsSerializer) {\n if (!params) {\n return url;\n }\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === \"undefined\") {\n return;\n }\n if (utils.isArray(val)) {\n key = key + \"[]\";\n } else {\n val = [val];\n }\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + \"=\" + encode(v));\n });\n });\n serializedParams = parts.join(\"&\");\n }\n if (serializedParams) {\n var hashmarkIndex = url.indexOf(\"#\");\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + serializedParams;\n }\n return url;\n };\n }\n});\n\n// node_modules/axios/lib/core/InterceptorManager.js\nvar require_InterceptorManager = __commonJS({\n \"node_modules/axios/lib/core/InterceptorManager.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n function InterceptorManager() {\n this.handlers = [];\n }\n InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n };\n InterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n };\n InterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n };\n module2.exports = InterceptorManager;\n }\n});\n\n// node_modules/axios/lib/helpers/normalizeHeaderName.js\nvar require_normalizeHeaderName = __commonJS({\n \"node_modules/axios/lib/helpers/normalizeHeaderName.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n module2.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n };\n }\n});\n\n// node_modules/axios/lib/core/AxiosError.js\nvar require_AxiosError = __commonJS({\n \"node_modules/axios/lib/core/AxiosError.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n function AxiosError2(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = \"AxiosError\";\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n }\n utils.inherits(AxiosError2, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n });\n var prototype = AxiosError2.prototype;\n var descriptors = {};\n [\n \"ERR_BAD_OPTION_VALUE\",\n \"ERR_BAD_OPTION\",\n \"ECONNABORTED\",\n \"ETIMEDOUT\",\n \"ERR_NETWORK\",\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"ERR_DEPRECATED\",\n \"ERR_BAD_RESPONSE\",\n \"ERR_BAD_REQUEST\",\n \"ERR_CANCELED\"\n // eslint-disable-next-line func-names\n ].forEach(function(code) {\n descriptors[code] = { value: code };\n });\n Object.defineProperties(AxiosError2, descriptors);\n Object.defineProperty(prototype, \"isAxiosError\", { value: true });\n AxiosError2.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n AxiosError2.call(axiosError, error.message, code, config, request, response);\n axiosError.name = error.name;\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n };\n module2.exports = AxiosError2;\n }\n});\n\n// node_modules/axios/lib/defaults/transitional.js\nvar require_transitional = __commonJS({\n \"node_modules/axios/lib/defaults/transitional.js\"(exports, module2) {\n \"use strict\";\n module2.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n };\n }\n});\n\n// node_modules/axios/lib/helpers/toFormData.js\nvar require_toFormData = __commonJS({\n \"node_modules/axios/lib/helpers/toFormData.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n function toFormData(obj, formData) {\n formData = formData || new FormData();\n var stack = [];\n function convertValue(value) {\n if (value === null)\n return \"\";\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === \"function\" ? new Blob([value]) : Buffer.from(value);\n }\n return value;\n }\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error(\"Circular reference detected in \" + parentKey);\n }\n stack.push(data);\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value))\n return;\n var fullKey = parentKey ? parentKey + \".\" + key : key;\n var arr;\n if (value && !parentKey && typeof value === \"object\") {\n if (utils.endsWith(key, \"{}\")) {\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, \"[]\") && (arr = utils.toArray(value))) {\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n build(value, fullKey);\n });\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n build(obj);\n return formData;\n }\n module2.exports = toFormData;\n }\n});\n\n// node_modules/axios/lib/core/settle.js\nvar require_settle = __commonJS({\n \"node_modules/axios/lib/core/settle.js\"(exports, module2) {\n \"use strict\";\n var AxiosError2 = require_AxiosError();\n module2.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError2(\n \"Request failed with status code \" + response.status,\n [AxiosError2.ERR_BAD_REQUEST, AxiosError2.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n };\n }\n});\n\n// node_modules/axios/lib/helpers/cookies.js\nvar require_cookies = __commonJS({\n \"node_modules/axios/lib/helpers/cookies.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + \"=\" + encodeURIComponent(value));\n if (utils.isNumber(expires)) {\n cookie.push(\"expires=\" + new Date(expires).toGMTString());\n }\n if (utils.isString(path)) {\n cookie.push(\"path=\" + path);\n }\n if (utils.isString(domain)) {\n cookie.push(\"domain=\" + domain);\n }\n if (secure === true) {\n cookie.push(\"secure\");\n }\n document.cookie = cookie.join(\"; \");\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp(\"(^|;\\\\s*)(\" + name + \")=([^;]*)\"));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, \"\", Date.now() - 864e5);\n }\n };\n }() : function nonStandardBrowserEnv() {\n return {\n write: function write() {\n },\n read: function read() {\n return null;\n },\n remove: function remove() {\n }\n };\n }();\n }\n});\n\n// node_modules/axios/lib/helpers/isAbsoluteURL.js\nvar require_isAbsoluteURL = __commonJS({\n \"node_modules/axios/lib/helpers/isAbsoluteURL.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n };\n }\n});\n\n// node_modules/axios/lib/helpers/combineURLs.js\nvar require_combineURLs = __commonJS({\n \"node_modules/axios/lib/helpers/combineURLs.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, \"\") + \"/\" + relativeURL.replace(/^\\/+/, \"\") : baseURL;\n };\n }\n});\n\n// node_modules/axios/lib/core/buildFullPath.js\nvar require_buildFullPath = __commonJS({\n \"node_modules/axios/lib/core/buildFullPath.js\"(exports, module2) {\n \"use strict\";\n var isAbsoluteURL = require_isAbsoluteURL();\n var combineURLs = require_combineURLs();\n module2.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n };\n }\n});\n\n// node_modules/axios/lib/helpers/parseHeaders.js\nvar require_parseHeaders = __commonJS({\n \"node_modules/axios/lib/helpers/parseHeaders.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var ignoreDuplicateOf = [\n \"age\",\n \"authorization\",\n \"content-length\",\n \"content-type\",\n \"etag\",\n \"expires\",\n \"from\",\n \"host\",\n \"if-modified-since\",\n \"if-unmodified-since\",\n \"last-modified\",\n \"location\",\n \"max-forwards\",\n \"proxy-authorization\",\n \"referer\",\n \"retry-after\",\n \"user-agent\"\n ];\n module2.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n if (!headers) {\n return parsed;\n }\n utils.forEach(headers.split(\"\\n\"), function parser(line) {\n i = line.indexOf(\":\");\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === \"set-cookie\") {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + \", \" + val : val;\n }\n }\n });\n return parsed;\n };\n }\n});\n\n// node_modules/axios/lib/helpers/isURLSameOrigin.js\nvar require_isURLSameOrigin = __commonJS({\n \"node_modules/axios/lib/helpers/isURLSameOrigin.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n module2.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement(\"a\");\n var originURL;\n function resolveURL(url) {\n var href = url;\n if (msie) {\n urlParsingNode.setAttribute(\"href\", href);\n href = urlParsingNode.href;\n }\n urlParsingNode.setAttribute(\"href\", href);\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, \"\") : \"\",\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, \"\") : \"\",\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, \"\") : \"\",\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === \"/\" ? urlParsingNode.pathname : \"/\" + urlParsingNode.pathname\n };\n }\n originURL = resolveURL(window.location.href);\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n }() : function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n }();\n }\n});\n\n// node_modules/axios/lib/cancel/CanceledError.js\nvar require_CanceledError = __commonJS({\n \"node_modules/axios/lib/cancel/CanceledError.js\"(exports, module2) {\n \"use strict\";\n var AxiosError2 = require_AxiosError();\n var utils = require_utils();\n function CanceledError(message) {\n AxiosError2.call(this, message == null ? \"canceled\" : message, AxiosError2.ERR_CANCELED);\n this.name = \"CanceledError\";\n }\n utils.inherits(CanceledError, AxiosError2, {\n __CANCEL__: true\n });\n module2.exports = CanceledError;\n }\n});\n\n// node_modules/axios/lib/helpers/parseProtocol.js\nvar require_parseProtocol = __commonJS({\n \"node_modules/axios/lib/helpers/parseProtocol.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || \"\";\n };\n }\n});\n\n// node_modules/axios/lib/adapters/xhr.js\nvar require_xhr = __commonJS({\n \"node_modules/axios/lib/adapters/xhr.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var settle = require_settle();\n var cookies = require_cookies();\n var buildURL = require_buildURL();\n var buildFullPath = require_buildFullPath();\n var parseHeaders = require_parseHeaders();\n var isURLSameOrigin = require_isURLSameOrigin();\n var transitionalDefaults = require_transitional();\n var AxiosError2 = require_AxiosError();\n var CanceledError = require_CanceledError();\n var parseProtocol = require_parseProtocol();\n module2.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n if (config.signal) {\n config.signal.removeEventListener(\"abort\", onCanceled);\n }\n }\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders[\"Content-Type\"];\n }\n var request = new XMLHttpRequest();\n if (config.auth) {\n var username = config.auth.username || \"\";\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : \"\";\n requestHeaders.Authorization = \"Basic \" + btoa(username + \":\" + password);\n }\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n request.timeout = config.timeout;\n function onloadend() {\n if (!request) {\n return;\n }\n var responseHeaders = \"getAllResponseHeaders\" in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === \"text\" || responseType === \"json\" ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n request = null;\n }\n if (\"onloadend\" in request) {\n request.onloadend = onloadend;\n } else {\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf(\"file:\") === 0)) {\n return;\n }\n setTimeout(onloadend);\n };\n }\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n reject(new AxiosError2(\"Request aborted\", AxiosError2.ECONNABORTED, config, request));\n request = null;\n };\n request.onerror = function handleError() {\n reject(new AxiosError2(\"Network Error\", AxiosError2.ERR_NETWORK, config, request, request));\n request = null;\n };\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? \"timeout of \" + config.timeout + \"ms exceeded\" : \"timeout exceeded\";\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError2(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError2.ETIMEDOUT : AxiosError2.ECONNABORTED,\n config,\n request\n ));\n request = null;\n };\n if (utils.isStandardBrowserEnv()) {\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : void 0;\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n if (\"setRequestHeader\" in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === \"undefined\" && key.toLowerCase() === \"content-type\") {\n delete requestHeaders[key];\n } else {\n request.setRequestHeader(key, val);\n }\n });\n }\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n if (responseType && responseType !== \"json\") {\n request.responseType = config.responseType;\n }\n if (typeof config.onDownloadProgress === \"function\") {\n request.addEventListener(\"progress\", config.onDownloadProgress);\n }\n if (typeof config.onUploadProgress === \"function\" && request.upload) {\n request.upload.addEventListener(\"progress\", config.onUploadProgress);\n }\n if (config.cancelToken || config.signal) {\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel && cancel.type ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener(\"abort\", onCanceled);\n }\n }\n if (!requestData) {\n requestData = null;\n }\n var protocol = parseProtocol(fullPath);\n if (protocol && [\"http\", \"https\", \"file\"].indexOf(protocol) === -1) {\n reject(new AxiosError2(\"Unsupported protocol \" + protocol + \":\", AxiosError2.ERR_BAD_REQUEST, config));\n return;\n }\n request.send(requestData);\n });\n };\n }\n});\n\n// node_modules/axios/lib/helpers/null.js\nvar require_null = __commonJS({\n \"node_modules/axios/lib/helpers/null.js\"(exports, module2) {\n module2.exports = null;\n }\n});\n\n// node_modules/axios/lib/defaults/index.js\nvar require_defaults = __commonJS({\n \"node_modules/axios/lib/defaults/index.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var normalizeHeaderName = require_normalizeHeaderName();\n var AxiosError2 = require_AxiosError();\n var transitionalDefaults = require_transitional();\n var toFormData = require_toFormData();\n var DEFAULT_CONTENT_TYPE = {\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n };\n function setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers[\"Content-Type\"])) {\n headers[\"Content-Type\"] = value;\n }\n }\n function getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== \"undefined\") {\n adapter = require_xhr();\n } else if (typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\") {\n adapter = require_xhr();\n }\n return adapter;\n }\n function stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== \"SyntaxError\") {\n throw e;\n }\n }\n }\n return (encoder || JSON.stringify)(rawValue);\n }\n var defaults = {\n transitional: transitionalDefaults,\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, \"Accept\");\n normalizeHeaderName(headers, \"Content-Type\");\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, \"application/x-www-form-urlencoded;charset=utf-8\");\n return data.toString();\n }\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers[\"Content-Type\"];\n var isFileList;\n if ((isFileList = utils.isFileList(data)) || isObjectPayload && contentType === \"multipart/form-data\") {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? { \"files[]\": data } : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === \"application/json\") {\n setContentTypeIfUnset(headers, \"application/json\");\n return stringifySafely(data);\n }\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === \"json\";\n if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === \"SyntaxError\") {\n throw AxiosError2.from(e, AxiosError2.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n return data;\n }],\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: \"XSRF-TOKEN\",\n xsrfHeaderName: \"X-XSRF-TOKEN\",\n maxContentLength: -1,\n maxBodyLength: -1,\n env: {\n FormData: require_null()\n },\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n headers: {\n common: {\n \"Accept\": \"application/json, text/plain, */*\"\n }\n }\n };\n utils.forEach([\"delete\", \"get\", \"head\"], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n });\n utils.forEach([\"post\", \"put\", \"patch\"], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n });\n module2.exports = defaults;\n }\n});\n\n// node_modules/axios/lib/core/transformData.js\nvar require_transformData = __commonJS({\n \"node_modules/axios/lib/core/transformData.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var defaults = require_defaults();\n module2.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n utils.forEach(fns, function transform2(fn) {\n data = fn.call(context, data, headers);\n });\n return data;\n };\n }\n});\n\n// node_modules/axios/lib/cancel/isCancel.js\nvar require_isCancel = __commonJS({\n \"node_modules/axios/lib/cancel/isCancel.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n };\n }\n});\n\n// node_modules/axios/lib/core/dispatchRequest.js\nvar require_dispatchRequest = __commonJS({\n \"node_modules/axios/lib/core/dispatchRequest.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var transformData = require_transformData();\n var isCancel = require_isCancel();\n var defaults = require_defaults();\n var CanceledError = require_CanceledError();\n function throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n }\n module2.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n config.headers = config.headers || {};\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n utils.forEach(\n [\"delete\", \"get\", \"head\", \"post\", \"put\", \"patch\", \"common\"],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n return Promise.reject(reason);\n });\n };\n }\n});\n\n// node_modules/axios/lib/core/mergeConfig.js\nvar require_mergeConfig = __commonJS({\n \"node_modules/axios/lib/core/mergeConfig.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n module2.exports = function mergeConfig(config1, config2) {\n config2 = config2 || {};\n var config = {};\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(void 0, config1[prop]);\n }\n }\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(void 0, config2[prop]);\n }\n }\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(void 0, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(void 0, config1[prop]);\n }\n }\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(void 0, config1[prop]);\n }\n }\n var mergeMap = {\n \"url\": valueFromConfig2,\n \"method\": valueFromConfig2,\n \"data\": valueFromConfig2,\n \"baseURL\": defaultToConfig2,\n \"transformRequest\": defaultToConfig2,\n \"transformResponse\": defaultToConfig2,\n \"paramsSerializer\": defaultToConfig2,\n \"timeout\": defaultToConfig2,\n \"timeoutMessage\": defaultToConfig2,\n \"withCredentials\": defaultToConfig2,\n \"adapter\": defaultToConfig2,\n \"responseType\": defaultToConfig2,\n \"xsrfCookieName\": defaultToConfig2,\n \"xsrfHeaderName\": defaultToConfig2,\n \"onUploadProgress\": defaultToConfig2,\n \"onDownloadProgress\": defaultToConfig2,\n \"decompress\": defaultToConfig2,\n \"maxContentLength\": defaultToConfig2,\n \"maxBodyLength\": defaultToConfig2,\n \"beforeRedirect\": defaultToConfig2,\n \"transport\": defaultToConfig2,\n \"httpAgent\": defaultToConfig2,\n \"httpsAgent\": defaultToConfig2,\n \"cancelToken\": defaultToConfig2,\n \"socketPath\": defaultToConfig2,\n \"responseEncoding\": defaultToConfig2,\n \"validateStatus\": mergeDirectKeys\n };\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);\n });\n return config;\n };\n }\n});\n\n// node_modules/axios/lib/env/data.js\nvar require_data = __commonJS({\n \"node_modules/axios/lib/env/data.js\"(exports, module2) {\n module2.exports = {\n \"version\": \"0.27.2\"\n };\n }\n});\n\n// node_modules/axios/lib/helpers/validator.js\nvar require_validator = __commonJS({\n \"node_modules/axios/lib/helpers/validator.js\"(exports, module2) {\n \"use strict\";\n var VERSION = require_data().version;\n var AxiosError2 = require_AxiosError();\n var validators = {};\n [\"object\", \"boolean\", \"number\", \"function\", \"string\", \"symbol\"].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || \"a\" + (i < 1 ? \"n \" : \" \") + type;\n };\n });\n var deprecatedWarnings = {};\n validators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return \"[Axios v\" + VERSION + \"] Transitional option '\" + opt + \"'\" + desc + (message ? \". \" + message : \"\");\n }\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError2(\n formatMessage(opt, \" has been removed\" + (version ? \" in \" + version : \"\")),\n AxiosError2.ERR_DEPRECATED\n );\n }\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n console.warn(\n formatMessage(\n opt,\n \" has been deprecated since v\" + version + \" and will be removed in the near future\"\n )\n );\n }\n return validator ? validator(value, opt, opts) : true;\n };\n };\n function assertOptions(options, schema, allowUnknown) {\n if (typeof options !== \"object\") {\n throw new AxiosError2(\"options must be an object\", AxiosError2.ERR_BAD_OPTION_VALUE);\n }\n var keys2 = Object.keys(options);\n var i = keys2.length;\n while (i-- > 0) {\n var opt = keys2[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === void 0 || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError2(\"option \" + opt + \" must be \" + result, AxiosError2.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError2(\"Unknown option \" + opt, AxiosError2.ERR_BAD_OPTION);\n }\n }\n }\n module2.exports = {\n assertOptions,\n validators\n };\n }\n});\n\n// node_modules/axios/lib/core/Axios.js\nvar require_Axios = __commonJS({\n \"node_modules/axios/lib/core/Axios.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var buildURL = require_buildURL();\n var InterceptorManager = require_InterceptorManager();\n var dispatchRequest = require_dispatchRequest();\n var mergeConfig = require_mergeConfig();\n var buildFullPath = require_buildFullPath();\n var validator = require_validator();\n var validators = validator.validators;\n function Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n Axios.prototype.request = function request(configOrUrl, config) {\n if (typeof configOrUrl === \"string\") {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n config = mergeConfig(this.defaults, config);\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = \"get\";\n }\n var transitional = config.transitional;\n if (transitional !== void 0) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === \"function\" && interceptor.runWhen(config) === false) {\n return;\n }\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n var promise;\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, void 0];\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n }\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n return promise;\n };\n Axios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n };\n utils.forEach([\"delete\", \"get\", \"head\", \"options\"], function forEachMethodNoData(method) {\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n });\n utils.forEach([\"post\", \"put\", \"patch\"], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n \"Content-Type\": \"multipart/form-data\"\n } : {},\n url,\n data\n }));\n };\n }\n Axios.prototype[method] = generateHTTPMethod();\n Axios.prototype[method + \"Form\"] = generateHTTPMethod(true);\n });\n module2.exports = Axios;\n }\n});\n\n// node_modules/axios/lib/cancel/CancelToken.js\nvar require_CancelToken = __commonJS({\n \"node_modules/axios/lib/cancel/CancelToken.js\"(exports, module2) {\n \"use strict\";\n var CanceledError = require_CanceledError();\n function CancelToken(executor) {\n if (typeof executor !== \"function\") {\n throw new TypeError(\"executor must be a function.\");\n }\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n this.promise.then(function(cancel) {\n if (!token._listeners)\n return;\n var i;\n var l = token._listeners.length;\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n this.promise.then = function(onfulfilled) {\n var _resolve;\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n return promise;\n };\n executor(function cancel(message) {\n if (token.reason) {\n return;\n }\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n }\n CancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n };\n CancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n };\n CancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n };\n CancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n };\n module2.exports = CancelToken;\n }\n});\n\n// node_modules/axios/lib/helpers/spread.js\nvar require_spread = __commonJS({\n \"node_modules/axios/lib/helpers/spread.js\"(exports, module2) {\n \"use strict\";\n module2.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n };\n }\n});\n\n// node_modules/axios/lib/helpers/isAxiosError.js\nvar require_isAxiosError = __commonJS({\n \"node_modules/axios/lib/helpers/isAxiosError.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n module2.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n };\n }\n});\n\n// node_modules/axios/lib/axios.js\nvar require_axios = __commonJS({\n \"node_modules/axios/lib/axios.js\"(exports, module2) {\n \"use strict\";\n var utils = require_utils();\n var bind = require_bind();\n var Axios = require_Axios();\n var mergeConfig = require_mergeConfig();\n var defaults = require_defaults();\n function createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n utils.extend(instance, Axios.prototype, context);\n utils.extend(instance, context);\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n return instance;\n }\n var axios2 = createInstance(defaults);\n axios2.Axios = Axios;\n axios2.CanceledError = require_CanceledError();\n axios2.CancelToken = require_CancelToken();\n axios2.isCancel = require_isCancel();\n axios2.VERSION = require_data().version;\n axios2.toFormData = require_toFormData();\n axios2.AxiosError = require_AxiosError();\n axios2.Cancel = axios2.CanceledError;\n axios2.all = function all(promises) {\n return Promise.all(promises);\n };\n axios2.spread = require_spread();\n axios2.isAxiosError = require_isAxiosError();\n module2.exports = axios2;\n module2.exports.default = axios2;\n }\n});\n\n// node_modules/axios/index.js\nvar require_axios2 = __commonJS({\n \"node_modules/axios/index.js\"(exports, module2) {\n module2.exports = require_axios();\n }\n});\n\n// src/core/fetcher/Fetcher.ts\nvar import_axios, fetcher;\nvar init_Fetcher = __esm({\n \"src/core/fetcher/Fetcher.ts\"() {\n \"use strict\";\n import_axios = __toESM(require_axios2());\n fetcher = async (args) => {\n const headers = {};\n if (args.contentType != null) {\n headers[\"Content-Type\"] = args.contentType;\n }\n if (args.headers != null) {\n for (const [key, value] of Object.entries(args.headers)) {\n if (value != null) {\n headers[key] = value;\n }\n }\n }\n try {\n const response = await (0, import_axios.default)({\n url: args.url,\n params: args.queryParameters,\n method: args.method,\n headers,\n data: args.body,\n validateStatus: () => true,\n transformResponse: (response2) => response2,\n timeout: args.timeoutMs ?? 6e4,\n transitional: {\n clarifyTimeoutError: true\n },\n withCredentials: args.withCredentials\n });\n let body;\n if (response.data != null && response.data.length > 0) {\n try {\n body = JSON.parse(response.data) ?? void 0;\n } catch {\n return {\n ok: false,\n error: {\n reason: \"non-json\",\n statusCode: response.status,\n rawBody: response.data\n }\n };\n }\n }\n if (response.status >= 200 && response.status < 300) {\n return {\n ok: true,\n body\n };\n } else {\n return {\n ok: false,\n error: {\n reason: \"status-code\",\n statusCode: response.status,\n body\n }\n };\n }\n } catch (error) {\n if (error.code === \"ETIMEDOUT\") {\n return {\n ok: false,\n error: {\n reason: \"timeout\"\n }\n };\n }\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: error.message\n }\n };\n }\n };\n }\n});\n\n// src/core/fetcher/Supplier.ts\nvar Supplier;\nvar init_Supplier = __esm({\n \"src/core/fetcher/Supplier.ts\"() {\n \"use strict\";\n Supplier = {\n get: async (supplier) => {\n if (typeof supplier === \"function\") {\n return supplier();\n } else {\n return supplier;\n }\n }\n };\n }\n});\n\n// src/core/fetcher/index.ts\nvar init_fetcher = __esm({\n \"src/core/fetcher/index.ts\"() {\n \"use strict\";\n init_Fetcher();\n init_Supplier();\n }\n});\n\n// src/core/index.ts\nvar init_core = __esm({\n \"src/core/index.ts\"() {\n \"use strict\";\n init_schemas();\n init_auth();\n init_fetcher();\n }\n});\n\n// node_modules/url-join/lib/url-join.js\nvar require_url_join = __commonJS({\n \"node_modules/url-join/lib/url-join.js\"(exports, module2) {\n (function(name, context, definition) {\n if (typeof module2 !== \"undefined\" && module2.exports)\n module2.exports = definition();\n else if (typeof define === \"function\" && define.amd)\n define(definition);\n else\n context[name] = definition();\n })(\"urljoin\", exports, function() {\n function normalize(strArray) {\n var resultArray = [];\n if (strArray.length === 0) {\n return \"\";\n }\n if (typeof strArray[0] !== \"string\") {\n throw new TypeError(\"Url must be a string. Received \" + strArray[0]);\n }\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, \"$1:///\");\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, \"$1://\");\n }\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n if (typeof component !== \"string\") {\n throw new TypeError(\"Url must be a string. Received \" + component);\n }\n if (component === \"\") {\n continue;\n }\n if (i > 0) {\n component = component.replace(/^[\\/]+/, \"\");\n }\n if (i < strArray.length - 1) {\n component = component.replace(/[\\/]+$/, \"\");\n } else {\n component = component.replace(/[\\/]+$/, \"/\");\n }\n resultArray.push(component);\n }\n var str = resultArray.join(\"/\");\n str = str.replace(/\\/(\\?|&|#[^!])/g, \"$1\");\n var parts = str.split(\"?\");\n str = parts.shift() + (parts.length > 0 ? \"?\" : \"\") + parts.join(\"&\");\n return str;\n }\n return function() {\n var input;\n if (typeof arguments[0] === \"object\") {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n return normalize(input);\n };\n });\n }\n});\n\n// src/serialization/resources/admin/types/LoginRequest.ts\nvar LoginRequest;\nvar init_LoginRequest = __esm({\n \"src/serialization/resources/admin/types/LoginRequest.ts\"() {\n \"use strict\";\n init_core();\n LoginRequest = schemas_exports.object({\n name: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/admin/types/LoginResponse.ts\nvar LoginResponse;\nvar init_LoginResponse = __esm({\n \"src/serialization/resources/admin/types/LoginResponse.ts\"() {\n \"use strict\";\n init_core();\n LoginResponse = schemas_exports.object({\n url: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/admin/types/index.ts\nvar init_types = __esm({\n \"src/serialization/resources/admin/types/index.ts\"() {\n \"use strict\";\n init_LoginRequest();\n init_LoginResponse();\n }\n});\n\n// src/serialization/resources/admin/index.ts\nvar admin_exports2 = {};\n__export(admin_exports2, {\n LoginRequest: () => LoginRequest,\n LoginResponse: () => LoginResponse\n});\nvar init_admin = __esm({\n \"src/serialization/resources/admin/index.ts\"() {\n \"use strict\";\n init_types();\n }\n});\n\n// src/serialization/resources/cloud/types/BootstrapResponse.ts\nvar BootstrapResponse;\nvar init_BootstrapResponse = __esm({\n \"src/serialization/resources/cloud/types/BootstrapResponse.ts\"() {\n \"use strict\";\n init_core();\n BootstrapResponse = schemas_exports.object({\n cluster: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.BootstrapCluster),\n captcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.BootstrapCaptcha)\n });\n }\n});\n\n// src/serialization/resources/cloud/types/BootstrapCluster.ts\nvar BootstrapCluster2;\nvar init_BootstrapCluster = __esm({\n \"src/serialization/resources/cloud/types/BootstrapCluster.ts\"() {\n \"use strict\";\n init_core();\n BootstrapCluster2 = schemas_exports.enum_([\"enterprise\", \"oss\"]);\n }\n});\n\n// src/serialization/resources/cloud/types/BootstrapCaptcha.ts\nvar BootstrapCaptcha;\nvar init_BootstrapCaptcha = __esm({\n \"src/serialization/resources/cloud/types/BootstrapCaptcha.ts\"() {\n \"use strict\";\n init_core();\n BootstrapCaptcha = schemas_exports.object({\n turnstile: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.BootstrapCaptchaTurnstile).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/types/BootstrapCaptchaTurnstile.ts\nvar BootstrapCaptchaTurnstile;\nvar init_BootstrapCaptchaTurnstile = __esm({\n \"src/serialization/resources/cloud/types/BootstrapCaptchaTurnstile.ts\"() {\n \"use strict\";\n init_core();\n BootstrapCaptchaTurnstile = schemas_exports.object({\n siteKey: schemas_exports.property(\"site_key\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/types/index.ts\nvar init_types2 = __esm({\n \"src/serialization/resources/cloud/types/index.ts\"() {\n \"use strict\";\n init_BootstrapResponse();\n init_BootstrapCluster();\n init_BootstrapCaptcha();\n init_BootstrapCaptchaTurnstile();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceRequest.ts\nvar CreateGameNamespaceRequest;\nvar init_CreateGameNamespaceRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameNamespaceRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceResponse.ts\nvar CreateGameNamespaceResponse;\nvar init_CreateGameNamespaceResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameNamespaceResponse = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceRequest.ts\nvar ValidateGameNamespaceRequest;\nvar init_ValidateGameNamespaceRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceResponse.ts\nvar ValidateGameNamespaceResponse;\nvar init_ValidateGameNamespaceResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/GetGameNamespaceByIdResponse.ts\nvar GetGameNamespaceByIdResponse;\nvar init_GetGameNamespaceByIdResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/GetGameNamespaceByIdResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGameNamespaceByIdResponse = schemas_exports.object({\n namespace: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.NamespaceFull)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateNamespaceCdnAuthUserRequest.ts\nvar UpdateNamespaceCdnAuthUserRequest;\nvar init_UpdateNamespaceCdnAuthUserRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateNamespaceCdnAuthUserRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateNamespaceCdnAuthUserRequest = schemas_exports.object({\n user: schemas_exports.string(),\n password: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/SetNamespaceCdnAuthTypeRequest.ts\nvar SetNamespaceCdnAuthTypeRequest;\nvar init_SetNamespaceCdnAuthTypeRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/SetNamespaceCdnAuthTypeRequest.ts\"() {\n \"use strict\";\n init_core();\n SetNamespaceCdnAuthTypeRequest = schemas_exports.object({\n authType: schemas_exports.property(\n \"auth_type\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnAuthType)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ToggleNamespaceDomainPublicAuthRequest.ts\nvar ToggleNamespaceDomainPublicAuthRequest;\nvar init_ToggleNamespaceDomainPublicAuthRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ToggleNamespaceDomainPublicAuthRequest.ts\"() {\n \"use strict\";\n init_core();\n ToggleNamespaceDomainPublicAuthRequest = schemas_exports.object({\n enabled: schemas_exports.boolean()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/AddNamespaceDomainRequest.ts\nvar AddNamespaceDomainRequest;\nvar init_AddNamespaceDomainRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/AddNamespaceDomainRequest.ts\"() {\n \"use strict\";\n init_core();\n AddNamespaceDomainRequest = schemas_exports.object({\n domain: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateGameNamespaceMatchmakerConfigRequest.ts\nvar UpdateGameNamespaceMatchmakerConfigRequest;\nvar init_UpdateGameNamespaceMatchmakerConfigRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateGameNamespaceMatchmakerConfigRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateGameNamespaceMatchmakerConfigRequest = schemas_exports.object({\n lobbyCountMax: schemas_exports.property(\"lobby_count_max\", schemas_exports.number()),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/GetGameNamespaceVersionHistoryResponse.ts\nvar GetGameNamespaceVersionHistoryResponse;\nvar init_GetGameNamespaceVersionHistoryResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/GetGameNamespaceVersionHistoryResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGameNamespaceVersionHistoryResponse = schemas_exports.object({\n versions: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.NamespaceVersion)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceMatchmakerConfigRequest.ts\nvar ValidateGameNamespaceMatchmakerConfigRequest;\nvar init_ValidateGameNamespaceMatchmakerConfigRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceMatchmakerConfigRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceMatchmakerConfigRequest = schemas_exports.object({\n lobbyCountMax: schemas_exports.property(\"lobby_count_max\", schemas_exports.number()),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceMatchmakerConfigResponse.ts\nvar ValidateGameNamespaceMatchmakerConfigResponse;\nvar init_ValidateGameNamespaceMatchmakerConfigResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceMatchmakerConfigResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceMatchmakerConfigResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenDevelopmentRequest.ts\nvar CreateGameNamespaceTokenDevelopmentRequest;\nvar init_CreateGameNamespaceTokenDevelopmentRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenDevelopmentRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameNamespaceTokenDevelopmentRequest = schemas_exports.object({\n hostname: schemas_exports.string(),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.MatchmakerDevelopmentPort\n )\n ).optional(),\n lobbyPorts: schemas_exports.property(\n \"lobby_ports\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntimeDockerPort\n )\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenDevelopmentResponse.ts\nvar CreateGameNamespaceTokenDevelopmentResponse;\nvar init_CreateGameNamespaceTokenDevelopmentResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenDevelopmentResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameNamespaceTokenDevelopmentResponse = schemas_exports.object({\n token: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceTokenDevelopmentRequest.ts\nvar ValidateGameNamespaceTokenDevelopmentRequest;\nvar init_ValidateGameNamespaceTokenDevelopmentRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceTokenDevelopmentRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceTokenDevelopmentRequest = schemas_exports.object({\n hostname: schemas_exports.string(),\n lobbyPorts: schemas_exports.property(\n \"lobby_ports\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntimeDockerPort\n )\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceTokenDevelopmentResponse.ts\nvar ValidateGameNamespaceTokenDevelopmentResponse;\nvar init_ValidateGameNamespaceTokenDevelopmentResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/ValidateGameNamespaceTokenDevelopmentResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameNamespaceTokenDevelopmentResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenPublicResponse.ts\nvar CreateGameNamespaceTokenPublicResponse;\nvar init_CreateGameNamespaceTokenPublicResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/CreateGameNamespaceTokenPublicResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameNamespaceTokenPublicResponse = schemas_exports.object({\n token: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateGameNamespaceVersionRequest.ts\nvar UpdateGameNamespaceVersionRequest;\nvar init_UpdateGameNamespaceVersionRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/UpdateGameNamespaceVersionRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateGameNamespaceVersionRequest = schemas_exports.object({\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/types/index.ts\nvar init_types3 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/types/index.ts\"() {\n \"use strict\";\n init_CreateGameNamespaceRequest();\n init_CreateGameNamespaceResponse();\n init_ValidateGameNamespaceRequest();\n init_ValidateGameNamespaceResponse();\n init_GetGameNamespaceByIdResponse();\n init_UpdateNamespaceCdnAuthUserRequest();\n init_SetNamespaceCdnAuthTypeRequest();\n init_ToggleNamespaceDomainPublicAuthRequest();\n init_AddNamespaceDomainRequest();\n init_UpdateGameNamespaceMatchmakerConfigRequest();\n init_GetGameNamespaceVersionHistoryResponse();\n init_ValidateGameNamespaceMatchmakerConfigRequest();\n init_ValidateGameNamespaceMatchmakerConfigResponse();\n init_CreateGameNamespaceTokenDevelopmentRequest();\n init_CreateGameNamespaceTokenDevelopmentResponse();\n init_ValidateGameNamespaceTokenDevelopmentRequest();\n init_ValidateGameNamespaceTokenDevelopmentResponse();\n init_CreateGameNamespaceTokenPublicResponse();\n init_UpdateGameNamespaceVersionRequest();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/types/GetAnalyticsMatchmakerLiveResponse.ts\nvar GetAnalyticsMatchmakerLiveResponse;\nvar init_GetAnalyticsMatchmakerLiveResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/types/GetAnalyticsMatchmakerLiveResponse.ts\"() {\n \"use strict\";\n init_core();\n GetAnalyticsMatchmakerLiveResponse = schemas_exports.object({\n lobbies: schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LobbySummaryAnalytics\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/types/index.ts\nvar init_types4 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/types/index.ts\"() {\n \"use strict\";\n init_GetAnalyticsMatchmakerLiveResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/index.ts\nvar analytics_exports2 = {};\n__export(analytics_exports2, {\n GetAnalyticsMatchmakerLiveResponse: () => GetAnalyticsMatchmakerLiveResponse\n});\nvar init_analytics = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/analytics/index.ts\"() {\n \"use strict\";\n init_types4();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/ListNamespaceLobbiesResponse.ts\nvar ListNamespaceLobbiesResponse;\nvar init_ListNamespaceLobbiesResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/ListNamespaceLobbiesResponse.ts\"() {\n \"use strict\";\n init_core();\n ListNamespaceLobbiesResponse = schemas_exports.object({\n lobbies: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsLobbySummary)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/GetNamespaceLobbyResponse.ts\nvar GetNamespaceLobbyResponse;\nvar init_GetNamespaceLobbyResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/GetNamespaceLobbyResponse.ts\"() {\n \"use strict\";\n init_core();\n GetNamespaceLobbyResponse = schemas_exports.object({\n lobby: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsLobbySummary\n ),\n metrics: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.SvcMetrics).optional(),\n stdoutPresignedUrls: schemas_exports.property(\n \"stdout_presigned_urls\",\n schemas_exports.list(schemas_exports.string())\n ),\n stderrPresignedUrls: schemas_exports.property(\n \"stderr_presigned_urls\",\n schemas_exports.list(schemas_exports.string())\n ),\n perfLists: schemas_exports.property(\n \"perf_lists\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.SvcPerf)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/index.ts\nvar init_types5 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/types/index.ts\"() {\n \"use strict\";\n init_ListNamespaceLobbiesResponse();\n init_GetNamespaceLobbyResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/index.ts\nvar logs_exports3 = {};\n__export(logs_exports3, {\n GetNamespaceLobbyResponse: () => GetNamespaceLobbyResponse,\n ListNamespaceLobbiesResponse: () => ListNamespaceLobbiesResponse\n});\nvar init_logs = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/logs/index.ts\"() {\n \"use strict\";\n init_types5();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/resources/index.ts\nvar init_resources = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/resources/index.ts\"() {\n \"use strict\";\n init_analytics();\n init_types4();\n init_logs();\n init_types5();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/namespaces/index.ts\nvar namespaces_exports2 = {};\n__export(namespaces_exports2, {\n AddNamespaceDomainRequest: () => AddNamespaceDomainRequest,\n CreateGameNamespaceRequest: () => CreateGameNamespaceRequest,\n CreateGameNamespaceResponse: () => CreateGameNamespaceResponse,\n CreateGameNamespaceTokenDevelopmentRequest: () => CreateGameNamespaceTokenDevelopmentRequest,\n CreateGameNamespaceTokenDevelopmentResponse: () => CreateGameNamespaceTokenDevelopmentResponse,\n CreateGameNamespaceTokenPublicResponse: () => CreateGameNamespaceTokenPublicResponse,\n GetAnalyticsMatchmakerLiveResponse: () => GetAnalyticsMatchmakerLiveResponse,\n GetGameNamespaceByIdResponse: () => GetGameNamespaceByIdResponse,\n GetGameNamespaceVersionHistoryResponse: () => GetGameNamespaceVersionHistoryResponse,\n GetNamespaceLobbyResponse: () => GetNamespaceLobbyResponse,\n ListNamespaceLobbiesResponse: () => ListNamespaceLobbiesResponse,\n SetNamespaceCdnAuthTypeRequest: () => SetNamespaceCdnAuthTypeRequest,\n ToggleNamespaceDomainPublicAuthRequest: () => ToggleNamespaceDomainPublicAuthRequest,\n UpdateGameNamespaceMatchmakerConfigRequest: () => UpdateGameNamespaceMatchmakerConfigRequest,\n UpdateGameNamespaceVersionRequest: () => UpdateGameNamespaceVersionRequest,\n UpdateNamespaceCdnAuthUserRequest: () => UpdateNamespaceCdnAuthUserRequest,\n ValidateGameNamespaceMatchmakerConfigRequest: () => ValidateGameNamespaceMatchmakerConfigRequest,\n ValidateGameNamespaceMatchmakerConfigResponse: () => ValidateGameNamespaceMatchmakerConfigResponse,\n ValidateGameNamespaceRequest: () => ValidateGameNamespaceRequest,\n ValidateGameNamespaceResponse: () => ValidateGameNamespaceResponse,\n ValidateGameNamespaceTokenDevelopmentRequest: () => ValidateGameNamespaceTokenDevelopmentRequest,\n ValidateGameNamespaceTokenDevelopmentResponse: () => ValidateGameNamespaceTokenDevelopmentResponse,\n analytics: () => analytics_exports2,\n logs: () => logs_exports3\n});\nvar init_namespaces = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/namespaces/index.ts\"() {\n \"use strict\";\n init_types3();\n init_resources();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/avatars/types/ListGameCustomAvatarsResponse.ts\nvar ListGameCustomAvatarsResponse;\nvar init_ListGameCustomAvatarsResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/avatars/types/ListGameCustomAvatarsResponse.ts\"() {\n \"use strict\";\n init_core();\n ListGameCustomAvatarsResponse = schemas_exports.object({\n customAvatars: schemas_exports.property(\n \"custom_avatars\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CustomAvatarSummary)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/avatars/types/PrepareCustomAvatarUploadRequest.ts\nvar PrepareCustomAvatarUploadRequest;\nvar init_PrepareCustomAvatarUploadRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/avatars/types/PrepareCustomAvatarUploadRequest.ts\"() {\n \"use strict\";\n init_core();\n PrepareCustomAvatarUploadRequest = schemas_exports.object({\n path: schemas_exports.string(),\n mime: schemas_exports.string().optional(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/avatars/types/PrepareCustomAvatarUploadResponse.ts\nvar PrepareCustomAvatarUploadResponse;\nvar init_PrepareCustomAvatarUploadResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/avatars/types/PrepareCustomAvatarUploadResponse.ts\"() {\n \"use strict\";\n init_core();\n PrepareCustomAvatarUploadResponse = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequest: schemas_exports.property(\n \"presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/avatars/types/index.ts\nvar init_types6 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/avatars/types/index.ts\"() {\n \"use strict\";\n init_ListGameCustomAvatarsResponse();\n init_PrepareCustomAvatarUploadRequest();\n init_PrepareCustomAvatarUploadResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/avatars/index.ts\nvar avatars_exports2 = {};\n__export(avatars_exports2, {\n ListGameCustomAvatarsResponse: () => ListGameCustomAvatarsResponse,\n PrepareCustomAvatarUploadRequest: () => PrepareCustomAvatarUploadRequest,\n PrepareCustomAvatarUploadResponse: () => PrepareCustomAvatarUploadResponse\n});\nvar init_avatars = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/avatars/index.ts\"() {\n \"use strict\";\n init_types6();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/ListGameBuildsResponse.ts\nvar ListGameBuildsResponse;\nvar init_ListGameBuildsResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/ListGameBuildsResponse.ts\"() {\n \"use strict\";\n init_core();\n ListGameBuildsResponse = schemas_exports.object({\n builds: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.BuildSummary)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/CreateGameBuildRequest.ts\nvar CreateGameBuildRequest;\nvar init_CreateGameBuildRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/CreateGameBuildRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameBuildRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n imageTag: schemas_exports.property(\"image_tag\", schemas_exports.string()),\n imageFile: schemas_exports.property(\n \"image_file\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PrepareFile)\n ),\n multipartUpload: schemas_exports.property(\"multipart_upload\", schemas_exports.boolean().optional()),\n kind: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.games.BuildKind).optional(),\n compression: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.games.BuildCompression).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/CreateGameBuildResponse.ts\nvar CreateGameBuildResponse;\nvar init_CreateGameBuildResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/CreateGameBuildResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameBuildResponse = schemas_exports.object({\n buildId: schemas_exports.property(\"build_id\", schemas_exports.string()),\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n imagePresignedRequest: schemas_exports.property(\n \"image_presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest).optional()\n ),\n imagePresignedRequests: schemas_exports.property(\n \"image_presigned_requests\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest\n )\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/BuildKind.ts\nvar BuildKind2;\nvar init_BuildKind = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/BuildKind.ts\"() {\n \"use strict\";\n init_core();\n BuildKind2 = schemas_exports.enum_([\"docker_image\", \"oci_bundle\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/BuildCompression.ts\nvar BuildCompression2;\nvar init_BuildCompression = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/BuildCompression.ts\"() {\n \"use strict\";\n init_core();\n BuildCompression2 = schemas_exports.enum_([\"none\", \"lz4\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/types/index.ts\nvar init_types7 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/types/index.ts\"() {\n \"use strict\";\n init_ListGameBuildsResponse();\n init_CreateGameBuildRequest();\n init_CreateGameBuildResponse();\n init_BuildKind();\n init_BuildCompression();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/builds/index.ts\nvar builds_exports2 = {};\n__export(builds_exports2, {\n BuildCompression: () => BuildCompression2,\n BuildKind: () => BuildKind2,\n CreateGameBuildRequest: () => CreateGameBuildRequest,\n CreateGameBuildResponse: () => CreateGameBuildResponse,\n ListGameBuildsResponse: () => ListGameBuildsResponse\n});\nvar init_builds = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/builds/index.ts\"() {\n \"use strict\";\n init_types7();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/cdn/types/ListGameCdnSitesResponse.ts\nvar ListGameCdnSitesResponse;\nvar init_ListGameCdnSitesResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/cdn/types/ListGameCdnSitesResponse.ts\"() {\n \"use strict\";\n init_core();\n ListGameCdnSitesResponse = schemas_exports.object({\n sites: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnSiteSummary)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/cdn/types/CreateGameCdnSiteRequest.ts\nvar CreateGameCdnSiteRequest;\nvar init_CreateGameCdnSiteRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/cdn/types/CreateGameCdnSiteRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameCdnSiteRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n files: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PrepareFile)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/cdn/types/CreateGameCdnSiteResponse.ts\nvar CreateGameCdnSiteResponse;\nvar init_CreateGameCdnSiteResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/cdn/types/CreateGameCdnSiteResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameCdnSiteResponse = schemas_exports.object({\n siteId: schemas_exports.property(\"site_id\", schemas_exports.string()),\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequests: schemas_exports.property(\n \"presigned_requests\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/cdn/types/index.ts\nvar init_types8 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/cdn/types/index.ts\"() {\n \"use strict\";\n init_ListGameCdnSitesResponse();\n init_CreateGameCdnSiteRequest();\n init_CreateGameCdnSiteResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/cdn/index.ts\nvar cdn_exports3 = {};\n__export(cdn_exports3, {\n CreateGameCdnSiteRequest: () => CreateGameCdnSiteRequest,\n CreateGameCdnSiteResponse: () => CreateGameCdnSiteResponse,\n ListGameCdnSitesResponse: () => ListGameCdnSitesResponse\n});\nvar init_cdn = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/cdn/index.ts\"() {\n \"use strict\";\n init_types8();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GetGamesResponse.ts\nvar GetGamesResponse;\nvar init_GetGamesResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GetGamesResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGamesResponse = schemas_exports.object({\n games: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.Summary)\n ),\n groups: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Summary)\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/CreateGameRequest.ts\nvar CreateGameRequest;\nvar init_CreateGameRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/CreateGameRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameRequest = schemas_exports.object({\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n developerGroupId: schemas_exports.property(\"developer_group_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/CreateGameResponse.ts\nvar CreateGameResponse;\nvar init_CreateGameResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/CreateGameResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameResponse = schemas_exports.object({\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/ValidateGameRequest.ts\nvar ValidateGameRequest;\nvar init_ValidateGameRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/ValidateGameRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/ValidateGameResponse.ts\nvar ValidateGameResponse;\nvar init_ValidateGameResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/ValidateGameResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GetGameByIdResponse.ts\nvar GetGameByIdResponse;\nvar init_GetGameByIdResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GetGameByIdResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGameByIdResponse = schemas_exports.object({\n game: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.GameFull),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GameBannerUploadPrepareRequest.ts\nvar GameBannerUploadPrepareRequest;\nvar init_GameBannerUploadPrepareRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GameBannerUploadPrepareRequest.ts\"() {\n \"use strict\";\n init_core();\n GameBannerUploadPrepareRequest = schemas_exports.object({\n path: schemas_exports.string(),\n mime: schemas_exports.string().optional(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GameBannerUploadPrepareResponse.ts\nvar GameBannerUploadPrepareResponse;\nvar init_GameBannerUploadPrepareResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GameBannerUploadPrepareResponse.ts\"() {\n \"use strict\";\n init_core();\n GameBannerUploadPrepareResponse = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequest: schemas_exports.property(\n \"presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GameLogoUploadPrepareRequest.ts\nvar GameLogoUploadPrepareRequest;\nvar init_GameLogoUploadPrepareRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GameLogoUploadPrepareRequest.ts\"() {\n \"use strict\";\n init_core();\n GameLogoUploadPrepareRequest = schemas_exports.object({\n path: schemas_exports.string(),\n mime: schemas_exports.string().optional(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/GameLogoUploadPrepareResponse.ts\nvar GameLogoUploadPrepareResponse;\nvar init_GameLogoUploadPrepareResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/GameLogoUploadPrepareResponse.ts\"() {\n \"use strict\";\n init_core();\n GameLogoUploadPrepareResponse = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequest: schemas_exports.property(\n \"presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/types/index.ts\nvar init_types9 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/types/index.ts\"() {\n \"use strict\";\n init_GetGamesResponse();\n init_CreateGameRequest();\n init_CreateGameResponse();\n init_ValidateGameRequest();\n init_ValidateGameResponse();\n init_GetGameByIdResponse();\n init_GameBannerUploadPrepareRequest();\n init_GameBannerUploadPrepareResponse();\n init_GameLogoUploadPrepareRequest();\n init_GameLogoUploadPrepareResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/games/index.ts\nvar games_exports3 = {};\n__export(games_exports3, {\n CreateGameRequest: () => CreateGameRequest,\n CreateGameResponse: () => CreateGameResponse,\n GameBannerUploadPrepareRequest: () => GameBannerUploadPrepareRequest,\n GameBannerUploadPrepareResponse: () => GameBannerUploadPrepareResponse,\n GameLogoUploadPrepareRequest: () => GameLogoUploadPrepareRequest,\n GameLogoUploadPrepareResponse: () => GameLogoUploadPrepareResponse,\n GetGameByIdResponse: () => GetGameByIdResponse,\n GetGamesResponse: () => GetGamesResponse,\n ValidateGameRequest: () => ValidateGameRequest,\n ValidateGameResponse: () => ValidateGameResponse\n});\nvar init_games = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/games/index.ts\"() {\n \"use strict\";\n init_types9();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportMatchmakerLobbyHistoryRequest.ts\nvar ExportMatchmakerLobbyHistoryRequest;\nvar init_ExportMatchmakerLobbyHistoryRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportMatchmakerLobbyHistoryRequest.ts\"() {\n \"use strict\";\n init_core();\n ExportMatchmakerLobbyHistoryRequest = schemas_exports.object({\n queryStart: schemas_exports.property(\"query_start\", schemas_exports.number()),\n queryEnd: schemas_exports.property(\"query_end\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportMatchmakerLobbyHistoryResponse.ts\nvar ExportMatchmakerLobbyHistoryResponse;\nvar init_ExportMatchmakerLobbyHistoryResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportMatchmakerLobbyHistoryResponse.ts\"() {\n \"use strict\";\n init_core();\n ExportMatchmakerLobbyHistoryResponse = schemas_exports.object({\n url: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/DeleteMatchmakerLobbyResponse.ts\nvar DeleteMatchmakerLobbyResponse;\nvar init_DeleteMatchmakerLobbyResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/DeleteMatchmakerLobbyResponse.ts\"() {\n \"use strict\";\n init_core();\n DeleteMatchmakerLobbyResponse = schemas_exports.object({\n didRemove: schemas_exports.property(\"did_remove\", schemas_exports.boolean())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/GetLobbyLogsResponse.ts\nvar GetLobbyLogsResponse;\nvar init_GetLobbyLogsResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/GetLobbyLogsResponse.ts\"() {\n \"use strict\";\n init_core();\n GetLobbyLogsResponse = schemas_exports.object({\n lines: schemas_exports.list(schemas_exports.string()),\n timestamps: schemas_exports.list(schemas_exports.string()),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportLobbyLogsRequest.ts\nvar ExportLobbyLogsRequest;\nvar init_ExportLobbyLogsRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportLobbyLogsRequest.ts\"() {\n \"use strict\";\n init_core();\n ExportLobbyLogsRequest = schemas_exports.object({\n stream: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.games.LogStream)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportLobbyLogsResponse.ts\nvar ExportLobbyLogsResponse;\nvar init_ExportLobbyLogsResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/ExportLobbyLogsResponse.ts\"() {\n \"use strict\";\n init_core();\n ExportLobbyLogsResponse = schemas_exports.object({\n url: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/LogStream.ts\nvar LogStream2;\nvar init_LogStream = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/LogStream.ts\"() {\n \"use strict\";\n init_core();\n LogStream2 = schemas_exports.enum_([\"std_out\", \"std_err\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/types/index.ts\nvar init_types10 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/types/index.ts\"() {\n \"use strict\";\n init_ExportMatchmakerLobbyHistoryRequest();\n init_ExportMatchmakerLobbyHistoryResponse();\n init_DeleteMatchmakerLobbyResponse();\n init_GetLobbyLogsResponse();\n init_ExportLobbyLogsRequest();\n init_ExportLobbyLogsResponse();\n init_LogStream();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/matchmaker/index.ts\nvar matchmaker_exports4 = {};\n__export(matchmaker_exports4, {\n DeleteMatchmakerLobbyResponse: () => DeleteMatchmakerLobbyResponse,\n ExportLobbyLogsRequest: () => ExportLobbyLogsRequest,\n ExportLobbyLogsResponse: () => ExportLobbyLogsResponse,\n ExportMatchmakerLobbyHistoryRequest: () => ExportMatchmakerLobbyHistoryRequest,\n ExportMatchmakerLobbyHistoryResponse: () => ExportMatchmakerLobbyHistoryResponse,\n GetLobbyLogsResponse: () => GetLobbyLogsResponse,\n LogStream: () => LogStream2\n});\nvar init_matchmaker = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/matchmaker/index.ts\"() {\n \"use strict\";\n init_types10();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/tokens/types/CreateCloudTokenResponse.ts\nvar CreateCloudTokenResponse;\nvar init_CreateCloudTokenResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/tokens/types/CreateCloudTokenResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateCloudTokenResponse = schemas_exports.object({\n token: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/tokens/types/index.ts\nvar init_types11 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/tokens/types/index.ts\"() {\n \"use strict\";\n init_CreateCloudTokenResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/tokens/index.ts\nvar tokens_exports2 = {};\n__export(tokens_exports2, {\n CreateCloudTokenResponse: () => CreateCloudTokenResponse\n});\nvar init_tokens = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/tokens/index.ts\"() {\n \"use strict\";\n init_types11();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/CreateGameVersionRequest.ts\nvar CreateGameVersionRequest;\nvar init_CreateGameVersionRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/CreateGameVersionRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateGameVersionRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n config: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.Config)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/CreateGameVersionResponse.ts\nvar CreateGameVersionResponse;\nvar init_CreateGameVersionResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/CreateGameVersionResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateGameVersionResponse = schemas_exports.object({\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/ValidateGameVersionRequest.ts\nvar ValidateGameVersionRequest;\nvar init_ValidateGameVersionRequest = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/ValidateGameVersionRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameVersionRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n config: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.Config)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/ValidateGameVersionResponse.ts\nvar ValidateGameVersionResponse;\nvar init_ValidateGameVersionResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/ValidateGameVersionResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGameVersionResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/GetGameVersionByIdResponse.ts\nvar GetGameVersionByIdResponse;\nvar init_GetGameVersionByIdResponse = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/GetGameVersionByIdResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGameVersionByIdResponse = schemas_exports.object({\n version: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.Full)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/types/index.ts\nvar init_types12 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/types/index.ts\"() {\n \"use strict\";\n init_CreateGameVersionRequest();\n init_CreateGameVersionResponse();\n init_ValidateGameVersionRequest();\n init_ValidateGameVersionResponse();\n init_GetGameVersionByIdResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/versions/index.ts\nvar versions_exports2 = {};\n__export(versions_exports2, {\n CreateGameVersionRequest: () => CreateGameVersionRequest,\n CreateGameVersionResponse: () => CreateGameVersionResponse,\n GetGameVersionByIdResponse: () => GetGameVersionByIdResponse,\n ValidateGameVersionRequest: () => ValidateGameVersionRequest,\n ValidateGameVersionResponse: () => ValidateGameVersionResponse\n});\nvar init_versions = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/versions/index.ts\"() {\n \"use strict\";\n init_types12();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/resources/index.ts\nvar init_resources2 = __esm({\n \"src/serialization/resources/cloud/resources/games/resources/index.ts\"() {\n \"use strict\";\n init_namespaces();\n init_avatars();\n init_types6();\n init_builds();\n init_types7();\n init_cdn();\n init_types8();\n init_games();\n init_types9();\n init_matchmaker();\n init_types10();\n init_tokens();\n init_types11();\n init_versions();\n init_types12();\n }\n});\n\n// src/serialization/resources/cloud/resources/games/index.ts\nvar games_exports4 = {};\n__export(games_exports4, {\n BuildCompression: () => BuildCompression2,\n BuildKind: () => BuildKind2,\n CreateCloudTokenResponse: () => CreateCloudTokenResponse,\n CreateGameBuildRequest: () => CreateGameBuildRequest,\n CreateGameBuildResponse: () => CreateGameBuildResponse,\n CreateGameCdnSiteRequest: () => CreateGameCdnSiteRequest,\n CreateGameCdnSiteResponse: () => CreateGameCdnSiteResponse,\n CreateGameRequest: () => CreateGameRequest,\n CreateGameResponse: () => CreateGameResponse,\n CreateGameVersionRequest: () => CreateGameVersionRequest,\n CreateGameVersionResponse: () => CreateGameVersionResponse,\n DeleteMatchmakerLobbyResponse: () => DeleteMatchmakerLobbyResponse,\n ExportLobbyLogsRequest: () => ExportLobbyLogsRequest,\n ExportLobbyLogsResponse: () => ExportLobbyLogsResponse,\n ExportMatchmakerLobbyHistoryRequest: () => ExportMatchmakerLobbyHistoryRequest,\n ExportMatchmakerLobbyHistoryResponse: () => ExportMatchmakerLobbyHistoryResponse,\n GameBannerUploadPrepareRequest: () => GameBannerUploadPrepareRequest,\n GameBannerUploadPrepareResponse: () => GameBannerUploadPrepareResponse,\n GameLogoUploadPrepareRequest: () => GameLogoUploadPrepareRequest,\n GameLogoUploadPrepareResponse: () => GameLogoUploadPrepareResponse,\n GetGameByIdResponse: () => GetGameByIdResponse,\n GetGameVersionByIdResponse: () => GetGameVersionByIdResponse,\n GetGamesResponse: () => GetGamesResponse,\n GetLobbyLogsResponse: () => GetLobbyLogsResponse,\n ListGameBuildsResponse: () => ListGameBuildsResponse,\n ListGameCdnSitesResponse: () => ListGameCdnSitesResponse,\n ListGameCustomAvatarsResponse: () => ListGameCustomAvatarsResponse,\n LogStream: () => LogStream2,\n PrepareCustomAvatarUploadRequest: () => PrepareCustomAvatarUploadRequest,\n PrepareCustomAvatarUploadResponse: () => PrepareCustomAvatarUploadResponse,\n ValidateGameRequest: () => ValidateGameRequest,\n ValidateGameResponse: () => ValidateGameResponse,\n ValidateGameVersionRequest: () => ValidateGameVersionRequest,\n ValidateGameVersionResponse: () => ValidateGameVersionResponse,\n avatars: () => avatars_exports2,\n builds: () => builds_exports2,\n cdn: () => cdn_exports3,\n games: () => games_exports3,\n matchmaker: () => matchmaker_exports4,\n namespaces: () => namespaces_exports2,\n tokens: () => tokens_exports2,\n versions: () => versions_exports2\n});\nvar init_games2 = __esm({\n \"src/serialization/resources/cloud/resources/games/index.ts\"() {\n \"use strict\";\n init_resources2();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/types/Config.ts\nvar Config;\nvar init_Config = __esm({\n \"src/serialization/resources/cloud/resources/version/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config = schemas_exports.object({\n engine: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.engine.Config).optional(),\n cdn: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.Config).optional(),\n matchmaker: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.Config).optional(),\n kv: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.kv.Config).optional(),\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.identity.Config).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/types/Full.ts\nvar Full;\nvar init_Full = __esm({\n \"src/serialization/resources/cloud/resources/version/types/Full.ts\"() {\n \"use strict\";\n init_core();\n Full = schemas_exports.object({\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n config: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.Config)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/types/Summary.ts\nvar Summary;\nvar init_Summary = __esm({\n \"src/serialization/resources/cloud/resources/version/types/Summary.ts\"() {\n \"use strict\";\n init_core();\n Summary = schemas_exports.object({\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/types/index.ts\nvar init_types13 = __esm({\n \"src/serialization/resources/cloud/resources/version/types/index.ts\"() {\n \"use strict\";\n init_Config();\n init_Full();\n init_Summary();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/Config.ts\nvar Config2;\nvar init_Config2 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config2 = schemas_exports.object({\n buildCommand: schemas_exports.property(\"build_command\", schemas_exports.string().optional()),\n buildOutput: schemas_exports.property(\"build_output\", schemas_exports.string().optional()),\n siteId: schemas_exports.property(\"site_id\", schemas_exports.string().optional()),\n routes: schemas_exports.list(schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.Route)).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/Route.ts\nvar Route;\nvar init_Route = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/Route.ts\"() {\n \"use strict\";\n init_core();\n Route = schemas_exports.object({\n glob: schemas_exports.string(),\n priority: schemas_exports.number(),\n middlewares: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.Middleware)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/Middleware.ts\nvar Middleware;\nvar init_Middleware = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/Middleware.ts\"() {\n \"use strict\";\n init_core();\n Middleware = schemas_exports.object({\n kind: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.MiddlewareKind\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/MiddlewareKind.ts\nvar MiddlewareKind;\nvar init_MiddlewareKind = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/MiddlewareKind.ts\"() {\n \"use strict\";\n init_core();\n MiddlewareKind = schemas_exports.object({\n customHeaders: schemas_exports.property(\n \"custom_headers\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.CustomHeadersMiddleware).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/CustomHeadersMiddleware.ts\nvar CustomHeadersMiddleware;\nvar init_CustomHeadersMiddleware = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/CustomHeadersMiddleware.ts\"() {\n \"use strict\";\n init_core();\n CustomHeadersMiddleware = schemas_exports.object({\n headers: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.cdn.Header)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/Header.ts\nvar Header;\nvar init_Header = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/Header.ts\"() {\n \"use strict\";\n init_core();\n Header = schemas_exports.object({\n name: schemas_exports.string(),\n value: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/types/index.ts\nvar init_types14 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/types/index.ts\"() {\n \"use strict\";\n init_Config2();\n init_Route();\n init_Middleware();\n init_MiddlewareKind();\n init_CustomHeadersMiddleware();\n init_Header();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/cdn/index.ts\nvar cdn_exports4 = {};\n__export(cdn_exports4, {\n Config: () => Config2,\n CustomHeadersMiddleware: () => CustomHeadersMiddleware,\n Header: () => Header,\n Middleware: () => Middleware,\n MiddlewareKind: () => MiddlewareKind,\n Route: () => Route\n});\nvar init_cdn2 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/cdn/index.ts\"() {\n \"use strict\";\n init_types14();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/types/Config.ts\nvar Config3;\nvar init_Config3 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config3 = schemas_exports.object({\n unity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.engine.UnityConfig).optional(),\n unreal: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.engine.UnrealConfig).optional(),\n godot: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.engine.GodotConfig).optional(),\n html5: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.engine.Html5Config).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/types/index.ts\nvar init_types15 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/types/index.ts\"() {\n \"use strict\";\n init_Config3();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/types/GodotConfig.ts\nvar GodotConfig;\nvar init_GodotConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/types/GodotConfig.ts\"() {\n \"use strict\";\n init_core();\n GodotConfig = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/types/index.ts\nvar init_types16 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/types/index.ts\"() {\n \"use strict\";\n init_GodotConfig();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/index.ts\nvar godot_exports2 = {};\n__export(godot_exports2, {\n GodotConfig: () => GodotConfig\n});\nvar init_godot = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/godot/index.ts\"() {\n \"use strict\";\n init_types16();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/types/Html5Config.ts\nvar Html5Config;\nvar init_Html5Config = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/types/Html5Config.ts\"() {\n \"use strict\";\n init_core();\n Html5Config = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/types/index.ts\nvar init_types17 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/types/index.ts\"() {\n \"use strict\";\n init_Html5Config();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/index.ts\nvar html5_exports2 = {};\n__export(html5_exports2, {\n Html5Config: () => Html5Config\n});\nvar init_html5 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/html5/index.ts\"() {\n \"use strict\";\n init_types17();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/types/UnityConfig.ts\nvar UnityConfig;\nvar init_UnityConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/types/UnityConfig.ts\"() {\n \"use strict\";\n init_core();\n UnityConfig = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/types/index.ts\nvar init_types18 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/types/index.ts\"() {\n \"use strict\";\n init_UnityConfig();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/index.ts\nvar unity_exports2 = {};\n__export(unity_exports2, {\n UnityConfig: () => UnityConfig\n});\nvar init_unity = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unity/index.ts\"() {\n \"use strict\";\n init_types18();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/types/UnrealConfig.ts\nvar UnrealConfig;\nvar init_UnrealConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/types/UnrealConfig.ts\"() {\n \"use strict\";\n init_core();\n UnrealConfig = schemas_exports.object({\n gameModule: schemas_exports.property(\"game_module\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/types/index.ts\nvar init_types19 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/types/index.ts\"() {\n \"use strict\";\n init_UnrealConfig();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/index.ts\nvar unreal_exports2 = {};\n__export(unreal_exports2, {\n UnrealConfig: () => UnrealConfig\n});\nvar init_unreal = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/unreal/index.ts\"() {\n \"use strict\";\n init_types19();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/resources/index.ts\nvar init_resources3 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/resources/index.ts\"() {\n \"use strict\";\n init_godot();\n init_types16();\n init_html5();\n init_types17();\n init_unity();\n init_types18();\n init_unreal();\n init_types19();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/engine/index.ts\nvar engine_exports2 = {};\n__export(engine_exports2, {\n Config: () => Config3,\n GodotConfig: () => GodotConfig,\n Html5Config: () => Html5Config,\n UnityConfig: () => UnityConfig,\n UnrealConfig: () => UnrealConfig,\n godot: () => godot_exports2,\n html5: () => html5_exports2,\n unity: () => unity_exports2,\n unreal: () => unreal_exports2\n});\nvar init_engine = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/engine/index.ts\"() {\n \"use strict\";\n init_types15();\n init_resources3();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/kv/types/Config.ts\nvar Config4;\nvar init_Config4 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/kv/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config4 = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/kv/types/index.ts\nvar init_types20 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/kv/types/index.ts\"() {\n \"use strict\";\n init_Config4();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/kv/index.ts\nvar kv_exports3 = {};\n__export(kv_exports3, {\n Config: () => Config4\n});\nvar init_kv = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/kv/index.ts\"() {\n \"use strict\";\n init_types20();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/types/Config.ts\nvar Config5;\nvar init_Config5 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config5 = schemas_exports.object({\n gameModes: schemas_exports.property(\n \"game_modes\",\n schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameMode\n )\n ).optional()\n ),\n captcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.Captcha).optional(),\n devHostname: schemas_exports.property(\"dev_hostname\", schemas_exports.string().optional()),\n regions: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeRegion\n )\n ).optional(),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number().optional()),\n maxPlayersDirect: schemas_exports.property(\"max_players_direct\", schemas_exports.number().optional()),\n maxPlayersParty: schemas_exports.property(\"max_players_party\", schemas_exports.number().optional()),\n docker: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeRuntimeDocker).optional(),\n tier: schemas_exports.string().optional(),\n idleLobbies: schemas_exports.property(\n \"idle_lobbies\",\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdleLobbiesConfig\n ).optional()\n ),\n lobbyGroups: schemas_exports.property(\n \"lobby_groups\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroup\n )\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/types/index.ts\nvar init_types21 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/types/index.ts\"() {\n \"use strict\";\n init_Config5();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/PortRange.ts\nvar PortRange;\nvar init_PortRange = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/PortRange.ts\"() {\n \"use strict\";\n init_core();\n PortRange = schemas_exports.object({\n min: schemas_exports.number(),\n max: schemas_exports.number()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/PortProtocol.ts\nvar PortProtocol2;\nvar init_PortProtocol = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/PortProtocol.ts\"() {\n \"use strict\";\n init_core();\n PortProtocol2 = schemas_exports.enum_([\"http\", \"https\", \"tcp\", \"tcp_tls\", \"udp\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/ProxyKind.ts\nvar ProxyKind2;\nvar init_ProxyKind = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/ProxyKind.ts\"() {\n \"use strict\";\n init_core();\n ProxyKind2 = schemas_exports.enum_([\"none\", \"game_guard\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/Captcha.ts\nvar Captcha;\nvar init_Captcha = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/Captcha.ts\"() {\n \"use strict\";\n init_core();\n Captcha = schemas_exports.object({\n requestsBeforeReverify: schemas_exports.property(\"requests_before_reverify\", schemas_exports.number()),\n verificationTtl: schemas_exports.property(\"verification_ttl\", schemas_exports.number()),\n hcaptcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.CaptchaHcaptcha).optional(),\n turnstile: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.CaptchaTurnstile).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaHcaptcha.ts\nvar CaptchaHcaptcha;\nvar init_CaptchaHcaptcha = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaHcaptcha.ts\"() {\n \"use strict\";\n init_core();\n CaptchaHcaptcha = schemas_exports.object({\n level: schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.CaptchaHcaptchaLevel\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaHcaptchaLevel.ts\nvar CaptchaHcaptchaLevel2;\nvar init_CaptchaHcaptchaLevel = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaHcaptchaLevel.ts\"() {\n \"use strict\";\n init_core();\n CaptchaHcaptchaLevel2 = schemas_exports.enum_([\"easy\", \"moderate\", \"difficult\", \"always_on\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaTurnstile.ts\nvar CaptchaTurnstile;\nvar init_CaptchaTurnstile = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaTurnstile.ts\"() {\n \"use strict\";\n init_core();\n CaptchaTurnstile = schemas_exports.object({\n siteKey: schemas_exports.property(\"site_key\", schemas_exports.string()),\n secretKey: schemas_exports.property(\"secret_key\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/NetworkMode.ts\nvar NetworkMode2;\nvar init_NetworkMode = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/NetworkMode.ts\"() {\n \"use strict\";\n init_core();\n NetworkMode2 = schemas_exports.enum_([\"bridge\", \"host\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/index.ts\nvar init_types22 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/types/index.ts\"() {\n \"use strict\";\n init_PortRange();\n init_PortProtocol();\n init_ProxyKind();\n init_Captcha();\n init_CaptchaHcaptcha();\n init_CaptchaHcaptchaLevel();\n init_CaptchaTurnstile();\n init_NetworkMode();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/index.ts\nvar common_exports11 = {};\n__export(common_exports11, {\n Captcha: () => Captcha,\n CaptchaHcaptcha: () => CaptchaHcaptcha,\n CaptchaHcaptchaLevel: () => CaptchaHcaptchaLevel2,\n CaptchaTurnstile: () => CaptchaTurnstile,\n NetworkMode: () => NetworkMode2,\n PortProtocol: () => PortProtocol2,\n PortRange: () => PortRange,\n ProxyKind: () => ProxyKind2\n});\nvar init_common = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/common/index.ts\"() {\n \"use strict\";\n init_types22();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameMode.ts\nvar GameMode;\nvar init_GameMode = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameMode.ts\"() {\n \"use strict\";\n init_core();\n GameMode = schemas_exports.object({\n regions: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeRegion\n )\n ).optional(),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number().optional()),\n maxPlayersDirect: schemas_exports.property(\"max_players_direct\", schemas_exports.number().optional()),\n maxPlayersParty: schemas_exports.property(\"max_players_party\", schemas_exports.number().optional()),\n docker: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeRuntimeDocker\n ).optional(),\n listable: schemas_exports.boolean().optional(),\n taggable: schemas_exports.boolean().optional(),\n allowDynamicMaxPlayers: schemas_exports.property(\n \"allow_dynamic_max_players\",\n schemas_exports.boolean().optional()\n ),\n actions: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeActions).optional(),\n tier: schemas_exports.string().optional(),\n idleLobbies: schemas_exports.property(\n \"idle_lobbies\",\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdleLobbiesConfig\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRegion.ts\nvar GameModeRegion;\nvar init_GameModeRegion = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRegion.ts\"() {\n \"use strict\";\n init_core();\n GameModeRegion = schemas_exports.object({\n tier: schemas_exports.string().optional(),\n idleLobbies: schemas_exports.property(\n \"idle_lobbies\",\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdleLobbiesConfig\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRuntimeDocker.ts\nvar GameModeRuntimeDocker;\nvar init_GameModeRuntimeDocker = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRuntimeDocker.ts\"() {\n \"use strict\";\n init_core();\n GameModeRuntimeDocker = schemas_exports.object({\n dockerfile: schemas_exports.string().optional(),\n image: schemas_exports.string().optional(),\n imageId: schemas_exports.property(\"image_id\", schemas_exports.string().optional()),\n args: schemas_exports.list(schemas_exports.string()).optional(),\n env: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),\n networkMode: schemas_exports.property(\n \"network_mode\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.NetworkMode).optional()\n ),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeRuntimeDockerPort\n )\n ).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRuntimeDockerPort.ts\nvar GameModeRuntimeDockerPort;\nvar init_GameModeRuntimeDockerPort = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeRuntimeDockerPort.ts\"() {\n \"use strict\";\n init_core();\n GameModeRuntimeDockerPort = schemas_exports.object({\n port: schemas_exports.number().optional(),\n portRange: schemas_exports.property(\n \"port_range\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortRange).optional()\n ),\n protocol: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortProtocol).optional(),\n proxy: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.ProxyKind).optional(),\n devPort: schemas_exports.property(\"dev_port\", schemas_exports.number().optional()),\n devPortRange: schemas_exports.property(\n \"dev_port_range\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortRange).optional()\n ),\n devProtocol: schemas_exports.property(\n \"dev_protocol\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortProtocol).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeIdleLobbiesConfig.ts\nvar GameModeIdleLobbiesConfig;\nvar init_GameModeIdleLobbiesConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeIdleLobbiesConfig.ts\"() {\n \"use strict\";\n init_core();\n GameModeIdleLobbiesConfig = schemas_exports.object({\n min: schemas_exports.number(),\n max: schemas_exports.number()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeActions.ts\nvar GameModeActions;\nvar init_GameModeActions = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeActions.ts\"() {\n \"use strict\";\n init_core();\n GameModeActions = schemas_exports.object({\n find: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeFindConfig\n ).optional(),\n join: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeJoinConfig\n ).optional(),\n create: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeCreateConfig\n ).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeIdentityRequirement.ts\nvar GameModeIdentityRequirement2;\nvar init_GameModeIdentityRequirement = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeIdentityRequirement.ts\"() {\n \"use strict\";\n init_core();\n GameModeIdentityRequirement2 = schemas_exports.enum_([\"none\", \"guest\", \"registered\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeVerificationConfig.ts\nvar GameModeVerificationConfig;\nvar init_GameModeVerificationConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeVerificationConfig.ts\"() {\n \"use strict\";\n init_core();\n GameModeVerificationConfig = schemas_exports.object({\n url: schemas_exports.string(),\n headers: schemas_exports.record(schemas_exports.string(), schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeFindConfig.ts\nvar GameModeFindConfig;\nvar init_GameModeFindConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeFindConfig.ts\"() {\n \"use strict\";\n init_core();\n GameModeFindConfig = schemas_exports.object({\n enabled: schemas_exports.boolean(),\n identityRequirement: schemas_exports.property(\n \"identity_requirement\",\n schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdentityRequirement\n ).optional()\n ),\n verification: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeVerificationConfig\n ).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeJoinConfig.ts\nvar GameModeJoinConfig;\nvar init_GameModeJoinConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeJoinConfig.ts\"() {\n \"use strict\";\n init_core();\n GameModeJoinConfig = schemas_exports.object({\n enabled: schemas_exports.boolean(),\n identityRequirement: schemas_exports.property(\n \"identity_requirement\",\n schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdentityRequirement\n ).optional()\n ),\n verification: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeVerificationConfig\n ).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeCreateConfig.ts\nvar GameModeCreateConfig;\nvar init_GameModeCreateConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeCreateConfig.ts\"() {\n \"use strict\";\n init_core();\n GameModeCreateConfig = schemas_exports.object({\n enabled: schemas_exports.boolean(),\n identityRequirement: schemas_exports.property(\n \"identity_requirement\",\n schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeIdentityRequirement\n ).optional()\n ),\n verification: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.GameModeVerificationConfig\n ).optional(),\n enablePublic: schemas_exports.property(\"enable_public\", schemas_exports.boolean().optional()),\n enablePrivate: schemas_exports.property(\"enable_private\", schemas_exports.boolean().optional()),\n maxLobbiesPerIdentity: schemas_exports.property(\n \"max_lobbies_per_identity\",\n schemas_exports.number().optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/index.ts\nvar init_types23 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/index.ts\"() {\n \"use strict\";\n init_GameMode();\n init_GameModeRegion();\n init_GameModeRuntimeDocker();\n init_GameModeRuntimeDockerPort();\n init_GameModeIdleLobbiesConfig();\n init_GameModeActions();\n init_GameModeIdentityRequirement();\n init_GameModeVerificationConfig();\n init_GameModeFindConfig();\n init_GameModeJoinConfig();\n init_GameModeCreateConfig();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/index.ts\nvar gameMode_exports2 = {};\n__export(gameMode_exports2, {\n GameMode: () => GameMode,\n GameModeActions: () => GameModeActions,\n GameModeCreateConfig: () => GameModeCreateConfig,\n GameModeFindConfig: () => GameModeFindConfig,\n GameModeIdentityRequirement: () => GameModeIdentityRequirement2,\n GameModeIdleLobbiesConfig: () => GameModeIdleLobbiesConfig,\n GameModeJoinConfig: () => GameModeJoinConfig,\n GameModeRegion: () => GameModeRegion,\n GameModeRuntimeDocker: () => GameModeRuntimeDocker,\n GameModeRuntimeDockerPort: () => GameModeRuntimeDockerPort,\n GameModeVerificationConfig: () => GameModeVerificationConfig\n});\nvar init_gameMode = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/index.ts\"() {\n \"use strict\";\n init_types23();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroup.ts\nvar LobbyGroup;\nvar init_LobbyGroup = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroup.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroup = schemas_exports.object({\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string()),\n regions: schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRegion\n )\n ),\n maxPlayersNormal: schemas_exports.property(\"max_players_normal\", schemas_exports.number()),\n maxPlayersDirect: schemas_exports.property(\"max_players_direct\", schemas_exports.number()),\n maxPlayersParty: schemas_exports.property(\"max_players_party\", schemas_exports.number()),\n runtime: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntime\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntime.ts\nvar LobbyGroupRuntime;\nvar init_LobbyGroupRuntime = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntime.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupRuntime = schemas_exports.object({\n docker: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntimeDocker\n ).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRegion.ts\nvar LobbyGroupRegion;\nvar init_LobbyGroupRegion = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRegion.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupRegion = schemas_exports.object({\n regionId: schemas_exports.property(\"region_id\", schemas_exports.string()),\n tierNameId: schemas_exports.property(\"tier_name_id\", schemas_exports.string()),\n idleLobbies: schemas_exports.property(\n \"idle_lobbies\",\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupIdleLobbiesConfig\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDocker.ts\nvar LobbyGroupRuntimeDocker;\nvar init_LobbyGroupRuntimeDocker = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDocker.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupRuntimeDocker = schemas_exports.object({\n buildId: schemas_exports.property(\"build_id\", schemas_exports.string().optional()),\n args: schemas_exports.list(schemas_exports.string()),\n envVars: schemas_exports.property(\n \"env_vars\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntimeDockerEnvVar\n )\n )\n ),\n networkMode: schemas_exports.property(\n \"network_mode\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.NetworkMode).optional()\n ),\n ports: schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.LobbyGroupRuntimeDockerPort\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDockerEnvVar.ts\nvar LobbyGroupRuntimeDockerEnvVar;\nvar init_LobbyGroupRuntimeDockerEnvVar = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDockerEnvVar.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupRuntimeDockerEnvVar = schemas_exports.object({\n key: schemas_exports.string(),\n value: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDockerPort.ts\nvar LobbyGroupRuntimeDockerPort;\nvar init_LobbyGroupRuntimeDockerPort = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupRuntimeDockerPort.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupRuntimeDockerPort = schemas_exports.object({\n label: schemas_exports.string(),\n targetPort: schemas_exports.property(\"target_port\", schemas_exports.number().optional()),\n portRange: schemas_exports.property(\n \"port_range\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortRange).optional()\n ),\n proxyProtocol: schemas_exports.property(\n \"proxy_protocol\",\n schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortProtocol\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupIdleLobbiesConfig.ts\nvar LobbyGroupIdleLobbiesConfig;\nvar init_LobbyGroupIdleLobbiesConfig = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/LobbyGroupIdleLobbiesConfig.ts\"() {\n \"use strict\";\n init_core();\n LobbyGroupIdleLobbiesConfig = schemas_exports.object({\n minIdleLobbies: schemas_exports.property(\"min_idle_lobbies\", schemas_exports.number()),\n maxIdleLobbies: schemas_exports.property(\"max_idle_lobbies\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/index.ts\nvar init_types24 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/types/index.ts\"() {\n \"use strict\";\n init_LobbyGroup();\n init_LobbyGroupRuntime();\n init_LobbyGroupRegion();\n init_LobbyGroupRuntimeDocker();\n init_LobbyGroupRuntimeDockerEnvVar();\n init_LobbyGroupRuntimeDockerPort();\n init_LobbyGroupIdleLobbiesConfig();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/index.ts\nvar lobbyGroup_exports2 = {};\n__export(lobbyGroup_exports2, {\n LobbyGroup: () => LobbyGroup,\n LobbyGroupIdleLobbiesConfig: () => LobbyGroupIdleLobbiesConfig,\n LobbyGroupRegion: () => LobbyGroupRegion,\n LobbyGroupRuntime: () => LobbyGroupRuntime,\n LobbyGroupRuntimeDocker: () => LobbyGroupRuntimeDocker,\n LobbyGroupRuntimeDockerEnvVar: () => LobbyGroupRuntimeDockerEnvVar,\n LobbyGroupRuntimeDockerPort: () => LobbyGroupRuntimeDockerPort\n});\nvar init_lobbyGroup = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/index.ts\"() {\n \"use strict\";\n init_types24();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/index.ts\nvar init_resources4 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/resources/index.ts\"() {\n \"use strict\";\n init_common();\n init_types22();\n init_gameMode();\n init_types23();\n init_lobbyGroup();\n init_types24();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/matchmaker/index.ts\nvar matchmaker_exports5 = {};\n__export(matchmaker_exports5, {\n Captcha: () => Captcha,\n CaptchaHcaptcha: () => CaptchaHcaptcha,\n CaptchaHcaptchaLevel: () => CaptchaHcaptchaLevel2,\n CaptchaTurnstile: () => CaptchaTurnstile,\n Config: () => Config5,\n GameMode: () => GameMode,\n GameModeActions: () => GameModeActions,\n GameModeCreateConfig: () => GameModeCreateConfig,\n GameModeFindConfig: () => GameModeFindConfig,\n GameModeIdentityRequirement: () => GameModeIdentityRequirement2,\n GameModeIdleLobbiesConfig: () => GameModeIdleLobbiesConfig,\n GameModeJoinConfig: () => GameModeJoinConfig,\n GameModeRegion: () => GameModeRegion,\n GameModeRuntimeDocker: () => GameModeRuntimeDocker,\n GameModeRuntimeDockerPort: () => GameModeRuntimeDockerPort,\n GameModeVerificationConfig: () => GameModeVerificationConfig,\n LobbyGroup: () => LobbyGroup,\n LobbyGroupIdleLobbiesConfig: () => LobbyGroupIdleLobbiesConfig,\n LobbyGroupRegion: () => LobbyGroupRegion,\n LobbyGroupRuntime: () => LobbyGroupRuntime,\n LobbyGroupRuntimeDocker: () => LobbyGroupRuntimeDocker,\n LobbyGroupRuntimeDockerEnvVar: () => LobbyGroupRuntimeDockerEnvVar,\n LobbyGroupRuntimeDockerPort: () => LobbyGroupRuntimeDockerPort,\n NetworkMode: () => NetworkMode2,\n PortProtocol: () => PortProtocol2,\n PortRange: () => PortRange,\n ProxyKind: () => ProxyKind2,\n common: () => common_exports11,\n gameMode: () => gameMode_exports2,\n lobbyGroup: () => lobbyGroup_exports2\n});\nvar init_matchmaker2 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/matchmaker/index.ts\"() {\n \"use strict\";\n init_types21();\n init_resources4();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/Config.ts\nvar Config6;\nvar init_Config6 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config6 = schemas_exports.object({\n displayNames: schemas_exports.property(\n \"display_names\",\n schemas_exports.list(schemas_exports.string()).optional()\n ),\n avatars: schemas_exports.list(schemas_exports.string()).optional(),\n customDisplayNames: schemas_exports.property(\n \"custom_display_names\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.identity.CustomDisplayName\n )\n ).optional()\n ),\n customAvatars: schemas_exports.property(\n \"custom_avatars\",\n schemas_exports.list(\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.identity.CustomAvatar\n )\n ).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/CustomDisplayName.ts\nvar CustomDisplayName;\nvar init_CustomDisplayName = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/CustomDisplayName.ts\"() {\n \"use strict\";\n init_core();\n CustomDisplayName = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/CustomAvatar.ts\nvar CustomAvatar;\nvar init_CustomAvatar = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/CustomAvatar.ts\"() {\n \"use strict\";\n init_core();\n CustomAvatar = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/index.ts\nvar init_types25 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/types/index.ts\"() {\n \"use strict\";\n init_Config6();\n init_CustomDisplayName();\n init_CustomAvatar();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/index.ts\nvar pacakge_exports2 = {};\n__export(pacakge_exports2, {\n Config: () => Config6,\n CustomAvatar: () => CustomAvatar,\n CustomDisplayName: () => CustomDisplayName\n});\nvar init_pacakge = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/pacakge/index.ts\"() {\n \"use strict\";\n init_types25();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/resources/index.ts\nvar init_resources5 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/resources/index.ts\"() {\n \"use strict\";\n init_pacakge();\n init_types25();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/identity/index.ts\nvar identity_exports3 = {};\n__export(identity_exports3, {\n Config: () => Config6,\n CustomAvatar: () => CustomAvatar,\n CustomDisplayName: () => CustomDisplayName,\n pacakge: () => pacakge_exports2\n});\nvar init_identity = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/identity/index.ts\"() {\n \"use strict\";\n init_resources5();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/resources/index.ts\nvar init_resources6 = __esm({\n \"src/serialization/resources/cloud/resources/version/resources/index.ts\"() {\n \"use strict\";\n init_cdn2();\n init_engine();\n init_kv();\n init_matchmaker2();\n init_identity();\n }\n});\n\n// src/serialization/resources/cloud/resources/version/index.ts\nvar version_exports2 = {};\n__export(version_exports2, {\n Config: () => Config,\n Full: () => Full,\n Summary: () => Summary,\n cdn: () => cdn_exports4,\n engine: () => engine_exports2,\n identity: () => identity_exports3,\n kv: () => kv_exports3,\n matchmaker: () => matchmaker_exports5\n});\nvar init_version = __esm({\n \"src/serialization/resources/cloud/resources/version/index.ts\"() {\n \"use strict\";\n init_types13();\n init_resources6();\n }\n});\n\n// src/serialization/resources/cloud/resources/auth/types/InspectResponse.ts\nvar InspectResponse;\nvar init_InspectResponse = __esm({\n \"src/serialization/resources/cloud/resources/auth/types/InspectResponse.ts\"() {\n \"use strict\";\n init_core();\n InspectResponse = schemas_exports.object({\n agent: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.AuthAgent)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/auth/types/index.ts\nvar init_types26 = __esm({\n \"src/serialization/resources/cloud/resources/auth/types/index.ts\"() {\n \"use strict\";\n init_InspectResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/auth/index.ts\nvar auth_exports2 = {};\n__export(auth_exports2, {\n InspectResponse: () => InspectResponse\n});\nvar init_auth2 = __esm({\n \"src/serialization/resources/cloud/resources/auth/index.ts\"() {\n \"use strict\";\n init_types26();\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/SvcPerf.ts\nvar SvcPerf;\nvar init_SvcPerf = __esm({\n \"src/serialization/resources/cloud/resources/common/types/SvcPerf.ts\"() {\n \"use strict\";\n init_core();\n SvcPerf = schemas_exports.object({\n svcName: schemas_exports.property(\"svc_name\", schemas_exports.string()),\n ts: schemas_exports.date(),\n duration: schemas_exports.number(),\n reqId: schemas_exports.property(\"req_id\", schemas_exports.string().optional()),\n spans: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsPerfSpan)\n ),\n marks: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsPerfMark)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LogsPerfSpan.ts\nvar LogsPerfSpan;\nvar init_LogsPerfSpan = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LogsPerfSpan.ts\"() {\n \"use strict\";\n init_core();\n LogsPerfSpan = schemas_exports.object({\n label: schemas_exports.string(),\n startTs: schemas_exports.property(\"start_ts\", schemas_exports.date()),\n finishTs: schemas_exports.property(\"finish_ts\", schemas_exports.date().optional()),\n reqId: schemas_exports.property(\"req_id\", schemas_exports.string().optional())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LogsPerfMark.ts\nvar LogsPerfMark;\nvar init_LogsPerfMark = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LogsPerfMark.ts\"() {\n \"use strict\";\n init_core();\n LogsPerfMark = schemas_exports.object({\n label: schemas_exports.string(),\n ts: schemas_exports.date(),\n rayId: schemas_exports.property(\"ray_id\", schemas_exports.string().optional()),\n reqId: schemas_exports.property(\"req_id\", schemas_exports.string().optional())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LobbySummaryAnalytics.ts\nvar LobbySummaryAnalytics;\nvar init_LobbySummaryAnalytics = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LobbySummaryAnalytics.ts\"() {\n \"use strict\";\n init_core();\n LobbySummaryAnalytics = schemas_exports.object({\n lobbyId: schemas_exports.property(\"lobby_id\", schemas_exports.string()),\n lobbyGroupId: schemas_exports.property(\"lobby_group_id\", schemas_exports.string()),\n lobbyGroupNameId: schemas_exports.property(\"lobby_group_name_id\", schemas_exports.string()),\n regionId: schemas_exports.property(\"region_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n isReady: schemas_exports.property(\"is_ready\", schemas_exports.boolean()),\n isIdle: schemas_exports.property(\"is_idle\", schemas_exports.boolean()),\n isClosed: schemas_exports.property(\"is_closed\", schemas_exports.boolean()),\n isOutdated: schemas_exports.property(\"is_outdated\", schemas_exports.boolean()),\n maxPlayersNormal: schemas_exports.property(\"max_players_normal\", schemas_exports.number()),\n maxPlayersDirect: schemas_exports.property(\"max_players_direct\", schemas_exports.number()),\n maxPlayersParty: schemas_exports.property(\"max_players_party\", schemas_exports.number()),\n totalPlayerCount: schemas_exports.property(\"total_player_count\", schemas_exports.number()),\n registeredPlayerCount: schemas_exports.property(\"registered_player_count\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LogsLobbySummary.ts\nvar LogsLobbySummary;\nvar init_LogsLobbySummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LogsLobbySummary.ts\"() {\n \"use strict\";\n init_core();\n LogsLobbySummary = schemas_exports.object({\n lobbyId: schemas_exports.property(\"lobby_id\", schemas_exports.string()),\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string()),\n lobbyGroupNameId: schemas_exports.property(\"lobby_group_name_id\", schemas_exports.string()),\n regionId: schemas_exports.property(\"region_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n startTs: schemas_exports.property(\"start_ts\", schemas_exports.date().optional()),\n readyTs: schemas_exports.property(\"ready_ts\", schemas_exports.date().optional()),\n status: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsLobbyStatus)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LogsLobbyStatus.ts\nvar LogsLobbyStatus;\nvar init_LogsLobbyStatus = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LogsLobbyStatus.ts\"() {\n \"use strict\";\n init_core();\n LogsLobbyStatus = schemas_exports.object({\n running: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).EmptyObject),\n stopped: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.LogsLobbyStatusStopped).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/LogsLobbyStatusStopped.ts\nvar LogsLobbyStatusStopped;\nvar init_LogsLobbyStatusStopped = __esm({\n \"src/serialization/resources/cloud/resources/common/types/LogsLobbyStatusStopped.ts\"() {\n \"use strict\";\n init_core();\n LogsLobbyStatusStopped = schemas_exports.object({\n stopTs: schemas_exports.property(\"stop_ts\", schemas_exports.date()),\n failed: schemas_exports.boolean(),\n exitCode: schemas_exports.property(\"exit_code\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/SvcMetrics.ts\nvar SvcMetrics;\nvar init_SvcMetrics = __esm({\n \"src/serialization/resources/cloud/resources/common/types/SvcMetrics.ts\"() {\n \"use strict\";\n init_core();\n SvcMetrics = schemas_exports.object({\n job: schemas_exports.string(),\n cpu: schemas_exports.list(schemas_exports.number()),\n memory: schemas_exports.list(schemas_exports.number()),\n allocatedMemory: schemas_exports.property(\"allocated_memory\", schemas_exports.number().optional())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/AuthAgent.ts\nvar AuthAgent;\nvar init_AuthAgent = __esm({\n \"src/serialization/resources/cloud/resources/common/types/AuthAgent.ts\"() {\n \"use strict\";\n init_core();\n AuthAgent = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.AuthAgentIdentity).optional(),\n gameCloud: schemas_exports.property(\n \"game_cloud\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.AuthAgentGameCloud).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/AuthAgentIdentity.ts\nvar AuthAgentIdentity;\nvar init_AuthAgentIdentity = __esm({\n \"src/serialization/resources/cloud/resources/common/types/AuthAgentIdentity.ts\"() {\n \"use strict\";\n init_core();\n AuthAgentIdentity = schemas_exports.object({\n identityId: schemas_exports.property(\"identity_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/AuthAgentGameCloud.ts\nvar AuthAgentGameCloud;\nvar init_AuthAgentGameCloud = __esm({\n \"src/serialization/resources/cloud/resources/common/types/AuthAgentGameCloud.ts\"() {\n \"use strict\";\n init_core();\n AuthAgentGameCloud = schemas_exports.object({\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CustomAvatarSummary.ts\nvar CustomAvatarSummary;\nvar init_CustomAvatarSummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CustomAvatarSummary.ts\"() {\n \"use strict\";\n init_core();\n CustomAvatarSummary = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n url: schemas_exports.string().optional(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number()),\n complete: schemas_exports.boolean()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/BuildSummary.ts\nvar BuildSummary;\nvar init_BuildSummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/BuildSummary.ts\"() {\n \"use strict\";\n init_core();\n BuildSummary = schemas_exports.object({\n buildId: schemas_exports.property(\"build_id\", schemas_exports.string()),\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number()),\n complete: schemas_exports.boolean()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnSiteSummary.ts\nvar CdnSiteSummary;\nvar init_CdnSiteSummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnSiteSummary.ts\"() {\n \"use strict\";\n init_core();\n CdnSiteSummary = schemas_exports.object({\n siteId: schemas_exports.property(\"site_id\", schemas_exports.string()),\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number()),\n complete: schemas_exports.boolean()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/GameFull.ts\nvar GameFull;\nvar init_GameFull = __esm({\n \"src/serialization/resources/cloud/resources/common/types/GameFull.ts\"() {\n \"use strict\";\n init_core();\n GameFull = schemas_exports.object({\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n developerGroupId: schemas_exports.property(\"developer_group_id\", schemas_exports.string()),\n totalPlayerCount: schemas_exports.property(\"total_player_count\", schemas_exports.number()),\n logoUrl: schemas_exports.property(\"logo_url\", schemas_exports.string().optional()),\n bannerUrl: schemas_exports.property(\"banner_url\", schemas_exports.string().optional()),\n namespaces: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.NamespaceSummary)\n ),\n versions: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.Summary)\n ),\n availableRegions: schemas_exports.property(\n \"available_regions\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.RegionSummary)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/NamespaceSummary.ts\nvar NamespaceSummary;\nvar init_NamespaceSummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/NamespaceSummary.ts\"() {\n \"use strict\";\n init_core();\n NamespaceSummary = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/RegionSummary.ts\nvar RegionSummary;\nvar init_RegionSummary = __esm({\n \"src/serialization/resources/cloud/resources/common/types/RegionSummary.ts\"() {\n \"use strict\";\n init_core();\n RegionSummary = schemas_exports.object({\n regionId: schemas_exports.property(\"region_id\", schemas_exports.string()),\n regionNameId: schemas_exports.property(\"region_name_id\", schemas_exports.string()),\n provider: schemas_exports.string(),\n universalRegion: schemas_exports.property(\n \"universal_region\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.UniversalRegion)\n ),\n providerDisplayName: schemas_exports.property(\"provider_display_name\", schemas_exports.string()),\n regionDisplayName: schemas_exports.property(\"region_display_name\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/RegionTier.ts\nvar RegionTier;\nvar init_RegionTier = __esm({\n \"src/serialization/resources/cloud/resources/common/types/RegionTier.ts\"() {\n \"use strict\";\n init_core();\n RegionTier = schemas_exports.object({\n tierNameId: schemas_exports.property(\"tier_name_id\", schemas_exports.string()),\n rivetCoresNumerator: schemas_exports.property(\"rivet_cores_numerator\", schemas_exports.number()),\n rivetCoresDenominator: schemas_exports.property(\"rivet_cores_denominator\", schemas_exports.number()),\n cpu: schemas_exports.number(),\n memory: schemas_exports.number(),\n disk: schemas_exports.number(),\n bandwidth: schemas_exports.number(),\n pricePerSecond: schemas_exports.property(\"price_per_second\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/UniversalRegion.ts\nvar UniversalRegion2;\nvar init_UniversalRegion = __esm({\n \"src/serialization/resources/cloud/resources/common/types/UniversalRegion.ts\"() {\n \"use strict\";\n init_core();\n UniversalRegion2 = schemas_exports.enum_([\n \"unknown\",\n \"local\",\n \"amsterdam\",\n \"atlanta\",\n \"bangalore\",\n \"dallas\",\n \"frankfurt\",\n \"london\",\n \"mumbai\",\n \"newark\",\n \"new_york_city\",\n \"san_francisco\",\n \"singapore\",\n \"sydney\",\n \"tokyo\",\n \"toronto\",\n \"washington_dc\",\n \"chicago\",\n \"paris\",\n \"seattle\",\n \"sao_paulo\",\n \"stockholm\",\n \"chennai\",\n \"osaka\",\n \"milan\",\n \"miami\",\n \"jakarta\",\n \"los_angeles\"\n ]);\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/NamespaceFull.ts\nvar NamespaceFull;\nvar init_NamespaceFull = __esm({\n \"src/serialization/resources/cloud/resources/common/types/NamespaceFull.ts\"() {\n \"use strict\";\n init_core();\n NamespaceFull = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string()),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n nameId: schemas_exports.property(\"name_id\", schemas_exports.string()),\n config: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.NamespaceConfig)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/NamespaceConfig.ts\nvar NamespaceConfig;\nvar init_NamespaceConfig = __esm({\n \"src/serialization/resources/cloud/resources/common/types/NamespaceConfig.ts\"() {\n \"use strict\";\n init_core();\n NamespaceConfig = schemas_exports.object({\n cdn: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceConfig),\n matchmaker: schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.MatchmakerNamespaceConfig\n ),\n kv: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.KvNamespaceConfig),\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.IdentityNamespaceConfig)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceConfig.ts\nvar CdnNamespaceConfig;\nvar init_CdnNamespaceConfig = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceConfig.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceConfig = schemas_exports.object({\n enableDomainPublicAuth: schemas_exports.property(\"enable_domain_public_auth\", schemas_exports.boolean()),\n domains: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceDomain)\n ),\n authType: schemas_exports.property(\n \"auth_type\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnAuthType)\n ),\n authUserList: schemas_exports.property(\n \"auth_user_list\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceAuthUser)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/MatchmakerNamespaceConfig.ts\nvar MatchmakerNamespaceConfig;\nvar init_MatchmakerNamespaceConfig = __esm({\n \"src/serialization/resources/cloud/resources/common/types/MatchmakerNamespaceConfig.ts\"() {\n \"use strict\";\n init_core();\n MatchmakerNamespaceConfig = schemas_exports.object({\n lobbyCountMax: schemas_exports.property(\"lobby_count_max\", schemas_exports.number()),\n maxPlayersPerClient: schemas_exports.property(\"max_players_per_client\", schemas_exports.number()),\n maxPlayersPerClientVpn: schemas_exports.property(\"max_players_per_client_vpn\", schemas_exports.number()),\n maxPlayersPerClientProxy: schemas_exports.property(\"max_players_per_client_proxy\", schemas_exports.number()),\n maxPlayersPerClientTor: schemas_exports.property(\"max_players_per_client_tor\", schemas_exports.number()),\n maxPlayersPerClientHosting: schemas_exports.property(\n \"max_players_per_client_hosting\",\n schemas_exports.number()\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/KvNamespaceConfig.ts\nvar KvNamespaceConfig;\nvar init_KvNamespaceConfig = __esm({\n \"src/serialization/resources/cloud/resources/common/types/KvNamespaceConfig.ts\"() {\n \"use strict\";\n init_core();\n KvNamespaceConfig = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/IdentityNamespaceConfig.ts\nvar IdentityNamespaceConfig;\nvar init_IdentityNamespaceConfig = __esm({\n \"src/serialization/resources/cloud/resources/common/types/IdentityNamespaceConfig.ts\"() {\n \"use strict\";\n init_core();\n IdentityNamespaceConfig = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnAuthType.ts\nvar CdnAuthType2;\nvar init_CdnAuthType = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnAuthType.ts\"() {\n \"use strict\";\n init_core();\n CdnAuthType2 = schemas_exports.enum_([\"none\", \"basic\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomain.ts\nvar CdnNamespaceDomain;\nvar init_CdnNamespaceDomain = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomain.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceDomain = schemas_exports.object({\n domain: schemas_exports.string(),\n createTs: schemas_exports.property(\"create_ts\", schemas_exports.date()),\n verificationStatus: schemas_exports.property(\n \"verification_status\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceDomainVerificationStatus)\n ),\n verificationMethod: schemas_exports.property(\n \"verification_method\",\n schemas_exports.lazyObject(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceDomainVerificationMethod\n )\n ),\n verificationErrors: schemas_exports.property(\n \"verification_errors\",\n schemas_exports.list(schemas_exports.string())\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationMethod.ts\nvar CdnNamespaceDomainVerificationMethod;\nvar init_CdnNamespaceDomainVerificationMethod = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationMethod.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceDomainVerificationMethod = schemas_exports.object({\n invalid: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).EmptyObject).optional(),\n http: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.CdnNamespaceDomainVerificationMethodHttp).optional()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationMethodHttp.ts\nvar CdnNamespaceDomainVerificationMethodHttp;\nvar init_CdnNamespaceDomainVerificationMethodHttp = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationMethodHttp.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceDomainVerificationMethodHttp = schemas_exports.object({\n cnameRecord: schemas_exports.property(\"cname_record\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationStatus.ts\nvar CdnNamespaceDomainVerificationStatus2;\nvar init_CdnNamespaceDomainVerificationStatus = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationStatus.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceDomainVerificationStatus2 = schemas_exports.enum_([\"active\", \"pending\", \"failed\"]);\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/CdnNamespaceAuthUser.ts\nvar CdnNamespaceAuthUser;\nvar init_CdnNamespaceAuthUser = __esm({\n \"src/serialization/resources/cloud/resources/common/types/CdnNamespaceAuthUser.ts\"() {\n \"use strict\";\n init_core();\n CdnNamespaceAuthUser = schemas_exports.object({\n user: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/MatchmakerDevelopmentPort.ts\nvar MatchmakerDevelopmentPort;\nvar init_MatchmakerDevelopmentPort = __esm({\n \"src/serialization/resources/cloud/resources/common/types/MatchmakerDevelopmentPort.ts\"() {\n \"use strict\";\n init_core();\n MatchmakerDevelopmentPort = schemas_exports.object({\n port: schemas_exports.number().optional(),\n portRange: schemas_exports.property(\n \"port_range\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortRange).optional()\n ),\n protocol: schemas_exports.lazy(\n async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.version.matchmaker.PortProtocol\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/NamespaceVersion.ts\nvar NamespaceVersion;\nvar init_NamespaceVersion = __esm({\n \"src/serialization/resources/cloud/resources/common/types/NamespaceVersion.ts\"() {\n \"use strict\";\n init_core();\n NamespaceVersion = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string()),\n versionId: schemas_exports.property(\"version_id\", schemas_exports.string()),\n deployTs: schemas_exports.property(\"deploy_ts\", schemas_exports.date())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/common/types/index.ts\nvar init_types27 = __esm({\n \"src/serialization/resources/cloud/resources/common/types/index.ts\"() {\n \"use strict\";\n init_SvcPerf();\n init_LogsPerfSpan();\n init_LogsPerfMark();\n init_LobbySummaryAnalytics();\n init_LogsLobbySummary();\n init_LogsLobbyStatus();\n init_LogsLobbyStatusStopped();\n init_SvcMetrics();\n init_AuthAgent();\n init_AuthAgentIdentity();\n init_AuthAgentGameCloud();\n init_CustomAvatarSummary();\n init_BuildSummary();\n init_CdnSiteSummary();\n init_GameFull();\n init_NamespaceSummary();\n init_RegionSummary();\n init_RegionTier();\n init_UniversalRegion();\n init_NamespaceFull();\n init_NamespaceConfig();\n init_CdnNamespaceConfig();\n init_MatchmakerNamespaceConfig();\n init_KvNamespaceConfig();\n init_IdentityNamespaceConfig();\n init_CdnAuthType();\n init_CdnNamespaceDomain();\n init_CdnNamespaceDomainVerificationMethod();\n init_CdnNamespaceDomainVerificationMethodHttp();\n init_CdnNamespaceDomainVerificationStatus();\n init_CdnNamespaceAuthUser();\n init_MatchmakerDevelopmentPort();\n init_NamespaceVersion();\n }\n});\n\n// src/serialization/resources/cloud/resources/common/index.ts\nvar common_exports12 = {};\n__export(common_exports12, {\n AuthAgent: () => AuthAgent,\n AuthAgentGameCloud: () => AuthAgentGameCloud,\n AuthAgentIdentity: () => AuthAgentIdentity,\n BuildSummary: () => BuildSummary,\n CdnAuthType: () => CdnAuthType2,\n CdnNamespaceAuthUser: () => CdnNamespaceAuthUser,\n CdnNamespaceConfig: () => CdnNamespaceConfig,\n CdnNamespaceDomain: () => CdnNamespaceDomain,\n CdnNamespaceDomainVerificationMethod: () => CdnNamespaceDomainVerificationMethod,\n CdnNamespaceDomainVerificationMethodHttp: () => CdnNamespaceDomainVerificationMethodHttp,\n CdnNamespaceDomainVerificationStatus: () => CdnNamespaceDomainVerificationStatus2,\n CdnSiteSummary: () => CdnSiteSummary,\n CustomAvatarSummary: () => CustomAvatarSummary,\n GameFull: () => GameFull,\n IdentityNamespaceConfig: () => IdentityNamespaceConfig,\n KvNamespaceConfig: () => KvNamespaceConfig,\n LobbySummaryAnalytics: () => LobbySummaryAnalytics,\n LogsLobbyStatus: () => LogsLobbyStatus,\n LogsLobbyStatusStopped: () => LogsLobbyStatusStopped,\n LogsLobbySummary: () => LogsLobbySummary,\n LogsPerfMark: () => LogsPerfMark,\n LogsPerfSpan: () => LogsPerfSpan,\n MatchmakerDevelopmentPort: () => MatchmakerDevelopmentPort,\n MatchmakerNamespaceConfig: () => MatchmakerNamespaceConfig,\n NamespaceConfig: () => NamespaceConfig,\n NamespaceFull: () => NamespaceFull,\n NamespaceSummary: () => NamespaceSummary,\n NamespaceVersion: () => NamespaceVersion,\n RegionSummary: () => RegionSummary,\n RegionTier: () => RegionTier,\n SvcMetrics: () => SvcMetrics,\n SvcPerf: () => SvcPerf,\n UniversalRegion: () => UniversalRegion2\n});\nvar init_common2 = __esm({\n \"src/serialization/resources/cloud/resources/common/index.ts\"() {\n \"use strict\";\n init_types27();\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/resources/links/types/PrepareDeviceLinkResponse.ts\nvar PrepareDeviceLinkResponse;\nvar init_PrepareDeviceLinkResponse = __esm({\n \"src/serialization/resources/cloud/resources/devices/resources/links/types/PrepareDeviceLinkResponse.ts\"() {\n \"use strict\";\n init_core();\n PrepareDeviceLinkResponse = schemas_exports.object({\n deviceLinkId: schemas_exports.property(\"device_link_id\", schemas_exports.string()),\n deviceLinkToken: schemas_exports.property(\"device_link_token\", schemas_exports.string()),\n deviceLinkUrl: schemas_exports.property(\"device_link_url\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/resources/links/types/GetDeviceLinkResponse.ts\nvar GetDeviceLinkResponse;\nvar init_GetDeviceLinkResponse = __esm({\n \"src/serialization/resources/cloud/resources/devices/resources/links/types/GetDeviceLinkResponse.ts\"() {\n \"use strict\";\n init_core();\n GetDeviceLinkResponse = schemas_exports.object({\n cloudToken: schemas_exports.property(\"cloud_token\", schemas_exports.string().optional()),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/resources/links/types/index.ts\nvar init_types28 = __esm({\n \"src/serialization/resources/cloud/resources/devices/resources/links/types/index.ts\"() {\n \"use strict\";\n init_PrepareDeviceLinkResponse();\n init_GetDeviceLinkResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/resources/links/index.ts\nvar links_exports3 = {};\n__export(links_exports3, {\n GetDeviceLinkResponse: () => GetDeviceLinkResponse,\n PrepareDeviceLinkResponse: () => PrepareDeviceLinkResponse\n});\nvar init_links = __esm({\n \"src/serialization/resources/cloud/resources/devices/resources/links/index.ts\"() {\n \"use strict\";\n init_types28();\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/resources/index.ts\nvar init_resources7 = __esm({\n \"src/serialization/resources/cloud/resources/devices/resources/index.ts\"() {\n \"use strict\";\n init_links();\n init_types28();\n }\n});\n\n// src/serialization/resources/cloud/resources/devices/index.ts\nvar devices_exports2 = {};\n__export(devices_exports2, {\n GetDeviceLinkResponse: () => GetDeviceLinkResponse,\n PrepareDeviceLinkResponse: () => PrepareDeviceLinkResponse,\n links: () => links_exports3\n});\nvar init_devices = __esm({\n \"src/serialization/resources/cloud/resources/devices/index.ts\"() {\n \"use strict\";\n init_resources7();\n }\n});\n\n// src/serialization/resources/cloud/resources/groups/types/ValidateGroupRequest.ts\nvar ValidateGroupRequest;\nvar init_ValidateGroupRequest = __esm({\n \"src/serialization/resources/cloud/resources/groups/types/ValidateGroupRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateGroupRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/groups/types/ValidateGroupResponse.ts\nvar ValidateGroupResponse;\nvar init_ValidateGroupResponse = __esm({\n \"src/serialization/resources/cloud/resources/groups/types/ValidateGroupResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateGroupResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/groups/types/index.ts\nvar init_types29 = __esm({\n \"src/serialization/resources/cloud/resources/groups/types/index.ts\"() {\n \"use strict\";\n init_ValidateGroupRequest();\n init_ValidateGroupResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/groups/index.ts\nvar groups_exports2 = {};\n__export(groups_exports2, {\n ValidateGroupRequest: () => ValidateGroupRequest,\n ValidateGroupResponse: () => ValidateGroupResponse\n});\nvar init_groups = __esm({\n \"src/serialization/resources/cloud/resources/groups/index.ts\"() {\n \"use strict\";\n init_types29();\n }\n});\n\n// src/serialization/resources/cloud/resources/logs/types/GetRayPerfLogsResponse.ts\nvar GetRayPerfLogsResponse;\nvar init_GetRayPerfLogsResponse = __esm({\n \"src/serialization/resources/cloud/resources/logs/types/GetRayPerfLogsResponse.ts\"() {\n \"use strict\";\n init_core();\n GetRayPerfLogsResponse = schemas_exports.object({\n perfLists: schemas_exports.property(\n \"perf_lists\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.SvcPerf)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/logs/types/index.ts\nvar init_types30 = __esm({\n \"src/serialization/resources/cloud/resources/logs/types/index.ts\"() {\n \"use strict\";\n init_GetRayPerfLogsResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/logs/index.ts\nvar logs_exports4 = {};\n__export(logs_exports4, {\n GetRayPerfLogsResponse: () => GetRayPerfLogsResponse\n});\nvar init_logs2 = __esm({\n \"src/serialization/resources/cloud/resources/logs/index.ts\"() {\n \"use strict\";\n init_types30();\n }\n});\n\n// src/serialization/resources/cloud/resources/tiers/types/GetRegionTiersResponse.ts\nvar GetRegionTiersResponse;\nvar init_GetRegionTiersResponse = __esm({\n \"src/serialization/resources/cloud/resources/tiers/types/GetRegionTiersResponse.ts\"() {\n \"use strict\";\n init_core();\n GetRegionTiersResponse = schemas_exports.object({\n tiers: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).cloud.RegionTier)\n )\n });\n }\n});\n\n// src/serialization/resources/cloud/resources/tiers/types/index.ts\nvar init_types31 = __esm({\n \"src/serialization/resources/cloud/resources/tiers/types/index.ts\"() {\n \"use strict\";\n init_GetRegionTiersResponse();\n }\n});\n\n// src/serialization/resources/cloud/resources/tiers/index.ts\nvar tiers_exports2 = {};\n__export(tiers_exports2, {\n GetRegionTiersResponse: () => GetRegionTiersResponse\n});\nvar init_tiers = __esm({\n \"src/serialization/resources/cloud/resources/tiers/index.ts\"() {\n \"use strict\";\n init_types31();\n }\n});\n\n// src/serialization/resources/cloud/resources/index.ts\nvar init_resources8 = __esm({\n \"src/serialization/resources/cloud/resources/index.ts\"() {\n \"use strict\";\n init_games2();\n init_version();\n init_auth2();\n init_types26();\n init_common2();\n init_types27();\n init_devices();\n init_groups();\n init_types29();\n init_logs2();\n init_types30();\n init_tiers();\n init_types31();\n }\n});\n\n// src/serialization/resources/cloud/index.ts\nvar cloud_exports2 = {};\n__export(cloud_exports2, {\n AuthAgent: () => AuthAgent,\n AuthAgentGameCloud: () => AuthAgentGameCloud,\n AuthAgentIdentity: () => AuthAgentIdentity,\n BootstrapCaptcha: () => BootstrapCaptcha,\n BootstrapCaptchaTurnstile: () => BootstrapCaptchaTurnstile,\n BootstrapCluster: () => BootstrapCluster2,\n BootstrapResponse: () => BootstrapResponse,\n BuildSummary: () => BuildSummary,\n CdnAuthType: () => CdnAuthType2,\n CdnNamespaceAuthUser: () => CdnNamespaceAuthUser,\n CdnNamespaceConfig: () => CdnNamespaceConfig,\n CdnNamespaceDomain: () => CdnNamespaceDomain,\n CdnNamespaceDomainVerificationMethod: () => CdnNamespaceDomainVerificationMethod,\n CdnNamespaceDomainVerificationMethodHttp: () => CdnNamespaceDomainVerificationMethodHttp,\n CdnNamespaceDomainVerificationStatus: () => CdnNamespaceDomainVerificationStatus2,\n CdnSiteSummary: () => CdnSiteSummary,\n CustomAvatarSummary: () => CustomAvatarSummary,\n GameFull: () => GameFull,\n GetRayPerfLogsResponse: () => GetRayPerfLogsResponse,\n GetRegionTiersResponse: () => GetRegionTiersResponse,\n IdentityNamespaceConfig: () => IdentityNamespaceConfig,\n InspectResponse: () => InspectResponse,\n KvNamespaceConfig: () => KvNamespaceConfig,\n LobbySummaryAnalytics: () => LobbySummaryAnalytics,\n LogsLobbyStatus: () => LogsLobbyStatus,\n LogsLobbyStatusStopped: () => LogsLobbyStatusStopped,\n LogsLobbySummary: () => LogsLobbySummary,\n LogsPerfMark: () => LogsPerfMark,\n LogsPerfSpan: () => LogsPerfSpan,\n MatchmakerDevelopmentPort: () => MatchmakerDevelopmentPort,\n MatchmakerNamespaceConfig: () => MatchmakerNamespaceConfig,\n NamespaceConfig: () => NamespaceConfig,\n NamespaceFull: () => NamespaceFull,\n NamespaceSummary: () => NamespaceSummary,\n NamespaceVersion: () => NamespaceVersion,\n RegionSummary: () => RegionSummary,\n RegionTier: () => RegionTier,\n SvcMetrics: () => SvcMetrics,\n SvcPerf: () => SvcPerf,\n UniversalRegion: () => UniversalRegion2,\n ValidateGroupRequest: () => ValidateGroupRequest,\n ValidateGroupResponse: () => ValidateGroupResponse,\n auth: () => auth_exports2,\n common: () => common_exports12,\n devices: () => devices_exports2,\n games: () => games_exports4,\n groups: () => groups_exports2,\n logs: () => logs_exports4,\n tiers: () => tiers_exports2,\n version: () => version_exports2\n});\nvar init_cloud = __esm({\n \"src/serialization/resources/cloud/index.ts\"() {\n \"use strict\";\n init_types2();\n init_resources8();\n }\n});\n\n// src/serialization/resources/group/types/ListSuggestedResponse.ts\nvar ListSuggestedResponse;\nvar init_ListSuggestedResponse = __esm({\n \"src/serialization/resources/group/types/ListSuggestedResponse.ts\"() {\n \"use strict\";\n init_core();\n ListSuggestedResponse = schemas_exports.object({\n groups: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Summary)\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/group/types/CreateRequest.ts\nvar CreateRequest;\nvar init_CreateRequest = __esm({\n \"src/serialization/resources/group/types/CreateRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/group/types/CreateResponse.ts\nvar CreateResponse;\nvar init_CreateResponse = __esm({\n \"src/serialization/resources/group/types/CreateResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateResponse = schemas_exports.object({\n groupId: schemas_exports.property(\"group_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/group/types/PrepareAvatarUploadRequest.ts\nvar PrepareAvatarUploadRequest;\nvar init_PrepareAvatarUploadRequest = __esm({\n \"src/serialization/resources/group/types/PrepareAvatarUploadRequest.ts\"() {\n \"use strict\";\n init_core();\n PrepareAvatarUploadRequest = schemas_exports.object({\n path: schemas_exports.string(),\n mime: schemas_exports.string().optional(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/group/types/PrepareAvatarUploadResponse.ts\nvar PrepareAvatarUploadResponse;\nvar init_PrepareAvatarUploadResponse = __esm({\n \"src/serialization/resources/group/types/PrepareAvatarUploadResponse.ts\"() {\n \"use strict\";\n init_core();\n PrepareAvatarUploadResponse = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequest: schemas_exports.property(\n \"presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n });\n }\n});\n\n// src/serialization/resources/group/types/ValidateProfileRequest.ts\nvar ValidateProfileRequest;\nvar init_ValidateProfileRequest = __esm({\n \"src/serialization/resources/group/types/ValidateProfileRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateProfileRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string().optional()),\n bio: schemas_exports.string().optional(),\n publicity: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Publicity).optional()\n });\n }\n});\n\n// src/serialization/resources/group/types/ValidateProfileResponse.ts\nvar ValidateProfileResponse;\nvar init_ValidateProfileResponse = __esm({\n \"src/serialization/resources/group/types/ValidateProfileResponse.ts\"() {\n \"use strict\";\n init_core();\n ValidateProfileResponse = schemas_exports.object({\n errors: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ValidationError)\n )\n });\n }\n});\n\n// src/serialization/resources/group/types/SearchResponse.ts\nvar SearchResponse;\nvar init_SearchResponse = __esm({\n \"src/serialization/resources/group/types/SearchResponse.ts\"() {\n \"use strict\";\n init_core();\n SearchResponse = schemas_exports.object({\n groups: schemas_exports.list(schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Handle)),\n anchor: schemas_exports.string().optional()\n });\n }\n});\n\n// src/serialization/resources/group/types/GetBansResponse.ts\nvar GetBansResponse;\nvar init_GetBansResponse = __esm({\n \"src/serialization/resources/group/types/GetBansResponse.ts\"() {\n \"use strict\";\n init_core();\n GetBansResponse = schemas_exports.object({\n bannedIdentities: schemas_exports.property(\n \"banned_identities\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.BannedIdentity)\n )\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/group/types/GetJoinRequestsResponse.ts\nvar GetJoinRequestsResponse;\nvar init_GetJoinRequestsResponse = __esm({\n \"src/serialization/resources/group/types/GetJoinRequestsResponse.ts\"() {\n \"use strict\";\n init_core();\n GetJoinRequestsResponse = schemas_exports.object({\n joinRequests: schemas_exports.property(\n \"join_requests\",\n schemas_exports.list(schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.JoinRequest))\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/group/types/GetMembersResponse.ts\nvar GetMembersResponse;\nvar init_GetMembersResponse = __esm({\n \"src/serialization/resources/group/types/GetMembersResponse.ts\"() {\n \"use strict\";\n init_core();\n GetMembersResponse = schemas_exports.object({\n members: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Member)\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/group/types/GetProfileResponse.ts\nvar GetProfileResponse;\nvar init_GetProfileResponse = __esm({\n \"src/serialization/resources/group/types/GetProfileResponse.ts\"() {\n \"use strict\";\n init_core();\n GetProfileResponse = schemas_exports.object({\n group: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Profile),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/group/types/UpdateProfileRequest.ts\nvar UpdateProfileRequest;\nvar init_UpdateProfileRequest = __esm({\n \"src/serialization/resources/group/types/UpdateProfileRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateProfileRequest = schemas_exports.object({\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string().optional()),\n bio: schemas_exports.string().optional(),\n publicity: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Publicity).optional()\n });\n }\n});\n\n// src/serialization/resources/group/types/GetSummaryResponse.ts\nvar GetSummaryResponse;\nvar init_GetSummaryResponse = __esm({\n \"src/serialization/resources/group/types/GetSummaryResponse.ts\"() {\n \"use strict\";\n init_core();\n GetSummaryResponse = schemas_exports.object({\n group: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Summary)\n });\n }\n});\n\n// src/serialization/resources/group/types/TransferOwnershipRequest.ts\nvar TransferOwnershipRequest;\nvar init_TransferOwnershipRequest = __esm({\n \"src/serialization/resources/group/types/TransferOwnershipRequest.ts\"() {\n \"use strict\";\n init_core();\n TransferOwnershipRequest = schemas_exports.object({\n newOwnerIdentityId: schemas_exports.property(\"new_owner_identity_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/group/types/index.ts\nvar init_types32 = __esm({\n \"src/serialization/resources/group/types/index.ts\"() {\n \"use strict\";\n init_ListSuggestedResponse();\n init_CreateRequest();\n init_CreateResponse();\n init_PrepareAvatarUploadRequest();\n init_PrepareAvatarUploadResponse();\n init_ValidateProfileRequest();\n init_ValidateProfileResponse();\n init_SearchResponse();\n init_GetBansResponse();\n init_GetJoinRequestsResponse();\n init_GetMembersResponse();\n init_GetProfileResponse();\n init_UpdateProfileRequest();\n init_GetSummaryResponse();\n init_TransferOwnershipRequest();\n }\n});\n\n// src/serialization/resources/group/resources/common/types/Summary.ts\nvar Summary2;\nvar init_Summary2 = __esm({\n \"src/serialization/resources/group/resources/common/types/Summary.ts\"() {\n \"use strict\";\n init_core();\n Summary2 = schemas_exports.object({\n groupId: schemas_exports.property(\"group_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string().optional()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.ExternalLinks),\n isDeveloper: schemas_exports.property(\"is_developer\", schemas_exports.boolean()),\n bio: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Bio),\n isCurrentIdentityMember: schemas_exports.property(\n \"is_current_identity_member\",\n schemas_exports.boolean()\n ),\n publicity: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Publicity),\n memberCount: schemas_exports.property(\"member_count\", schemas_exports.number()),\n ownerIdentityId: schemas_exports.property(\"owner_identity_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/Publicity.ts\nvar Publicity2;\nvar init_Publicity = __esm({\n \"src/serialization/resources/group/resources/common/types/Publicity.ts\"() {\n \"use strict\";\n init_core();\n Publicity2 = schemas_exports.enum_([\"open\", \"closed\"]);\n }\n});\n\n// src/serialization/resources/group/resources/common/types/Handle.ts\nvar Handle;\nvar init_Handle = __esm({\n \"src/serialization/resources/group/resources/common/types/Handle.ts\"() {\n \"use strict\";\n init_core();\n Handle = schemas_exports.object({\n groupId: schemas_exports.property(\"group_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string().optional()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.ExternalLinks),\n isDeveloper: schemas_exports.property(\"is_developer\", schemas_exports.boolean().optional())\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/ExternalLinks.ts\nvar ExternalLinks;\nvar init_ExternalLinks = __esm({\n \"src/serialization/resources/group/resources/common/types/ExternalLinks.ts\"() {\n \"use strict\";\n init_core();\n ExternalLinks = schemas_exports.object({\n profile: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/JoinRequest.ts\nvar JoinRequest;\nvar init_JoinRequest = __esm({\n \"src/serialization/resources/group/resources/common/types/JoinRequest.ts\"() {\n \"use strict\";\n init_core();\n JoinRequest = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle),\n ts: schemas_exports.date()\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/Member.ts\nvar Member;\nvar init_Member = __esm({\n \"src/serialization/resources/group/resources/common/types/Member.ts\"() {\n \"use strict\";\n init_core();\n Member = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/Profile.ts\nvar Profile;\nvar init_Profile = __esm({\n \"src/serialization/resources/group/resources/common/types/Profile.ts\"() {\n \"use strict\";\n init_core();\n Profile = schemas_exports.object({\n groupId: schemas_exports.property(\"group_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\"display_name\", schemas_exports.string()),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string().optional()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.ExternalLinks),\n isDeveloper: schemas_exports.property(\"is_developer\", schemas_exports.boolean().optional()),\n bio: schemas_exports.string(),\n isCurrentIdentityMember: schemas_exports.property(\n \"is_current_identity_member\",\n schemas_exports.boolean().optional()\n ),\n publicity: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Publicity),\n memberCount: schemas_exports.property(\"member_count\", schemas_exports.number().optional()),\n members: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Member)\n ),\n joinRequests: schemas_exports.property(\n \"join_requests\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.JoinRequest)\n )\n ),\n isCurrentIdentityRequestingJoin: schemas_exports.property(\n \"is_current_identity_requesting_join\",\n schemas_exports.boolean().optional()\n ),\n ownerIdentityId: schemas_exports.property(\"owner_identity_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/BannedIdentity.ts\nvar BannedIdentity;\nvar init_BannedIdentity = __esm({\n \"src/serialization/resources/group/resources/common/types/BannedIdentity.ts\"() {\n \"use strict\";\n init_core();\n BannedIdentity = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle),\n banTs: schemas_exports.property(\"ban_ts\", schemas_exports.date())\n });\n }\n});\n\n// src/serialization/resources/group/resources/common/types/index.ts\nvar init_types33 = __esm({\n \"src/serialization/resources/group/resources/common/types/index.ts\"() {\n \"use strict\";\n init_Summary2();\n init_Publicity();\n init_Handle();\n init_ExternalLinks();\n init_JoinRequest();\n init_Member();\n init_Profile();\n init_BannedIdentity();\n }\n});\n\n// src/serialization/resources/group/resources/common/index.ts\nvar common_exports13 = {};\n__export(common_exports13, {\n BannedIdentity: () => BannedIdentity,\n ExternalLinks: () => ExternalLinks,\n Handle: () => Handle,\n JoinRequest: () => JoinRequest,\n Member: () => Member,\n Profile: () => Profile,\n Publicity: () => Publicity2,\n Summary: () => Summary2\n});\nvar init_common3 = __esm({\n \"src/serialization/resources/group/resources/common/index.ts\"() {\n \"use strict\";\n init_types33();\n }\n});\n\n// src/serialization/resources/group/resources/invites/types/GetInviteResponse.ts\nvar GetInviteResponse;\nvar init_GetInviteResponse = __esm({\n \"src/serialization/resources/group/resources/invites/types/GetInviteResponse.ts\"() {\n \"use strict\";\n init_core();\n GetInviteResponse = schemas_exports.object({\n group: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Handle)\n });\n }\n});\n\n// src/serialization/resources/group/resources/invites/types/ConsumeInviteResponse.ts\nvar ConsumeInviteResponse;\nvar init_ConsumeInviteResponse = __esm({\n \"src/serialization/resources/group/resources/invites/types/ConsumeInviteResponse.ts\"() {\n \"use strict\";\n init_core();\n ConsumeInviteResponse = schemas_exports.object({\n groupId: schemas_exports.property(\"group_id\", schemas_exports.string().optional())\n });\n }\n});\n\n// src/serialization/resources/group/resources/invites/types/CreateInviteRequest.ts\nvar CreateInviteRequest;\nvar init_CreateInviteRequest = __esm({\n \"src/serialization/resources/group/resources/invites/types/CreateInviteRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateInviteRequest = schemas_exports.object({\n ttl: schemas_exports.number().optional(),\n useCount: schemas_exports.property(\"use_count\", schemas_exports.number().optional())\n });\n }\n});\n\n// src/serialization/resources/group/resources/invites/types/CreateInviteResponse.ts\nvar CreateInviteResponse;\nvar init_CreateInviteResponse = __esm({\n \"src/serialization/resources/group/resources/invites/types/CreateInviteResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateInviteResponse = schemas_exports.object({\n code: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/group/resources/invites/types/index.ts\nvar init_types34 = __esm({\n \"src/serialization/resources/group/resources/invites/types/index.ts\"() {\n \"use strict\";\n init_GetInviteResponse();\n init_ConsumeInviteResponse();\n init_CreateInviteRequest();\n init_CreateInviteResponse();\n }\n});\n\n// src/serialization/resources/group/resources/invites/index.ts\nvar invites_exports2 = {};\n__export(invites_exports2, {\n ConsumeInviteResponse: () => ConsumeInviteResponse,\n CreateInviteRequest: () => CreateInviteRequest,\n CreateInviteResponse: () => CreateInviteResponse,\n GetInviteResponse: () => GetInviteResponse\n});\nvar init_invites = __esm({\n \"src/serialization/resources/group/resources/invites/index.ts\"() {\n \"use strict\";\n init_types34();\n }\n});\n\n// src/serialization/resources/group/resources/joinRequests/types/ResolveJoinRequestRequest.ts\nvar ResolveJoinRequestRequest;\nvar init_ResolveJoinRequestRequest = __esm({\n \"src/serialization/resources/group/resources/joinRequests/types/ResolveJoinRequestRequest.ts\"() {\n \"use strict\";\n init_core();\n ResolveJoinRequestRequest = schemas_exports.object({\n resolution: schemas_exports.boolean().optional()\n });\n }\n});\n\n// src/serialization/resources/group/resources/joinRequests/types/index.ts\nvar init_types35 = __esm({\n \"src/serialization/resources/group/resources/joinRequests/types/index.ts\"() {\n \"use strict\";\n init_ResolveJoinRequestRequest();\n }\n});\n\n// src/serialization/resources/group/resources/joinRequests/index.ts\nvar joinRequests_exports2 = {};\n__export(joinRequests_exports2, {\n ResolveJoinRequestRequest: () => ResolveJoinRequestRequest\n});\nvar init_joinRequests = __esm({\n \"src/serialization/resources/group/resources/joinRequests/index.ts\"() {\n \"use strict\";\n init_types35();\n }\n});\n\n// src/serialization/resources/group/resources/index.ts\nvar init_resources9 = __esm({\n \"src/serialization/resources/group/resources/index.ts\"() {\n \"use strict\";\n init_common3();\n init_types33();\n init_invites();\n init_types34();\n init_joinRequests();\n init_types35();\n }\n});\n\n// src/serialization/resources/group/index.ts\nvar group_exports2 = {};\n__export(group_exports2, {\n BannedIdentity: () => BannedIdentity,\n ConsumeInviteResponse: () => ConsumeInviteResponse,\n CreateInviteRequest: () => CreateInviteRequest,\n CreateInviteResponse: () => CreateInviteResponse,\n CreateRequest: () => CreateRequest,\n CreateResponse: () => CreateResponse,\n ExternalLinks: () => ExternalLinks,\n GetBansResponse: () => GetBansResponse,\n GetInviteResponse: () => GetInviteResponse,\n GetJoinRequestsResponse: () => GetJoinRequestsResponse,\n GetMembersResponse: () => GetMembersResponse,\n GetProfileResponse: () => GetProfileResponse,\n GetSummaryResponse: () => GetSummaryResponse,\n Handle: () => Handle,\n JoinRequest: () => JoinRequest,\n ListSuggestedResponse: () => ListSuggestedResponse,\n Member: () => Member,\n PrepareAvatarUploadRequest: () => PrepareAvatarUploadRequest,\n PrepareAvatarUploadResponse: () => PrepareAvatarUploadResponse,\n Profile: () => Profile,\n Publicity: () => Publicity2,\n ResolveJoinRequestRequest: () => ResolveJoinRequestRequest,\n SearchResponse: () => SearchResponse,\n Summary: () => Summary2,\n TransferOwnershipRequest: () => TransferOwnershipRequest,\n UpdateProfileRequest: () => UpdateProfileRequest,\n ValidateProfileRequest: () => ValidateProfileRequest,\n ValidateProfileResponse: () => ValidateProfileResponse,\n common: () => common_exports13,\n invites: () => invites_exports2,\n joinRequests: () => joinRequests_exports2\n});\nvar init_group = __esm({\n \"src/serialization/resources/group/index.ts\"() {\n \"use strict\";\n init_types32();\n init_resources9();\n }\n});\n\n// src/serialization/resources/identity/types/SetupResponse.ts\nvar SetupResponse;\nvar init_SetupResponse = __esm({\n \"src/serialization/resources/identity/types/SetupResponse.ts\"() {\n \"use strict\";\n init_core();\n SetupResponse = schemas_exports.object({\n identityToken: schemas_exports.property(\n \"identity_token\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Jwt)\n ),\n identityTokenExpireTs: schemas_exports.property(\"identity_token_expire_ts\", schemas_exports.date()),\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Profile),\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/identity/types/GetProfileResponse.ts\nvar GetProfileResponse2;\nvar init_GetProfileResponse2 = __esm({\n \"src/serialization/resources/identity/types/GetProfileResponse.ts\"() {\n \"use strict\";\n init_core();\n GetProfileResponse2 = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Profile),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/GetHandlesResponse.ts\nvar GetHandlesResponse;\nvar init_GetHandlesResponse = __esm({\n \"src/serialization/resources/identity/types/GetHandlesResponse.ts\"() {\n \"use strict\";\n init_core();\n GetHandlesResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/GetSummariesResponse.ts\nvar GetSummariesResponse;\nvar init_GetSummariesResponse = __esm({\n \"src/serialization/resources/identity/types/GetSummariesResponse.ts\"() {\n \"use strict\";\n init_core();\n GetSummariesResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Summary)\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/SearchResponse.ts\nvar SearchResponse2;\nvar init_SearchResponse2 = __esm({\n \"src/serialization/resources/identity/types/SearchResponse.ts\"() {\n \"use strict\";\n init_core();\n SearchResponse2 = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional()\n });\n }\n});\n\n// src/serialization/resources/identity/types/PrepareAvatarUploadResponse.ts\nvar PrepareAvatarUploadResponse2;\nvar init_PrepareAvatarUploadResponse2 = __esm({\n \"src/serialization/resources/identity/types/PrepareAvatarUploadResponse.ts\"() {\n \"use strict\";\n init_core();\n PrepareAvatarUploadResponse2 = schemas_exports.object({\n uploadId: schemas_exports.property(\"upload_id\", schemas_exports.string()),\n presignedRequest: schemas_exports.property(\n \"presigned_request\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).upload.PresignedRequest)\n )\n });\n }\n});\n\n// src/serialization/resources/identity/types/ListFollowersResponse.ts\nvar ListFollowersResponse;\nvar init_ListFollowersResponse = __esm({\n \"src/serialization/resources/identity/types/ListFollowersResponse.ts\"() {\n \"use strict\";\n init_core();\n ListFollowersResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/ListFollowingResponse.ts\nvar ListFollowingResponse;\nvar init_ListFollowingResponse = __esm({\n \"src/serialization/resources/identity/types/ListFollowingResponse.ts\"() {\n \"use strict\";\n init_core();\n ListFollowingResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/ListRecentFollowersResponse.ts\nvar ListRecentFollowersResponse;\nvar init_ListRecentFollowersResponse = __esm({\n \"src/serialization/resources/identity/types/ListRecentFollowersResponse.ts\"() {\n \"use strict\";\n init_core();\n ListRecentFollowersResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/ListFriendsResponse.ts\nvar ListFriendsResponse;\nvar init_ListFriendsResponse = __esm({\n \"src/serialization/resources/identity/types/ListFriendsResponse.ts\"() {\n \"use strict\";\n init_core();\n ListFriendsResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/types/ListMutualFriendsResponse.ts\nvar ListMutualFriendsResponse;\nvar init_ListMutualFriendsResponse = __esm({\n \"src/serialization/resources/identity/types/ListMutualFriendsResponse.ts\"() {\n \"use strict\";\n init_core();\n ListMutualFriendsResponse = schemas_exports.object({\n identities: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n anchor: schemas_exports.string().optional()\n });\n }\n});\n\n// src/serialization/resources/identity/types/index.ts\nvar init_types36 = __esm({\n \"src/serialization/resources/identity/types/index.ts\"() {\n \"use strict\";\n init_SetupResponse();\n init_GetProfileResponse2();\n init_GetHandlesResponse();\n init_GetSummariesResponse();\n init_SearchResponse2();\n init_PrepareAvatarUploadResponse2();\n init_ListFollowersResponse();\n init_ListFollowingResponse();\n init_ListRecentFollowersResponse();\n init_ListFriendsResponse();\n init_ListMutualFriendsResponse();\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GlobalEvent.ts\nvar GlobalEvent;\nvar init_GlobalEvent = __esm({\n \"src/serialization/resources/identity/resources/common/types/GlobalEvent.ts\"() {\n \"use strict\";\n init_core();\n GlobalEvent = schemas_exports.object({\n ts: schemas_exports.date(),\n kind: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GlobalEventKind),\n notification: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GlobalEventNotification).optional()\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GlobalEventKind.ts\nvar GlobalEventKind;\nvar init_GlobalEventKind = __esm({\n \"src/serialization/resources/identity/resources/common/types/GlobalEventKind.ts\"() {\n \"use strict\";\n init_core();\n GlobalEventKind = schemas_exports.object({\n identityUpdate: schemas_exports.property(\n \"identity_update\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GlobalEventIdentityUpdate).optional()\n ),\n matchmakerLobbyJoin: schemas_exports.property(\n \"matchmaker_lobby_join\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GlobalEventMatchmakerLobbyJoin).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GlobalEventNotification.ts\nvar GlobalEventNotification;\nvar init_GlobalEventNotification = __esm({\n \"src/serialization/resources/identity/resources/common/types/GlobalEventNotification.ts\"() {\n \"use strict\";\n init_core();\n GlobalEventNotification = schemas_exports.object({\n title: schemas_exports.string(),\n description: schemas_exports.string(),\n thumbnailUrl: schemas_exports.property(\"thumbnail_url\", schemas_exports.string()),\n url: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GlobalEventIdentityUpdate.ts\nvar GlobalEventIdentityUpdate;\nvar init_GlobalEventIdentityUpdate = __esm({\n \"src/serialization/resources/identity/resources/common/types/GlobalEventIdentityUpdate.ts\"() {\n \"use strict\";\n init_core();\n GlobalEventIdentityUpdate = schemas_exports.object({\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Profile)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GlobalEventMatchmakerLobbyJoin.ts\nvar GlobalEventMatchmakerLobbyJoin;\nvar init_GlobalEventMatchmakerLobbyJoin = __esm({\n \"src/serialization/resources/identity/resources/common/types/GlobalEventMatchmakerLobbyJoin.ts\"() {\n \"use strict\";\n init_core();\n GlobalEventMatchmakerLobbyJoin = schemas_exports.object({\n lobby: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinLobby),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPort)\n ),\n player: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPlayer)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/UpdateGameActivity.ts\nvar UpdateGameActivity;\nvar init_UpdateGameActivity = __esm({\n \"src/serialization/resources/identity/resources/common/types/UpdateGameActivity.ts\"() {\n \"use strict\";\n init_core();\n UpdateGameActivity = schemas_exports.object({\n message: schemas_exports.string().optional(),\n publicMetadata: schemas_exports.property(\"public_metadata\", schemas_exports.unknown().optional()),\n mutualMetadata: schemas_exports.property(\"mutual_metadata\", schemas_exports.unknown().optional())\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Handle.ts\nvar Handle2;\nvar init_Handle2 = __esm({\n \"src/serialization/resources/identity/resources/common/types/Handle.ts\"() {\n \"use strict\";\n init_core();\n Handle2 = schemas_exports.object({\n identityId: schemas_exports.property(\"identity_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n accountNumber: schemas_exports.property(\n \"account_number\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).AccountNumber)\n ),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string()),\n presence: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Presence).optional(),\n isRegistered: schemas_exports.property(\"is_registered\", schemas_exports.boolean()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.ExternalLinks)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Summary.ts\nvar Summary3;\nvar init_Summary3 = __esm({\n \"src/serialization/resources/identity/resources/common/types/Summary.ts\"() {\n \"use strict\";\n init_core();\n Summary3 = schemas_exports.object({\n identityId: schemas_exports.property(\"identity_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n accountNumber: schemas_exports.property(\n \"account_number\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).AccountNumber)\n ),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string()),\n presence: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Presence).optional(),\n isRegistered: schemas_exports.property(\"is_registered\", schemas_exports.boolean()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.ExternalLinks),\n following: schemas_exports.boolean(),\n isFollowingMe: schemas_exports.property(\"is_following_me\", schemas_exports.boolean()),\n isMutualFollowing: schemas_exports.property(\"is_mutual_following\", schemas_exports.boolean())\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Profile.ts\nvar Profile2;\nvar init_Profile2 = __esm({\n \"src/serialization/resources/identity/resources/common/types/Profile.ts\"() {\n \"use strict\";\n init_core();\n Profile2 = schemas_exports.object({\n identityId: schemas_exports.property(\"identity_id\", schemas_exports.string()),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n accountNumber: schemas_exports.property(\n \"account_number\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).AccountNumber)\n ),\n avatarUrl: schemas_exports.property(\"avatar_url\", schemas_exports.string()),\n presence: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Presence).optional(),\n isRegistered: schemas_exports.property(\"is_registered\", schemas_exports.boolean()),\n external: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.ExternalLinks),\n isAdmin: schemas_exports.property(\"is_admin\", schemas_exports.boolean()),\n isGameLinked: schemas_exports.property(\"is_game_linked\", schemas_exports.boolean().optional()),\n devState: schemas_exports.property(\n \"dev_state\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.DevState).optional()\n ),\n followerCount: schemas_exports.property(\"follower_count\", schemas_exports.number()),\n followingCount: schemas_exports.property(\"following_count\", schemas_exports.number()),\n following: schemas_exports.boolean(),\n isFollowingMe: schemas_exports.property(\"is_following_me\", schemas_exports.boolean()),\n isMutualFollowing: schemas_exports.property(\"is_mutual_following\", schemas_exports.boolean()),\n joinTs: schemas_exports.property(\"join_ts\", schemas_exports.date()),\n bio: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Bio),\n linkedAccounts: schemas_exports.property(\n \"linked_accounts\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.LinkedAccount)\n )\n ),\n groups: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Group)\n ),\n games: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.StatSummary)\n ),\n awaitingDeletion: schemas_exports.property(\"awaiting_deletion\", schemas_exports.boolean().optional())\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/ExternalLinks.ts\nvar ExternalLinks2;\nvar init_ExternalLinks2 = __esm({\n \"src/serialization/resources/identity/resources/common/types/ExternalLinks.ts\"() {\n \"use strict\";\n init_core();\n ExternalLinks2 = schemas_exports.object({\n profile: schemas_exports.string(),\n settings: schemas_exports.string().optional()\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Presence.ts\nvar Presence;\nvar init_Presence = __esm({\n \"src/serialization/resources/identity/resources/common/types/Presence.ts\"() {\n \"use strict\";\n init_core();\n Presence = schemas_exports.object({\n updateTs: schemas_exports.property(\"update_ts\", schemas_exports.date()),\n status: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Status),\n gameActivity: schemas_exports.property(\n \"game_activity\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GameActivity).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Status.ts\nvar Status2;\nvar init_Status = __esm({\n \"src/serialization/resources/identity/resources/common/types/Status.ts\"() {\n \"use strict\";\n init_core();\n Status2 = schemas_exports.enum_([\"online\", \"away\", \"offline\"]);\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GameActivity.ts\nvar GameActivity;\nvar init_GameActivity = __esm({\n \"src/serialization/resources/identity/resources/common/types/GameActivity.ts\"() {\n \"use strict\";\n init_core();\n GameActivity = schemas_exports.object({\n game: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.Handle),\n message: schemas_exports.string(),\n publicMetadata: schemas_exports.property(\"public_metadata\", schemas_exports.unknown().optional()),\n mutualMetadata: schemas_exports.property(\"mutual_metadata\", schemas_exports.unknown().optional())\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/Group.ts\nvar Group;\nvar init_Group = __esm({\n \"src/serialization/resources/identity/resources/common/types/Group.ts\"() {\n \"use strict\";\n init_core();\n Group = schemas_exports.object({\n group: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Handle)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/LinkedAccount.ts\nvar LinkedAccount;\nvar init_LinkedAccount = __esm({\n \"src/serialization/resources/identity/resources/common/types/LinkedAccount.ts\"() {\n \"use strict\";\n init_core();\n LinkedAccount = schemas_exports.object({\n email: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.EmailLinkedAccount).optional(),\n accessToken: schemas_exports.property(\n \"access_token\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.AccessTokenLinkedAccount).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/EmailLinkedAccount.ts\nvar EmailLinkedAccount;\nvar init_EmailLinkedAccount = __esm({\n \"src/serialization/resources/identity/resources/common/types/EmailLinkedAccount.ts\"() {\n \"use strict\";\n init_core();\n EmailLinkedAccount = schemas_exports.object({\n email: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Email)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/AccessTokenLinkedAccount.ts\nvar AccessTokenLinkedAccount;\nvar init_AccessTokenLinkedAccount = __esm({\n \"src/serialization/resources/identity/resources/common/types/AccessTokenLinkedAccount.ts\"() {\n \"use strict\";\n init_core();\n AccessTokenLinkedAccount = schemas_exports.object({\n name: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/DevState.ts\nvar DevState2;\nvar init_DevState = __esm({\n \"src/serialization/resources/identity/resources/common/types/DevState.ts\"() {\n \"use strict\";\n init_core();\n DevState2 = schemas_exports.enum_([\"inactive\", \"pending\", \"accepted\"]);\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/GameLinkStatus.ts\nvar GameLinkStatus2;\nvar init_GameLinkStatus = __esm({\n \"src/serialization/resources/identity/resources/common/types/GameLinkStatus.ts\"() {\n \"use strict\";\n init_core();\n GameLinkStatus2 = schemas_exports.enum_([\"incomplete\", \"complete\", \"cancelled\"]);\n }\n});\n\n// src/serialization/resources/identity/resources/common/types/index.ts\nvar init_types37 = __esm({\n \"src/serialization/resources/identity/resources/common/types/index.ts\"() {\n \"use strict\";\n init_GlobalEvent();\n init_GlobalEventKind();\n init_GlobalEventNotification();\n init_GlobalEventIdentityUpdate();\n init_GlobalEventMatchmakerLobbyJoin();\n init_UpdateGameActivity();\n init_Handle2();\n init_Summary3();\n init_Profile2();\n init_ExternalLinks2();\n init_Presence();\n init_Status();\n init_GameActivity();\n init_Group();\n init_LinkedAccount();\n init_EmailLinkedAccount();\n init_AccessTokenLinkedAccount();\n init_DevState();\n init_GameLinkStatus();\n }\n});\n\n// src/serialization/resources/identity/resources/common/index.ts\nvar common_exports14 = {};\n__export(common_exports14, {\n AccessTokenLinkedAccount: () => AccessTokenLinkedAccount,\n DevState: () => DevState2,\n EmailLinkedAccount: () => EmailLinkedAccount,\n ExternalLinks: () => ExternalLinks2,\n GameActivity: () => GameActivity,\n GameLinkStatus: () => GameLinkStatus2,\n GlobalEvent: () => GlobalEvent,\n GlobalEventIdentityUpdate: () => GlobalEventIdentityUpdate,\n GlobalEventKind: () => GlobalEventKind,\n GlobalEventMatchmakerLobbyJoin: () => GlobalEventMatchmakerLobbyJoin,\n GlobalEventNotification: () => GlobalEventNotification,\n Group: () => Group,\n Handle: () => Handle2,\n LinkedAccount: () => LinkedAccount,\n Presence: () => Presence,\n Profile: () => Profile2,\n Status: () => Status2,\n Summary: () => Summary3,\n UpdateGameActivity: () => UpdateGameActivity\n});\nvar init_common4 = __esm({\n \"src/serialization/resources/identity/resources/common/index.ts\"() {\n \"use strict\";\n init_types37();\n }\n});\n\n// src/serialization/resources/identity/resources/events/types/WatchEventsResponse.ts\nvar WatchEventsResponse;\nvar init_WatchEventsResponse = __esm({\n \"src/serialization/resources/identity/resources/events/types/WatchEventsResponse.ts\"() {\n \"use strict\";\n init_core();\n WatchEventsResponse = schemas_exports.object({\n events: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GlobalEvent)\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/events/types/index.ts\nvar init_types38 = __esm({\n \"src/serialization/resources/identity/resources/events/types/index.ts\"() {\n \"use strict\";\n init_WatchEventsResponse();\n }\n});\n\n// src/serialization/resources/identity/resources/events/index.ts\nvar events_exports2 = {};\n__export(events_exports2, {\n WatchEventsResponse: () => WatchEventsResponse\n});\nvar init_events = __esm({\n \"src/serialization/resources/identity/resources/events/index.ts\"() {\n \"use strict\";\n init_types38();\n }\n});\n\n// src/serialization/resources/identity/resources/links/types/PrepareGameLinkResponse.ts\nvar PrepareGameLinkResponse;\nvar init_PrepareGameLinkResponse = __esm({\n \"src/serialization/resources/identity/resources/links/types/PrepareGameLinkResponse.ts\"() {\n \"use strict\";\n init_core();\n PrepareGameLinkResponse = schemas_exports.object({\n identityLinkToken: schemas_exports.property(\"identity_link_token\", schemas_exports.string()),\n identityLinkUrl: schemas_exports.property(\"identity_link_url\", schemas_exports.string()),\n expireTs: schemas_exports.property(\"expire_ts\", schemas_exports.date())\n });\n }\n});\n\n// src/serialization/resources/identity/resources/links/types/GetGameLinkResponse.ts\nvar GetGameLinkResponse;\nvar init_GetGameLinkResponse = __esm({\n \"src/serialization/resources/identity/resources/links/types/GetGameLinkResponse.ts\"() {\n \"use strict\";\n init_core();\n GetGameLinkResponse = schemas_exports.object({\n status: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GameLinkStatus),\n game: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.Handle),\n currentIdentity: schemas_exports.property(\n \"current_identity\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Handle)\n ),\n newIdentity: schemas_exports.property(\n \"new_identity\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.GetGameLinkNewIdentity).optional()\n ),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/links/types/GetGameLinkNewIdentity.ts\nvar GetGameLinkNewIdentity;\nvar init_GetGameLinkNewIdentity = __esm({\n \"src/serialization/resources/identity/resources/links/types/GetGameLinkNewIdentity.ts\"() {\n \"use strict\";\n init_core();\n GetGameLinkNewIdentity = schemas_exports.object({\n identityToken: schemas_exports.property(\n \"identity_token\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Jwt)\n ),\n identityTokenExpireTs: schemas_exports.property(\"identity_token_expire_ts\", schemas_exports.date()),\n identity: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Profile)\n });\n }\n});\n\n// src/serialization/resources/identity/resources/links/types/index.ts\nvar init_types39 = __esm({\n \"src/serialization/resources/identity/resources/links/types/index.ts\"() {\n \"use strict\";\n init_PrepareGameLinkResponse();\n init_GetGameLinkResponse();\n init_GetGameLinkNewIdentity();\n }\n});\n\n// src/serialization/resources/identity/resources/links/index.ts\nvar links_exports4 = {};\n__export(links_exports4, {\n GetGameLinkNewIdentity: () => GetGameLinkNewIdentity,\n GetGameLinkResponse: () => GetGameLinkResponse,\n PrepareGameLinkResponse: () => PrepareGameLinkResponse\n});\nvar init_links2 = __esm({\n \"src/serialization/resources/identity/resources/links/index.ts\"() {\n \"use strict\";\n init_types39();\n }\n});\n\n// src/serialization/resources/identity/resources/index.ts\nvar init_resources10 = __esm({\n \"src/serialization/resources/identity/resources/index.ts\"() {\n \"use strict\";\n init_common4();\n init_types37();\n init_events();\n init_types38();\n init_links2();\n init_types39();\n }\n});\n\n// src/serialization/resources/identity/client/requests/SetupRequest.ts\nvar SetupRequest;\nvar init_SetupRequest = __esm({\n \"src/serialization/resources/identity/client/requests/SetupRequest.ts\"() {\n \"use strict\";\n init_core();\n SetupRequest = schemas_exports.object({\n existingIdentityToken: schemas_exports.property(\n \"existing_identity_token\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Jwt).optional()\n )\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/UpdateProfileRequest.ts\nvar UpdateProfileRequest2;\nvar init_UpdateProfileRequest2 = __esm({\n \"src/serialization/resources/identity/client/requests/UpdateProfileRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateProfileRequest2 = schemas_exports.object({\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName).optional()\n ),\n accountNumber: schemas_exports.property(\n \"account_number\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).AccountNumber).optional()\n ),\n bio: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Bio).optional()\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/ValidateProfileRequest.ts\nvar ValidateProfileRequest2;\nvar init_ValidateProfileRequest2 = __esm({\n \"src/serialization/resources/identity/client/requests/ValidateProfileRequest.ts\"() {\n \"use strict\";\n init_core();\n ValidateProfileRequest2 = schemas_exports.object({\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName).optional()\n ),\n accountNumber: schemas_exports.property(\n \"account_number\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).AccountNumber).optional()\n ),\n bio: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Bio).optional()\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/SetGameActivityRequest.ts\nvar SetGameActivityRequest;\nvar init_SetGameActivityRequest = __esm({\n \"src/serialization/resources/identity/client/requests/SetGameActivityRequest.ts\"() {\n \"use strict\";\n init_core();\n SetGameActivityRequest = schemas_exports.object({\n gameActivity: schemas_exports.property(\n \"game_activity\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.UpdateGameActivity)\n )\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/UpdateStatusRequest.ts\nvar UpdateStatusRequest;\nvar init_UpdateStatusRequest = __esm({\n \"src/serialization/resources/identity/client/requests/UpdateStatusRequest.ts\"() {\n \"use strict\";\n init_core();\n UpdateStatusRequest = schemas_exports.object({\n status: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).identity.Status)\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/PrepareAvatarUploadRequest.ts\nvar PrepareAvatarUploadRequest2;\nvar init_PrepareAvatarUploadRequest2 = __esm({\n \"src/serialization/resources/identity/client/requests/PrepareAvatarUploadRequest.ts\"() {\n \"use strict\";\n init_core();\n PrepareAvatarUploadRequest2 = schemas_exports.object({\n path: schemas_exports.string(),\n mime: schemas_exports.string(),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/SignupForBetaRequest.ts\nvar SignupForBetaRequest;\nvar init_SignupForBetaRequest = __esm({\n \"src/serialization/resources/identity/client/requests/SignupForBetaRequest.ts\"() {\n \"use strict\";\n init_core();\n SignupForBetaRequest = schemas_exports.object({\n name: schemas_exports.string(),\n companyName: schemas_exports.property(\"company_name\", schemas_exports.string().optional()),\n companySize: schemas_exports.property(\"company_size\", schemas_exports.string()),\n preferredTools: schemas_exports.property(\"preferred_tools\", schemas_exports.string()),\n goals: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/ReportRequest.ts\nvar ReportRequest;\nvar init_ReportRequest = __esm({\n \"src/serialization/resources/identity/client/requests/ReportRequest.ts\"() {\n \"use strict\";\n init_core();\n ReportRequest = schemas_exports.object({\n reason: schemas_exports.string().optional()\n });\n }\n});\n\n// src/serialization/resources/identity/client/requests/index.ts\nvar init_requests = __esm({\n \"src/serialization/resources/identity/client/requests/index.ts\"() {\n \"use strict\";\n init_SetupRequest();\n init_UpdateProfileRequest2();\n init_ValidateProfileRequest2();\n init_SetGameActivityRequest();\n init_UpdateStatusRequest();\n init_PrepareAvatarUploadRequest2();\n init_SignupForBetaRequest();\n init_ReportRequest();\n }\n});\n\n// src/serialization/resources/identity/client/index.ts\nvar init_client = __esm({\n \"src/serialization/resources/identity/client/index.ts\"() {\n \"use strict\";\n init_requests();\n }\n});\n\n// src/serialization/resources/identity/index.ts\nvar identity_exports4 = {};\n__export(identity_exports4, {\n AccessTokenLinkedAccount: () => AccessTokenLinkedAccount,\n DevState: () => DevState2,\n EmailLinkedAccount: () => EmailLinkedAccount,\n ExternalLinks: () => ExternalLinks2,\n GameActivity: () => GameActivity,\n GameLinkStatus: () => GameLinkStatus2,\n GetGameLinkNewIdentity: () => GetGameLinkNewIdentity,\n GetGameLinkResponse: () => GetGameLinkResponse,\n GetHandlesResponse: () => GetHandlesResponse,\n GetProfileResponse: () => GetProfileResponse2,\n GetSummariesResponse: () => GetSummariesResponse,\n GlobalEvent: () => GlobalEvent,\n GlobalEventIdentityUpdate: () => GlobalEventIdentityUpdate,\n GlobalEventKind: () => GlobalEventKind,\n GlobalEventMatchmakerLobbyJoin: () => GlobalEventMatchmakerLobbyJoin,\n GlobalEventNotification: () => GlobalEventNotification,\n Group: () => Group,\n Handle: () => Handle2,\n LinkedAccount: () => LinkedAccount,\n ListFollowersResponse: () => ListFollowersResponse,\n ListFollowingResponse: () => ListFollowingResponse,\n ListFriendsResponse: () => ListFriendsResponse,\n ListMutualFriendsResponse: () => ListMutualFriendsResponse,\n ListRecentFollowersResponse: () => ListRecentFollowersResponse,\n PrepareAvatarUploadRequest: () => PrepareAvatarUploadRequest2,\n PrepareAvatarUploadResponse: () => PrepareAvatarUploadResponse2,\n PrepareGameLinkResponse: () => PrepareGameLinkResponse,\n Presence: () => Presence,\n Profile: () => Profile2,\n ReportRequest: () => ReportRequest,\n SearchResponse: () => SearchResponse2,\n SetGameActivityRequest: () => SetGameActivityRequest,\n SetupRequest: () => SetupRequest,\n SetupResponse: () => SetupResponse,\n SignupForBetaRequest: () => SignupForBetaRequest,\n Status: () => Status2,\n Summary: () => Summary3,\n UpdateGameActivity: () => UpdateGameActivity,\n UpdateProfileRequest: () => UpdateProfileRequest2,\n UpdateStatusRequest: () => UpdateStatusRequest,\n ValidateProfileRequest: () => ValidateProfileRequest2,\n WatchEventsResponse: () => WatchEventsResponse,\n common: () => common_exports14,\n events: () => events_exports2,\n links: () => links_exports4\n});\nvar init_identity2 = __esm({\n \"src/serialization/resources/identity/index.ts\"() {\n \"use strict\";\n init_types36();\n init_resources10();\n init_client();\n }\n});\n\n// src/serialization/resources/kv/types/GetResponse.ts\nvar GetResponse;\nvar init_GetResponse = __esm({\n \"src/serialization/resources/kv/types/GetResponse.ts\"() {\n \"use strict\";\n init_core();\n GetResponse = schemas_exports.object({\n value: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Value),\n deleted: schemas_exports.boolean().optional(),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/kv/types/PutRequest.ts\nvar PutRequest;\nvar init_PutRequest = __esm({\n \"src/serialization/resources/kv/types/PutRequest.ts\"() {\n \"use strict\";\n init_core();\n PutRequest = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string().optional()),\n key: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Key),\n value: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Value)\n });\n }\n});\n\n// src/serialization/resources/kv/types/GetBatchResponse.ts\nvar GetBatchResponse;\nvar init_GetBatchResponse = __esm({\n \"src/serialization/resources/kv/types/GetBatchResponse.ts\"() {\n \"use strict\";\n init_core();\n GetBatchResponse = schemas_exports.object({\n entries: schemas_exports.list(schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Entry)),\n watch: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).WatchResponse)\n });\n }\n});\n\n// src/serialization/resources/kv/types/PutBatchRequest.ts\nvar PutBatchRequest;\nvar init_PutBatchRequest = __esm({\n \"src/serialization/resources/kv/types/PutBatchRequest.ts\"() {\n \"use strict\";\n init_core();\n PutBatchRequest = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string().optional()),\n entries: schemas_exports.list(schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.PutEntry))\n });\n }\n});\n\n// src/serialization/resources/kv/types/index.ts\nvar init_types40 = __esm({\n \"src/serialization/resources/kv/types/index.ts\"() {\n \"use strict\";\n init_GetResponse();\n init_PutRequest();\n init_GetBatchResponse();\n init_PutBatchRequest();\n }\n});\n\n// src/serialization/resources/kv/resources/common/types/Key.ts\nvar Key;\nvar init_Key = __esm({\n \"src/serialization/resources/kv/resources/common/types/Key.ts\"() {\n \"use strict\";\n init_core();\n Key = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/kv/resources/common/types/Value.ts\nvar Value;\nvar init_Value = __esm({\n \"src/serialization/resources/kv/resources/common/types/Value.ts\"() {\n \"use strict\";\n init_core();\n Value = schemas_exports.unknown();\n }\n});\n\n// src/serialization/resources/kv/resources/common/types/Entry.ts\nvar Entry;\nvar init_Entry = __esm({\n \"src/serialization/resources/kv/resources/common/types/Entry.ts\"() {\n \"use strict\";\n init_core();\n Entry = schemas_exports.object({\n key: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Key),\n value: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Value),\n deleted: schemas_exports.boolean().optional()\n });\n }\n});\n\n// src/serialization/resources/kv/resources/common/types/PutEntry.ts\nvar PutEntry;\nvar init_PutEntry = __esm({\n \"src/serialization/resources/kv/resources/common/types/PutEntry.ts\"() {\n \"use strict\";\n init_core();\n PutEntry = schemas_exports.object({\n key: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Key),\n value: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).kv.Value)\n });\n }\n});\n\n// src/serialization/resources/kv/resources/common/types/index.ts\nvar init_types41 = __esm({\n \"src/serialization/resources/kv/resources/common/types/index.ts\"() {\n \"use strict\";\n init_Key();\n init_Value();\n init_Entry();\n init_PutEntry();\n }\n});\n\n// src/serialization/resources/kv/resources/common/index.ts\nvar common_exports15 = {};\n__export(common_exports15, {\n Entry: () => Entry,\n Key: () => Key,\n PutEntry: () => PutEntry,\n Value: () => Value\n});\nvar init_common5 = __esm({\n \"src/serialization/resources/kv/resources/common/index.ts\"() {\n \"use strict\";\n init_types41();\n }\n});\n\n// src/serialization/resources/kv/resources/index.ts\nvar init_resources11 = __esm({\n \"src/serialization/resources/kv/resources/index.ts\"() {\n \"use strict\";\n init_common5();\n init_types41();\n }\n});\n\n// src/serialization/resources/kv/index.ts\nvar kv_exports4 = {};\n__export(kv_exports4, {\n Entry: () => Entry,\n GetBatchResponse: () => GetBatchResponse,\n GetResponse: () => GetResponse,\n Key: () => Key,\n PutBatchRequest: () => PutBatchRequest,\n PutEntry: () => PutEntry,\n PutRequest: () => PutRequest,\n Value: () => Value,\n common: () => common_exports15\n});\nvar init_kv2 = __esm({\n \"src/serialization/resources/kv/index.ts\"() {\n \"use strict\";\n init_types40();\n init_resources11();\n }\n});\n\n// src/serialization/resources/module/types/CallResponse.ts\nvar CallResponse;\nvar init_CallResponse = __esm({\n \"src/serialization/resources/module/types/CallResponse.ts\"() {\n \"use strict\";\n init_core();\n CallResponse = schemas_exports.object({\n data: schemas_exports.unknown()\n });\n }\n});\n\n// src/serialization/resources/module/types/index.ts\nvar init_types42 = __esm({\n \"src/serialization/resources/module/types/index.ts\"() {\n \"use strict\";\n init_CallResponse();\n }\n});\n\n// src/serialization/resources/module/client/requests/FindLobbyRequest.ts\nvar FindLobbyRequest;\nvar init_FindLobbyRequest = __esm({\n \"src/serialization/resources/module/client/requests/FindLobbyRequest.ts\"() {\n \"use strict\";\n init_core();\n FindLobbyRequest = schemas_exports.object({\n namespaceId: schemas_exports.property(\"namespace_id\", schemas_exports.string().optional()),\n data: schemas_exports.unknown()\n });\n }\n});\n\n// src/serialization/resources/module/client/requests/index.ts\nvar init_requests2 = __esm({\n \"src/serialization/resources/module/client/requests/index.ts\"() {\n \"use strict\";\n init_FindLobbyRequest();\n }\n});\n\n// src/serialization/resources/module/client/index.ts\nvar init_client2 = __esm({\n \"src/serialization/resources/module/client/index.ts\"() {\n \"use strict\";\n init_requests2();\n }\n});\n\n// src/serialization/resources/module/index.ts\nvar module_exports2 = {};\n__export(module_exports2, {\n CallResponse: () => CallResponse,\n FindLobbyRequest: () => FindLobbyRequest\n});\nvar init_module = __esm({\n \"src/serialization/resources/module/index.ts\"() {\n \"use strict\";\n init_types42();\n init_client2();\n }\n});\n\n// src/serialization/resources/captcha/resources/config/types/Config.ts\nvar Config7;\nvar init_Config7 = __esm({\n \"src/serialization/resources/captcha/resources/config/types/Config.ts\"() {\n \"use strict\";\n init_core();\n Config7 = schemas_exports.object({\n hcaptcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).captcha.ConfigHcaptcha).optional(),\n turnstile: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).captcha.ConfigTurnstile).optional()\n });\n }\n});\n\n// src/serialization/resources/captcha/resources/config/types/ConfigHcaptcha.ts\nvar ConfigHcaptcha;\nvar init_ConfigHcaptcha = __esm({\n \"src/serialization/resources/captcha/resources/config/types/ConfigHcaptcha.ts\"() {\n \"use strict\";\n init_core();\n ConfigHcaptcha = schemas_exports.object({\n clientResponse: schemas_exports.property(\"client_response\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/captcha/resources/config/types/ConfigTurnstile.ts\nvar ConfigTurnstile;\nvar init_ConfigTurnstile = __esm({\n \"src/serialization/resources/captcha/resources/config/types/ConfigTurnstile.ts\"() {\n \"use strict\";\n init_core();\n ConfigTurnstile = schemas_exports.object({\n clientResponse: schemas_exports.property(\"client_response\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/captcha/resources/config/types/index.ts\nvar init_types43 = __esm({\n \"src/serialization/resources/captcha/resources/config/types/index.ts\"() {\n \"use strict\";\n init_Config7();\n init_ConfigHcaptcha();\n init_ConfigTurnstile();\n }\n});\n\n// src/serialization/resources/captcha/resources/config/index.ts\nvar config_exports2 = {};\n__export(config_exports2, {\n Config: () => Config7,\n ConfigHcaptcha: () => ConfigHcaptcha,\n ConfigTurnstile: () => ConfigTurnstile\n});\nvar init_config = __esm({\n \"src/serialization/resources/captcha/resources/config/index.ts\"() {\n \"use strict\";\n init_types43();\n }\n});\n\n// src/serialization/resources/captcha/resources/index.ts\nvar init_resources12 = __esm({\n \"src/serialization/resources/captcha/resources/index.ts\"() {\n \"use strict\";\n init_config();\n init_types43();\n }\n});\n\n// src/serialization/resources/captcha/index.ts\nvar captcha_exports2 = {};\n__export(captcha_exports2, {\n Config: () => Config7,\n ConfigHcaptcha: () => ConfigHcaptcha,\n ConfigTurnstile: () => ConfigTurnstile,\n config: () => config_exports2\n});\nvar init_captcha = __esm({\n \"src/serialization/resources/captcha/index.ts\"() {\n \"use strict\";\n init_resources12();\n }\n});\n\n// src/serialization/resources/common/types/Identifier.ts\nvar Identifier;\nvar init_Identifier = __esm({\n \"src/serialization/resources/common/types/Identifier.ts\"() {\n \"use strict\";\n init_core();\n Identifier = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/common/types/Bio.ts\nvar Bio;\nvar init_Bio = __esm({\n \"src/serialization/resources/common/types/Bio.ts\"() {\n \"use strict\";\n init_core();\n Bio = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/common/types/Email.ts\nvar Email;\nvar init_Email = __esm({\n \"src/serialization/resources/common/types/Email.ts\"() {\n \"use strict\";\n init_core();\n Email = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/common/types/Jwt.ts\nvar Jwt;\nvar init_Jwt = __esm({\n \"src/serialization/resources/common/types/Jwt.ts\"() {\n \"use strict\";\n init_core();\n Jwt = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/common/types/WatchQuery.ts\nvar WatchQuery;\nvar init_WatchQuery = __esm({\n \"src/serialization/resources/common/types/WatchQuery.ts\"() {\n \"use strict\";\n init_core();\n WatchQuery = schemas_exports.string().optional();\n }\n});\n\n// src/serialization/resources/common/types/WatchResponse.ts\nvar WatchResponse;\nvar init_WatchResponse = __esm({\n \"src/serialization/resources/common/types/WatchResponse.ts\"() {\n \"use strict\";\n init_core();\n WatchResponse = schemas_exports.object({\n index: schemas_exports.string()\n });\n }\n});\n\n// src/serialization/resources/common/types/DisplayName.ts\nvar DisplayName;\nvar init_DisplayName = __esm({\n \"src/serialization/resources/common/types/DisplayName.ts\"() {\n \"use strict\";\n init_core();\n DisplayName = schemas_exports.string();\n }\n});\n\n// src/serialization/resources/common/types/AccountNumber.ts\nvar AccountNumber;\nvar init_AccountNumber = __esm({\n \"src/serialization/resources/common/types/AccountNumber.ts\"() {\n \"use strict\";\n init_core();\n AccountNumber = schemas_exports.number();\n }\n});\n\n// src/serialization/resources/common/types/ValidationError.ts\nvar ValidationError5;\nvar init_ValidationError = __esm({\n \"src/serialization/resources/common/types/ValidationError.ts\"() {\n \"use strict\";\n init_core();\n ValidationError5 = schemas_exports.object({\n path: schemas_exports.list(schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/common/types/EmptyObject.ts\nvar EmptyObject;\nvar init_EmptyObject = __esm({\n \"src/serialization/resources/common/types/EmptyObject.ts\"() {\n \"use strict\";\n init_core();\n EmptyObject = schemas_exports.object({});\n }\n});\n\n// src/serialization/resources/common/types/ErrorMetadata.ts\nvar ErrorMetadata;\nvar init_ErrorMetadata = __esm({\n \"src/serialization/resources/common/types/ErrorMetadata.ts\"() {\n \"use strict\";\n init_core();\n ErrorMetadata = schemas_exports.unknown();\n }\n});\n\n// src/serialization/resources/common/types/ErrorBody.ts\nvar ErrorBody;\nvar init_ErrorBody = __esm({\n \"src/serialization/resources/common/types/ErrorBody.ts\"() {\n \"use strict\";\n init_core();\n ErrorBody = schemas_exports.object({\n code: schemas_exports.string(),\n message: schemas_exports.string(),\n documentation: schemas_exports.string().optional(),\n metadata: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).ErrorMetadata).optional()\n });\n }\n});\n\n// src/serialization/resources/common/types/index.ts\nvar init_types44 = __esm({\n \"src/serialization/resources/common/types/index.ts\"() {\n \"use strict\";\n init_Identifier();\n init_Bio();\n init_Email();\n init_Jwt();\n init_WatchQuery();\n init_WatchResponse();\n init_DisplayName();\n init_AccountNumber();\n init_ValidationError();\n init_EmptyObject();\n init_ErrorMetadata();\n init_ErrorBody();\n }\n});\n\n// src/serialization/resources/common/index.ts\nvar common_exports16 = {};\n__export(common_exports16, {\n AccountNumber: () => AccountNumber,\n Bio: () => Bio,\n DisplayName: () => DisplayName,\n Email: () => Email,\n EmptyObject: () => EmptyObject,\n ErrorBody: () => ErrorBody,\n ErrorMetadata: () => ErrorMetadata,\n Identifier: () => Identifier,\n Jwt: () => Jwt,\n ValidationError: () => ValidationError5,\n WatchQuery: () => WatchQuery,\n WatchResponse: () => WatchResponse\n});\nvar init_common6 = __esm({\n \"src/serialization/resources/common/index.ts\"() {\n \"use strict\";\n init_types44();\n }\n});\n\n// src/serialization/resources/game/resources/common/types/Handle.ts\nvar Handle3;\nvar init_Handle3 = __esm({\n \"src/serialization/resources/game/resources/common/types/Handle.ts\"() {\n \"use strict\";\n init_core();\n Handle3 = schemas_exports.object({\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string()),\n nameId: schemas_exports.property(\n \"name_id\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier)\n ),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n logoUrl: schemas_exports.property(\"logo_url\", schemas_exports.string().optional()),\n bannerUrl: schemas_exports.property(\"banner_url\", schemas_exports.string().optional())\n });\n }\n});\n\n// src/serialization/resources/game/resources/common/types/Summary.ts\nvar Summary4;\nvar init_Summary4 = __esm({\n \"src/serialization/resources/game/resources/common/types/Summary.ts\"() {\n \"use strict\";\n init_core();\n Summary4 = schemas_exports.object({\n gameId: schemas_exports.property(\"game_id\", schemas_exports.string()),\n nameId: schemas_exports.property(\n \"name_id\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier)\n ),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n logoUrl: schemas_exports.property(\"logo_url\", schemas_exports.string().optional()),\n bannerUrl: schemas_exports.property(\"banner_url\", schemas_exports.string().optional()),\n url: schemas_exports.string(),\n developer: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).group.Handle),\n totalPlayerCount: schemas_exports.property(\"total_player_count\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/game/resources/common/types/StatSummary.ts\nvar StatSummary;\nvar init_StatSummary = __esm({\n \"src/serialization/resources/game/resources/common/types/StatSummary.ts\"() {\n \"use strict\";\n init_core();\n StatSummary = schemas_exports.object({\n game: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.Handle),\n stats: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.Stat)\n )\n });\n }\n});\n\n// src/serialization/resources/game/resources/common/types/Stat.ts\nvar Stat;\nvar init_Stat = __esm({\n \"src/serialization/resources/game/resources/common/types/Stat.ts\"() {\n \"use strict\";\n init_core();\n Stat = schemas_exports.object({\n config: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.StatConfig),\n overallValue: schemas_exports.property(\"overall_value\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/game/resources/common/types/StatConfig.ts\nvar StatConfig;\nvar init_StatConfig = __esm({\n \"src/serialization/resources/game/resources/common/types/StatConfig.ts\"() {\n \"use strict\";\n init_core();\n StatConfig = schemas_exports.object({\n recordId: schemas_exports.property(\"record_id\", schemas_exports.string()),\n iconId: schemas_exports.property(\"icon_id\", schemas_exports.string()),\n format: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.StatFormatMethod),\n aggregation: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.StatAggregationMethod),\n sorting: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).game.StatSortingMethod),\n priority: schemas_exports.number(),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n ),\n postfixSingular: schemas_exports.property(\"postfix_singular\", schemas_exports.string().optional()),\n postfixPlural: schemas_exports.property(\"postfix_plural\", schemas_exports.string().optional()),\n prefixSingular: schemas_exports.property(\"prefix_singular\", schemas_exports.string().optional()),\n prefixPlural: schemas_exports.property(\"prefix_plural\", schemas_exports.string().optional())\n });\n }\n});\n\n// src/serialization/resources/game/resources/common/types/StatFormatMethod.ts\nvar StatFormatMethod2;\nvar init_StatFormatMethod = __esm({\n \"src/serialization/resources/game/resources/common/types/StatFormatMethod.ts\"() {\n \"use strict\";\n init_core();\n StatFormatMethod2 = schemas_exports.enum_([\n \"integer\",\n \"float_1\",\n \"float_2\",\n \"float_3\",\n \"duration_minute\",\n \"duration_second\",\n \"duration_hundredth_second\"\n ]);\n }\n});\n\n// src/serialization/resources/game/resources/common/types/StatAggregationMethod.ts\nvar StatAggregationMethod2;\nvar init_StatAggregationMethod = __esm({\n \"src/serialization/resources/game/resources/common/types/StatAggregationMethod.ts\"() {\n \"use strict\";\n init_core();\n StatAggregationMethod2 = schemas_exports.enum_([\"sum\", \"average\", \"min\", \"max\"]);\n }\n});\n\n// src/serialization/resources/game/resources/common/types/StatSortingMethod.ts\nvar StatSortingMethod2;\nvar init_StatSortingMethod = __esm({\n \"src/serialization/resources/game/resources/common/types/StatSortingMethod.ts\"() {\n \"use strict\";\n init_core();\n StatSortingMethod2 = schemas_exports.enum_([\"desc\", \"asc\"]);\n }\n});\n\n// src/serialization/resources/game/resources/common/types/index.ts\nvar init_types45 = __esm({\n \"src/serialization/resources/game/resources/common/types/index.ts\"() {\n \"use strict\";\n init_Handle3();\n init_Summary4();\n init_StatSummary();\n init_Stat();\n init_StatConfig();\n init_StatFormatMethod();\n init_StatAggregationMethod();\n init_StatSortingMethod();\n }\n});\n\n// src/serialization/resources/game/resources/common/index.ts\nvar common_exports17 = {};\n__export(common_exports17, {\n Handle: () => Handle3,\n Stat: () => Stat,\n StatAggregationMethod: () => StatAggregationMethod2,\n StatConfig: () => StatConfig,\n StatFormatMethod: () => StatFormatMethod2,\n StatSortingMethod: () => StatSortingMethod2,\n StatSummary: () => StatSummary,\n Summary: () => Summary4\n});\nvar init_common7 = __esm({\n \"src/serialization/resources/game/resources/common/index.ts\"() {\n \"use strict\";\n init_types45();\n }\n});\n\n// src/serialization/resources/game/resources/index.ts\nvar init_resources13 = __esm({\n \"src/serialization/resources/game/resources/index.ts\"() {\n \"use strict\";\n init_common7();\n init_types45();\n }\n});\n\n// src/serialization/resources/game/index.ts\nvar game_exports2 = {};\n__export(game_exports2, {\n Handle: () => Handle3,\n Stat: () => Stat,\n StatAggregationMethod: () => StatAggregationMethod2,\n StatConfig: () => StatConfig,\n StatFormatMethod: () => StatFormatMethod2,\n StatSortingMethod: () => StatSortingMethod2,\n StatSummary: () => StatSummary,\n Summary: () => Summary4,\n common: () => common_exports17\n});\nvar init_game = __esm({\n \"src/serialization/resources/game/index.ts\"() {\n \"use strict\";\n init_resources13();\n }\n});\n\n// src/serialization/resources/geo/resources/common/types/Coord.ts\nvar Coord;\nvar init_Coord = __esm({\n \"src/serialization/resources/geo/resources/common/types/Coord.ts\"() {\n \"use strict\";\n init_core();\n Coord = schemas_exports.object({\n latitude: schemas_exports.number(),\n longitude: schemas_exports.number()\n });\n }\n});\n\n// src/serialization/resources/geo/resources/common/types/Distance.ts\nvar Distance;\nvar init_Distance = __esm({\n \"src/serialization/resources/geo/resources/common/types/Distance.ts\"() {\n \"use strict\";\n init_core();\n Distance = schemas_exports.object({\n kilometers: schemas_exports.number(),\n miles: schemas_exports.number()\n });\n }\n});\n\n// src/serialization/resources/geo/resources/common/types/index.ts\nvar init_types46 = __esm({\n \"src/serialization/resources/geo/resources/common/types/index.ts\"() {\n \"use strict\";\n init_Coord();\n init_Distance();\n }\n});\n\n// src/serialization/resources/geo/resources/common/index.ts\nvar common_exports18 = {};\n__export(common_exports18, {\n Coord: () => Coord,\n Distance: () => Distance\n});\nvar init_common8 = __esm({\n \"src/serialization/resources/geo/resources/common/index.ts\"() {\n \"use strict\";\n init_types46();\n }\n});\n\n// src/serialization/resources/geo/resources/index.ts\nvar init_resources14 = __esm({\n \"src/serialization/resources/geo/resources/index.ts\"() {\n \"use strict\";\n init_common8();\n init_types46();\n }\n});\n\n// src/serialization/resources/geo/index.ts\nvar geo_exports2 = {};\n__export(geo_exports2, {\n Coord: () => Coord,\n Distance: () => Distance,\n common: () => common_exports18\n});\nvar init_geo = __esm({\n \"src/serialization/resources/geo/index.ts\"() {\n \"use strict\";\n init_resources14();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/LobbyInfo.ts\nvar LobbyInfo;\nvar init_LobbyInfo = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/LobbyInfo.ts\"() {\n \"use strict\";\n init_core();\n LobbyInfo = schemas_exports.object({\n regionId: schemas_exports.property(\"region_id\", schemas_exports.string()),\n gameModeId: schemas_exports.property(\"game_mode_id\", schemas_exports.string()),\n lobbyId: schemas_exports.property(\"lobby_id\", schemas_exports.string()),\n maxPlayersNormal: schemas_exports.property(\"max_players_normal\", schemas_exports.number()),\n maxPlayersDirect: schemas_exports.property(\"max_players_direct\", schemas_exports.number()),\n maxPlayersParty: schemas_exports.property(\"max_players_party\", schemas_exports.number()),\n totalPlayerCount: schemas_exports.property(\"total_player_count\", schemas_exports.number()),\n state: schemas_exports.unknown().optional()\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/GameModeInfo.ts\nvar GameModeInfo;\nvar init_GameModeInfo = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/GameModeInfo.ts\"() {\n \"use strict\";\n init_core();\n GameModeInfo = schemas_exports.object({\n gameModeId: schemas_exports.property(\n \"game_mode_id\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/RegionInfo.ts\nvar RegionInfo;\nvar init_RegionInfo = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/RegionInfo.ts\"() {\n \"use strict\";\n init_core();\n RegionInfo = schemas_exports.object({\n regionId: schemas_exports.property(\n \"region_id\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier)\n ),\n providerDisplayName: schemas_exports.property(\"provider_display_name\", schemas_exports.string()),\n regionDisplayName: schemas_exports.property(\"region_display_name\", schemas_exports.string()),\n datacenterCoord: schemas_exports.property(\n \"datacenter_coord\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).geo.Coord)\n ),\n datacenterDistanceFromClient: schemas_exports.property(\n \"datacenter_distance_from_client\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).geo.Distance)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/JoinLobby.ts\nvar JoinLobby;\nvar init_JoinLobby = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/JoinLobby.ts\"() {\n \"use strict\";\n init_core();\n JoinLobby = schemas_exports.object({\n lobbyId: schemas_exports.property(\"lobby_id\", schemas_exports.string()),\n region: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinRegion),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPort)\n ),\n player: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPlayer)\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/JoinRegion.ts\nvar JoinRegion;\nvar init_JoinRegion = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/JoinRegion.ts\"() {\n \"use strict\";\n init_core();\n JoinRegion = schemas_exports.object({\n regionId: schemas_exports.property(\n \"region_id\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier)\n ),\n displayName: schemas_exports.property(\n \"display_name\",\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).DisplayName)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/JoinPort.ts\nvar JoinPort;\nvar init_JoinPort = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/JoinPort.ts\"() {\n \"use strict\";\n init_core();\n JoinPort = schemas_exports.object({\n host: schemas_exports.string().optional(),\n hostname: schemas_exports.string(),\n port: schemas_exports.number().optional(),\n portRange: schemas_exports.property(\n \"port_range\",\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPortRange).optional()\n ),\n isTls: schemas_exports.property(\"is_tls\", schemas_exports.boolean())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/JoinPortRange.ts\nvar JoinPortRange;\nvar init_JoinPortRange = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/JoinPortRange.ts\"() {\n \"use strict\";\n init_core();\n JoinPortRange = schemas_exports.object({\n min: schemas_exports.number(),\n max: schemas_exports.number()\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/JoinPlayer.ts\nvar JoinPlayer;\nvar init_JoinPlayer = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/JoinPlayer.ts\"() {\n \"use strict\";\n init_core();\n JoinPlayer = schemas_exports.object({\n token: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Jwt)\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/CustomLobbyPublicity.ts\nvar CustomLobbyPublicity2;\nvar init_CustomLobbyPublicity = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/CustomLobbyPublicity.ts\"() {\n \"use strict\";\n init_core();\n CustomLobbyPublicity2 = schemas_exports.enum_([\"public\", \"private\"]);\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/types/index.ts\nvar init_types47 = __esm({\n \"src/serialization/resources/matchmaker/resources/common/types/index.ts\"() {\n \"use strict\";\n init_LobbyInfo();\n init_GameModeInfo();\n init_RegionInfo();\n init_JoinLobby();\n init_JoinRegion();\n init_JoinPort();\n init_JoinPortRange();\n init_JoinPlayer();\n init_CustomLobbyPublicity();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/common/index.ts\nvar common_exports19 = {};\n__export(common_exports19, {\n CustomLobbyPublicity: () => CustomLobbyPublicity2,\n GameModeInfo: () => GameModeInfo,\n JoinLobby: () => JoinLobby,\n JoinPlayer: () => JoinPlayer,\n JoinPort: () => JoinPort,\n JoinPortRange: () => JoinPortRange,\n JoinRegion: () => JoinRegion,\n LobbyInfo: () => LobbyInfo,\n RegionInfo: () => RegionInfo\n});\nvar init_common9 = __esm({\n \"src/serialization/resources/matchmaker/resources/common/index.ts\"() {\n \"use strict\";\n init_types47();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/types/FindLobbyResponse.ts\nvar FindLobbyResponse;\nvar init_FindLobbyResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/types/FindLobbyResponse.ts\"() {\n \"use strict\";\n init_core();\n FindLobbyResponse = schemas_exports.object({\n lobby: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinLobby),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPort)\n ),\n player: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPlayer)\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/types/JoinLobbyResponse.ts\nvar JoinLobbyResponse;\nvar init_JoinLobbyResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/types/JoinLobbyResponse.ts\"() {\n \"use strict\";\n init_core();\n JoinLobbyResponse = schemas_exports.object({\n lobby: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinLobby),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPort)\n ),\n player: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPlayer)\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/types/CreateLobbyResponse.ts\nvar CreateLobbyResponse;\nvar init_CreateLobbyResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/types/CreateLobbyResponse.ts\"() {\n \"use strict\";\n init_core();\n CreateLobbyResponse = schemas_exports.object({\n lobby: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinLobby),\n ports: schemas_exports.record(\n schemas_exports.string(),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPort)\n ),\n player: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.JoinPlayer)\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/types/ListLobbiesResponse.ts\nvar ListLobbiesResponse;\nvar init_ListLobbiesResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/types/ListLobbiesResponse.ts\"() {\n \"use strict\";\n init_core();\n ListLobbiesResponse = schemas_exports.object({\n gameModes: schemas_exports.property(\n \"game_modes\",\n schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.GameModeInfo)\n )\n ),\n regions: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.RegionInfo)\n ),\n lobbies: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.LobbyInfo)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/types/index.ts\nvar init_types48 = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/types/index.ts\"() {\n \"use strict\";\n init_FindLobbyResponse();\n init_JoinLobbyResponse();\n init_CreateLobbyResponse();\n init_ListLobbiesResponse();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/setState.ts\nvar setState_exports = {};\n__export(setState_exports, {\n Request: () => Request\n});\nvar Request;\nvar init_setState = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/setState.ts\"() {\n \"use strict\";\n init_core();\n Request = schemas_exports.unknown().optional();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/getState.ts\nvar getState_exports = {};\n__export(getState_exports, {\n Response: () => Response\n});\nvar Response;\nvar init_getState = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/getState.ts\"() {\n \"use strict\";\n init_core();\n Response = schemas_exports.unknown().optional();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/requests/SetLobbyClosedRequest.ts\nvar SetLobbyClosedRequest;\nvar init_SetLobbyClosedRequest = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/requests/SetLobbyClosedRequest.ts\"() {\n \"use strict\";\n init_core();\n SetLobbyClosedRequest = schemas_exports.object({\n isClosed: schemas_exports.property(\"is_closed\", schemas_exports.boolean())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/requests/FindLobbyRequest.ts\nvar FindLobbyRequest2;\nvar init_FindLobbyRequest2 = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/requests/FindLobbyRequest.ts\"() {\n \"use strict\";\n init_core();\n FindLobbyRequest2 = schemas_exports.object({\n gameModes: schemas_exports.property(\"game_modes\", schemas_exports.list(schemas_exports.string())),\n regions: schemas_exports.list(schemas_exports.string()).optional(),\n preventAutoCreateLobby: schemas_exports.property(\n \"prevent_auto_create_lobby\",\n schemas_exports.boolean().optional()\n ),\n tags: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number().optional()),\n captcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).captcha.Config).optional(),\n verificationData: schemas_exports.property(\"verification_data\", schemas_exports.unknown().optional())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/requests/JoinLobbyRequest.ts\nvar JoinLobbyRequest;\nvar init_JoinLobbyRequest = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/requests/JoinLobbyRequest.ts\"() {\n \"use strict\";\n init_core();\n JoinLobbyRequest = schemas_exports.object({\n lobbyId: schemas_exports.property(\"lobby_id\", schemas_exports.string()),\n captcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).captcha.Config).optional(),\n verificationData: schemas_exports.property(\"verification_data\", schemas_exports.unknown().optional())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/requests/CreateLobbyRequest.ts\nvar CreateLobbyRequest;\nvar init_CreateLobbyRequest = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/requests/CreateLobbyRequest.ts\"() {\n \"use strict\";\n init_core();\n CreateLobbyRequest = schemas_exports.object({\n gameMode: schemas_exports.property(\"game_mode\", schemas_exports.string()),\n region: schemas_exports.string().optional(),\n publicity: schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.CustomLobbyPublicity).optional(),\n tags: schemas_exports.record(schemas_exports.string(), schemas_exports.string()).optional(),\n maxPlayers: schemas_exports.property(\"max_players\", schemas_exports.number().optional()),\n lobbyConfig: schemas_exports.property(\"lobby_config\", schemas_exports.unknown().optional()),\n captcha: schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).captcha.Config).optional(),\n verificationData: schemas_exports.property(\"verification_data\", schemas_exports.unknown().optional())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/requests/index.ts\nvar init_requests3 = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/requests/index.ts\"() {\n \"use strict\";\n init_SetLobbyClosedRequest();\n init_FindLobbyRequest2();\n init_JoinLobbyRequest();\n init_CreateLobbyRequest();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/client/index.ts\nvar init_client3 = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/client/index.ts\"() {\n \"use strict\";\n init_setState();\n init_getState();\n init_requests3();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/lobbies/index.ts\nvar lobbies_exports2 = {};\n__export(lobbies_exports2, {\n CreateLobbyRequest: () => CreateLobbyRequest,\n CreateLobbyResponse: () => CreateLobbyResponse,\n FindLobbyRequest: () => FindLobbyRequest2,\n FindLobbyResponse: () => FindLobbyResponse,\n JoinLobbyRequest: () => JoinLobbyRequest,\n JoinLobbyResponse: () => JoinLobbyResponse,\n ListLobbiesResponse: () => ListLobbiesResponse,\n SetLobbyClosedRequest: () => SetLobbyClosedRequest,\n getState: () => getState_exports,\n setState: () => setState_exports\n});\nvar init_lobbies = __esm({\n \"src/serialization/resources/matchmaker/resources/lobbies/index.ts\"() {\n \"use strict\";\n init_types48();\n init_client3();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/types/GetStatisticsResponse.ts\nvar GetStatisticsResponse;\nvar init_GetStatisticsResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/players/types/GetStatisticsResponse.ts\"() {\n \"use strict\";\n init_core();\n GetStatisticsResponse = schemas_exports.object({\n playerCount: schemas_exports.property(\"player_count\", schemas_exports.number()),\n gameModes: schemas_exports.property(\n \"game_modes\",\n schemas_exports.record(\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.GameModeStatistics)\n )\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/types/GameModeStatistics.ts\nvar GameModeStatistics;\nvar init_GameModeStatistics = __esm({\n \"src/serialization/resources/matchmaker/resources/players/types/GameModeStatistics.ts\"() {\n \"use strict\";\n init_core();\n GameModeStatistics = schemas_exports.object({\n playerCount: schemas_exports.property(\"player_count\", schemas_exports.number()),\n regions: schemas_exports.record(\n schemas_exports.lazy(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).Identifier),\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.RegionStatistics)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/types/RegionStatistics.ts\nvar RegionStatistics;\nvar init_RegionStatistics = __esm({\n \"src/serialization/resources/matchmaker/resources/players/types/RegionStatistics.ts\"() {\n \"use strict\";\n init_core();\n RegionStatistics = schemas_exports.object({\n playerCount: schemas_exports.property(\"player_count\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/types/index.ts\nvar init_types49 = __esm({\n \"src/serialization/resources/matchmaker/resources/players/types/index.ts\"() {\n \"use strict\";\n init_GetStatisticsResponse();\n init_GameModeStatistics();\n init_RegionStatistics();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/client/requests/PlayerConnectedRequest.ts\nvar PlayerConnectedRequest;\nvar init_PlayerConnectedRequest = __esm({\n \"src/serialization/resources/matchmaker/resources/players/client/requests/PlayerConnectedRequest.ts\"() {\n \"use strict\";\n init_core();\n PlayerConnectedRequest = schemas_exports.object({\n playerToken: schemas_exports.property(\"player_token\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/client/requests/PlayerDisconnectedRequest.ts\nvar PlayerDisconnectedRequest;\nvar init_PlayerDisconnectedRequest = __esm({\n \"src/serialization/resources/matchmaker/resources/players/client/requests/PlayerDisconnectedRequest.ts\"() {\n \"use strict\";\n init_core();\n PlayerDisconnectedRequest = schemas_exports.object({\n playerToken: schemas_exports.property(\"player_token\", schemas_exports.string())\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/client/requests/index.ts\nvar init_requests4 = __esm({\n \"src/serialization/resources/matchmaker/resources/players/client/requests/index.ts\"() {\n \"use strict\";\n init_PlayerConnectedRequest();\n init_PlayerDisconnectedRequest();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/client/index.ts\nvar init_client4 = __esm({\n \"src/serialization/resources/matchmaker/resources/players/client/index.ts\"() {\n \"use strict\";\n init_requests4();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/players/index.ts\nvar players_exports2 = {};\n__export(players_exports2, {\n GameModeStatistics: () => GameModeStatistics,\n GetStatisticsResponse: () => GetStatisticsResponse,\n PlayerConnectedRequest: () => PlayerConnectedRequest,\n PlayerDisconnectedRequest: () => PlayerDisconnectedRequest,\n RegionStatistics: () => RegionStatistics\n});\nvar init_players = __esm({\n \"src/serialization/resources/matchmaker/resources/players/index.ts\"() {\n \"use strict\";\n init_types49();\n init_client4();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/regions/types/ListRegionsResponse.ts\nvar ListRegionsResponse;\nvar init_ListRegionsResponse = __esm({\n \"src/serialization/resources/matchmaker/resources/regions/types/ListRegionsResponse.ts\"() {\n \"use strict\";\n init_core();\n ListRegionsResponse = schemas_exports.object({\n regions: schemas_exports.list(\n schemas_exports.lazyObject(async () => (await Promise.resolve().then(() => (init_serialization(), serialization_exports))).matchmaker.RegionInfo)\n )\n });\n }\n});\n\n// src/serialization/resources/matchmaker/resources/regions/types/index.ts\nvar init_types50 = __esm({\n \"src/serialization/resources/matchmaker/resources/regions/types/index.ts\"() {\n \"use strict\";\n init_ListRegionsResponse();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/regions/index.ts\nvar regions_exports2 = {};\n__export(regions_exports2, {\n ListRegionsResponse: () => ListRegionsResponse\n});\nvar init_regions = __esm({\n \"src/serialization/resources/matchmaker/resources/regions/index.ts\"() {\n \"use strict\";\n init_types50();\n }\n});\n\n// src/serialization/resources/matchmaker/resources/index.ts\nvar init_resources15 = __esm({\n \"src/serialization/resources/matchmaker/resources/index.ts\"() {\n \"use strict\";\n init_common9();\n init_types47();\n init_lobbies();\n init_types48();\n init_players();\n init_types49();\n init_regions();\n init_types50();\n init_requests3();\n init_requests4();\n }\n});\n\n// src/serialization/resources/matchmaker/index.ts\nvar matchmaker_exports6 = {};\n__export(matchmaker_exports6, {\n CreateLobbyRequest: () => CreateLobbyRequest,\n CreateLobbyResponse: () => CreateLobbyResponse,\n CustomLobbyPublicity: () => CustomLobbyPublicity2,\n FindLobbyRequest: () => FindLobbyRequest2,\n FindLobbyResponse: () => FindLobbyResponse,\n GameModeInfo: () => GameModeInfo,\n GameModeStatistics: () => GameModeStatistics,\n GetStatisticsResponse: () => GetStatisticsResponse,\n JoinLobby: () => JoinLobby,\n JoinLobbyRequest: () => JoinLobbyRequest,\n JoinLobbyResponse: () => JoinLobbyResponse,\n JoinPlayer: () => JoinPlayer,\n JoinPort: () => JoinPort,\n JoinPortRange: () => JoinPortRange,\n JoinRegion: () => JoinRegion,\n ListLobbiesResponse: () => ListLobbiesResponse,\n ListRegionsResponse: () => ListRegionsResponse,\n LobbyInfo: () => LobbyInfo,\n PlayerConnectedRequest: () => PlayerConnectedRequest,\n PlayerDisconnectedRequest: () => PlayerDisconnectedRequest,\n RegionInfo: () => RegionInfo,\n RegionStatistics: () => RegionStatistics,\n SetLobbyClosedRequest: () => SetLobbyClosedRequest,\n common: () => common_exports19,\n lobbies: () => lobbies_exports2,\n players: () => players_exports2,\n regions: () => regions_exports2\n});\nvar init_matchmaker3 = __esm({\n \"src/serialization/resources/matchmaker/index.ts\"() {\n \"use strict\";\n init_resources15();\n }\n});\n\n// src/serialization/resources/upload/resources/common/types/PresignedRequest.ts\nvar PresignedRequest;\nvar init_PresignedRequest = __esm({\n \"src/serialization/resources/upload/resources/common/types/PresignedRequest.ts\"() {\n \"use strict\";\n init_core();\n PresignedRequest = schemas_exports.object({\n path: schemas_exports.string(),\n url: schemas_exports.string(),\n byteOffset: schemas_exports.property(\"byte_offset\", schemas_exports.number()),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/upload/resources/common/types/PrepareFile.ts\nvar PrepareFile;\nvar init_PrepareFile = __esm({\n \"src/serialization/resources/upload/resources/common/types/PrepareFile.ts\"() {\n \"use strict\";\n init_core();\n PrepareFile = schemas_exports.object({\n path: schemas_exports.string(),\n contentType: schemas_exports.property(\"content_type\", schemas_exports.string().optional()),\n contentLength: schemas_exports.property(\"content_length\", schemas_exports.number())\n });\n }\n});\n\n// src/serialization/resources/upload/resources/common/types/index.ts\nvar init_types51 = __esm({\n \"src/serialization/resources/upload/resources/common/types/index.ts\"() {\n \"use strict\";\n init_PresignedRequest();\n init_PrepareFile();\n }\n});\n\n// src/serialization/resources/upload/resources/common/index.ts\nvar common_exports20 = {};\n__export(common_exports20, {\n PrepareFile: () => PrepareFile,\n PresignedRequest: () => PresignedRequest\n});\nvar init_common10 = __esm({\n \"src/serialization/resources/upload/resources/common/index.ts\"() {\n \"use strict\";\n init_types51();\n }\n});\n\n// src/serialization/resources/upload/resources/index.ts\nvar init_resources16 = __esm({\n \"src/serialization/resources/upload/resources/index.ts\"() {\n \"use strict\";\n init_common10();\n init_types51();\n }\n});\n\n// src/serialization/resources/upload/index.ts\nvar upload_exports2 = {};\n__export(upload_exports2, {\n PrepareFile: () => PrepareFile,\n PresignedRequest: () => PresignedRequest,\n common: () => common_exports20\n});\nvar init_upload = __esm({\n \"src/serialization/resources/upload/index.ts\"() {\n \"use strict\";\n init_resources16();\n }\n});\n\n// src/serialization/resources/index.ts\nvar init_resources17 = __esm({\n \"src/serialization/resources/index.ts\"() {\n \"use strict\";\n init_admin();\n init_cloud();\n init_group();\n init_identity2();\n init_kv2();\n init_module();\n init_captcha();\n init_common6();\n init_types44();\n init_game();\n init_geo();\n init_matchmaker3();\n init_upload();\n }\n});\n\n// src/serialization/index.ts\nvar serialization_exports = {};\n__export(serialization_exports, {\n AccountNumber: () => AccountNumber,\n Bio: () => Bio,\n DisplayName: () => DisplayName,\n Email: () => Email,\n EmptyObject: () => EmptyObject,\n ErrorBody: () => ErrorBody,\n ErrorMetadata: () => ErrorMetadata,\n Identifier: () => Identifier,\n Jwt: () => Jwt,\n ValidationError: () => ValidationError5,\n WatchQuery: () => WatchQuery,\n WatchResponse: () => WatchResponse,\n admin: () => admin_exports2,\n captcha: () => captcha_exports2,\n cloud: () => cloud_exports2,\n common: () => common_exports16,\n game: () => game_exports2,\n geo: () => geo_exports2,\n group: () => group_exports2,\n identity: () => identity_exports4,\n kv: () => kv_exports4,\n matchmaker: () => matchmaker_exports6,\n module_: () => module_exports2,\n upload: () => upload_exports2\n});\nvar init_serialization = __esm({\n \"src/serialization/index.ts\"() {\n \"use strict\";\n init_resources17();\n }\n});\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n Rivet: () => api_exports,\n RivetClient: () => RivetClient,\n RivetEnvironment: () => RivetEnvironment,\n RivetError: () => RivetError,\n RivetTimeoutError: () => RivetTimeoutError\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/api/index.ts\nvar api_exports = {};\n__export(api_exports, {\n BadRequestError: () => BadRequestError,\n ForbiddenError: () => ForbiddenError,\n InternalError: () => InternalError,\n NotFoundError: () => NotFoundError,\n RateLimitError: () => RateLimitError,\n UnauthorizedError: () => UnauthorizedError,\n admin: () => admin_exports,\n captcha: () => captcha_exports,\n cloud: () => cloud_exports,\n common: () => common_exports6,\n game: () => game_exports,\n geo: () => geo_exports,\n group: () => group_exports,\n identity: () => identity_exports2,\n kv: () => kv_exports2,\n matchmaker: () => matchmaker_exports3,\n module_: () => module_exports,\n upload: () => upload_exports\n});\n\n// src/api/resources/admin/index.ts\nvar admin_exports = {};\n\n// src/api/resources/cloud/index.ts\nvar cloud_exports = {};\n__export(cloud_exports, {\n BootstrapCluster: () => BootstrapCluster,\n CdnAuthType: () => CdnAuthType,\n CdnNamespaceDomainVerificationStatus: () => CdnNamespaceDomainVerificationStatus,\n UniversalRegion: () => UniversalRegion,\n auth: () => auth_exports,\n common: () => common_exports2,\n devices: () => devices_exports,\n games: () => games_exports2,\n groups: () => groups_exports,\n logs: () => logs_exports2,\n tiers: () => tiers_exports,\n uploads: () => uploads_exports,\n version: () => version_exports\n});\n\n// src/api/resources/cloud/types/BootstrapCluster.ts\nvar BootstrapCluster = {\n Enterprise: \"enterprise\",\n Oss: \"oss\"\n};\n\n// src/api/resources/cloud/resources/games/index.ts\nvar games_exports2 = {};\n__export(games_exports2, {\n BuildCompression: () => BuildCompression,\n BuildKind: () => BuildKind,\n LogStream: () => LogStream,\n avatars: () => avatars_exports,\n builds: () => builds_exports,\n cdn: () => cdn_exports,\n games: () => games_exports,\n matchmaker: () => matchmaker_exports,\n namespaces: () => namespaces_exports,\n tokens: () => tokens_exports,\n versions: () => versions_exports\n});\n\n// src/api/resources/cloud/resources/games/resources/namespaces/index.ts\nvar namespaces_exports = {};\n__export(namespaces_exports, {\n analytics: () => analytics_exports,\n logs: () => logs_exports\n});\n\n// src/api/resources/cloud/resources/games/resources/namespaces/resources/analytics/index.ts\nvar analytics_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/namespaces/resources/logs/index.ts\nvar logs_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/avatars/index.ts\nvar avatars_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/builds/index.ts\nvar builds_exports = {};\n__export(builds_exports, {\n BuildCompression: () => BuildCompression,\n BuildKind: () => BuildKind\n});\n\n// src/api/resources/cloud/resources/games/resources/builds/types/BuildKind.ts\nvar BuildKind = {\n DockerImage: \"docker_image\",\n OciBundle: \"oci_bundle\"\n};\n\n// src/api/resources/cloud/resources/games/resources/builds/types/BuildCompression.ts\nvar BuildCompression = {\n None: \"none\",\n Lz4: \"lz4\"\n};\n\n// src/api/resources/cloud/resources/games/resources/cdn/index.ts\nvar cdn_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/games/index.ts\nvar games_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/matchmaker/index.ts\nvar matchmaker_exports = {};\n__export(matchmaker_exports, {\n LogStream: () => LogStream\n});\n\n// src/api/resources/cloud/resources/games/resources/matchmaker/types/LogStream.ts\nvar LogStream = {\n StdOut: \"std_out\",\n StdErr: \"std_err\"\n};\n\n// src/api/resources/cloud/resources/games/resources/tokens/index.ts\nvar tokens_exports = {};\n\n// src/api/resources/cloud/resources/games/resources/versions/index.ts\nvar versions_exports = {};\n\n// src/api/resources/cloud/resources/version/index.ts\nvar version_exports = {};\n__export(version_exports, {\n cdn: () => cdn_exports2,\n engine: () => engine_exports,\n identity: () => identity_exports,\n kv: () => kv_exports,\n matchmaker: () => matchmaker_exports2\n});\n\n// src/api/resources/cloud/resources/version/resources/cdn/index.ts\nvar cdn_exports2 = {};\n\n// src/api/resources/cloud/resources/version/resources/engine/index.ts\nvar engine_exports = {};\n__export(engine_exports, {\n godot: () => godot_exports,\n html5: () => html5_exports,\n unity: () => unity_exports,\n unreal: () => unreal_exports\n});\n\n// src/api/resources/cloud/resources/version/resources/engine/resources/godot/index.ts\nvar godot_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/engine/resources/html5/index.ts\nvar html5_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/engine/resources/unity/index.ts\nvar unity_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/engine/resources/unreal/index.ts\nvar unreal_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/kv/index.ts\nvar kv_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/index.ts\nvar matchmaker_exports2 = {};\n__export(matchmaker_exports2, {\n CaptchaHcaptchaLevel: () => CaptchaHcaptchaLevel,\n GameModeIdentityRequirement: () => GameModeIdentityRequirement,\n NetworkMode: () => NetworkMode,\n PortProtocol: () => PortProtocol,\n ProxyKind: () => ProxyKind,\n common: () => common_exports,\n gameMode: () => gameMode_exports,\n lobbyGroup: () => lobbyGroup_exports\n});\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/common/index.ts\nvar common_exports = {};\n__export(common_exports, {\n CaptchaHcaptchaLevel: () => CaptchaHcaptchaLevel,\n NetworkMode: () => NetworkMode,\n PortProtocol: () => PortProtocol,\n ProxyKind: () => ProxyKind\n});\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/common/types/PortProtocol.ts\nvar PortProtocol = {\n Http: \"http\",\n Https: \"https\",\n Tcp: \"tcp\",\n TcpTls: \"tcp_tls\",\n Udp: \"udp\"\n};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/common/types/ProxyKind.ts\nvar ProxyKind = {\n None: \"none\",\n GameGuard: \"game_guard\"\n};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/common/types/CaptchaHcaptchaLevel.ts\nvar CaptchaHcaptchaLevel = {\n Easy: \"easy\",\n Moderate: \"moderate\",\n Difficult: \"difficult\",\n AlwaysOn: \"always_on\"\n};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/common/types/NetworkMode.ts\nvar NetworkMode = {\n Bridge: \"bridge\",\n Host: \"host\"\n};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/index.ts\nvar gameMode_exports = {};\n__export(gameMode_exports, {\n GameModeIdentityRequirement: () => GameModeIdentityRequirement\n});\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/gameMode/types/GameModeIdentityRequirement.ts\nvar GameModeIdentityRequirement = {\n None: \"none\",\n Guest: \"guest\",\n Registered: \"registered\"\n};\n\n// src/api/resources/cloud/resources/version/resources/matchmaker/resources/lobbyGroup/index.ts\nvar lobbyGroup_exports = {};\n\n// src/api/resources/cloud/resources/version/resources/identity/index.ts\nvar identity_exports = {};\n__export(identity_exports, {\n pacakge: () => pacakge_exports\n});\n\n// src/api/resources/cloud/resources/version/resources/identity/resources/pacakge/index.ts\nvar pacakge_exports = {};\n\n// src/api/resources/cloud/resources/auth/index.ts\nvar auth_exports = {};\n\n// src/api/resources/cloud/resources/common/index.ts\nvar common_exports2 = {};\n__export(common_exports2, {\n CdnAuthType: () => CdnAuthType,\n CdnNamespaceDomainVerificationStatus: () => CdnNamespaceDomainVerificationStatus,\n UniversalRegion: () => UniversalRegion\n});\n\n// src/api/resources/cloud/resources/common/types/UniversalRegion.ts\nvar UniversalRegion = {\n Unknown: \"unknown\",\n Local: \"local\",\n Amsterdam: \"amsterdam\",\n Atlanta: \"atlanta\",\n Bangalore: \"bangalore\",\n Dallas: \"dallas\",\n Frankfurt: \"frankfurt\",\n London: \"london\",\n Mumbai: \"mumbai\",\n Newark: \"newark\",\n NewYorkCity: \"new_york_city\",\n SanFrancisco: \"san_francisco\",\n Singapore: \"singapore\",\n Sydney: \"sydney\",\n Tokyo: \"tokyo\",\n Toronto: \"toronto\",\n WashingtonDc: \"washington_dc\",\n Chicago: \"chicago\",\n Paris: \"paris\",\n Seattle: \"seattle\",\n SaoPaulo: \"sao_paulo\",\n Stockholm: \"stockholm\",\n Chennai: \"chennai\",\n Osaka: \"osaka\",\n Milan: \"milan\",\n Miami: \"miami\",\n Jakarta: \"jakarta\",\n LosAngeles: \"los_angeles\"\n};\n\n// src/api/resources/cloud/resources/common/types/CdnAuthType.ts\nvar CdnAuthType = {\n None: \"none\",\n Basic: \"basic\"\n};\n\n// src/api/resources/cloud/resources/common/types/CdnNamespaceDomainVerificationStatus.ts\nvar CdnNamespaceDomainVerificationStatus = {\n Active: \"active\",\n Pending: \"pending\",\n Failed: \"failed\"\n};\n\n// src/api/resources/cloud/resources/devices/index.ts\nvar devices_exports = {};\n__export(devices_exports, {\n links: () => links_exports\n});\n\n// src/api/resources/cloud/resources/devices/resources/links/index.ts\nvar links_exports = {};\n\n// src/api/resources/cloud/resources/groups/index.ts\nvar groups_exports = {};\n\n// src/api/resources/cloud/resources/logs/index.ts\nvar logs_exports2 = {};\n\n// src/api/resources/cloud/resources/tiers/index.ts\nvar tiers_exports = {};\n\n// src/api/resources/cloud/resources/uploads/index.ts\nvar uploads_exports = {};\n\n// src/api/resources/group/index.ts\nvar group_exports = {};\n__export(group_exports, {\n Publicity: () => Publicity,\n common: () => common_exports3,\n invites: () => invites_exports,\n joinRequests: () => joinRequests_exports\n});\n\n// src/api/resources/group/resources/common/index.ts\nvar common_exports3 = {};\n__export(common_exports3, {\n Publicity: () => Publicity\n});\n\n// src/api/resources/group/resources/common/types/Publicity.ts\nvar Publicity = {\n Open: \"open\",\n Closed: \"closed\"\n};\n\n// src/api/resources/group/resources/invites/index.ts\nvar invites_exports = {};\n\n// src/api/resources/group/resources/joinRequests/index.ts\nvar joinRequests_exports = {};\n\n// src/api/resources/identity/index.ts\nvar identity_exports2 = {};\n__export(identity_exports2, {\n DevState: () => DevState,\n GameLinkStatus: () => GameLinkStatus,\n Status: () => Status,\n common: () => common_exports4,\n events: () => events_exports,\n links: () => links_exports2\n});\n\n// src/api/resources/identity/resources/common/index.ts\nvar common_exports4 = {};\n__export(common_exports4, {\n DevState: () => DevState,\n GameLinkStatus: () => GameLinkStatus,\n Status: () => Status\n});\n\n// src/api/resources/identity/resources/common/types/Status.ts\nvar Status = {\n Online: \"online\",\n Away: \"away\",\n Offline: \"offline\"\n};\n\n// src/api/resources/identity/resources/common/types/DevState.ts\nvar DevState = {\n Inactive: \"inactive\",\n Pending: \"pending\",\n Accepted: \"accepted\"\n};\n\n// src/api/resources/identity/resources/common/types/GameLinkStatus.ts\nvar GameLinkStatus = {\n Incomplete: \"incomplete\",\n Complete: \"complete\",\n Cancelled: \"cancelled\"\n};\n\n// src/api/resources/identity/resources/events/index.ts\nvar events_exports = {};\n\n// src/api/resources/identity/resources/links/index.ts\nvar links_exports2 = {};\n\n// src/api/resources/kv/index.ts\nvar kv_exports2 = {};\n__export(kv_exports2, {\n common: () => common_exports5\n});\n\n// src/api/resources/kv/resources/common/index.ts\nvar common_exports5 = {};\n\n// src/api/resources/module/index.ts\nvar module_exports = {};\n\n// src/api/resources/captcha/index.ts\nvar captcha_exports = {};\n__export(captcha_exports, {\n config: () => config_exports\n});\n\n// src/api/resources/captcha/resources/config/index.ts\nvar config_exports = {};\n\n// src/api/resources/common/index.ts\nvar common_exports6 = {};\n__export(common_exports6, {\n BadRequestError: () => BadRequestError,\n ForbiddenError: () => ForbiddenError,\n InternalError: () => InternalError,\n NotFoundError: () => NotFoundError,\n RateLimitError: () => RateLimitError,\n UnauthorizedError: () => UnauthorizedError\n});\n\n// src/errors/RivetError.ts\nvar RivetError = class extends Error {\n statusCode;\n body;\n constructor({ message, statusCode, body }) {\n super(message);\n Object.setPrototypeOf(this, RivetError.prototype);\n if (statusCode != null) {\n this.statusCode = statusCode;\n }\n if (body !== void 0) {\n this.body = body;\n }\n }\n};\n\n// src/errors/RivetTimeoutError.ts\nvar RivetTimeoutError = class extends Error {\n constructor() {\n super(\"Timeout\");\n Object.setPrototypeOf(this, RivetTimeoutError.prototype);\n }\n};\n\n// src/api/resources/common/errors/InternalError.ts\nvar InternalError = class extends RivetError {\n constructor(body) {\n super({\n message: \"InternalError\",\n statusCode: 500,\n body\n });\n Object.setPrototypeOf(this, InternalError.prototype);\n }\n};\n\n// src/api/resources/common/errors/RateLimitError.ts\nvar RateLimitError = class extends RivetError {\n constructor(body) {\n super({\n message: \"RateLimitError\",\n statusCode: 429,\n body\n });\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n};\n\n// src/api/resources/common/errors/ForbiddenError.ts\nvar ForbiddenError = class extends RivetError {\n constructor(body) {\n super({\n message: \"ForbiddenError\",\n statusCode: 403,\n body\n });\n Object.setPrototypeOf(this, ForbiddenError.prototype);\n }\n};\n\n// src/api/resources/common/errors/UnauthorizedError.ts\nvar UnauthorizedError = class extends RivetError {\n constructor(body) {\n super({\n message: \"UnauthorizedError\",\n statusCode: 408,\n body\n });\n Object.setPrototypeOf(this, UnauthorizedError.prototype);\n }\n};\n\n// src/api/resources/common/errors/NotFoundError.ts\nvar NotFoundError = class extends RivetError {\n constructor(body) {\n super({\n message: \"NotFoundError\",\n statusCode: 404,\n body\n });\n Object.setPrototypeOf(this, NotFoundError.prototype);\n }\n};\n\n// src/api/resources/common/errors/BadRequestError.ts\nvar BadRequestError = class extends RivetError {\n constructor(body) {\n super({\n message: \"BadRequestError\",\n statusCode: 400,\n body\n });\n Object.setPrototypeOf(this, BadRequestError.prototype);\n }\n};\n\n// src/api/resources/game/index.ts\nvar game_exports = {};\n__export(game_exports, {\n StatAggregationMethod: () => StatAggregationMethod,\n StatFormatMethod: () => StatFormatMethod,\n StatSortingMethod: () => StatSortingMethod,\n common: () => common_exports7\n});\n\n// src/api/resources/game/resources/common/index.ts\nvar common_exports7 = {};\n__export(common_exports7, {\n StatAggregationMethod: () => StatAggregationMethod,\n StatFormatMethod: () => StatFormatMethod,\n StatSortingMethod: () => StatSortingMethod\n});\n\n// src/api/resources/game/resources/common/types/StatFormatMethod.ts\nvar StatFormatMethod = {\n Integer: \"integer\",\n Float1: \"float_1\",\n Float2: \"float_2\",\n Float3: \"float_3\",\n DurationMinute: \"duration_minute\",\n DurationSecond: \"duration_second\",\n DurationHundredthSecond: \"duration_hundredth_second\"\n};\n\n// src/api/resources/game/resources/common/types/StatAggregationMethod.ts\nvar StatAggregationMethod = {\n Sum: \"sum\",\n Average: \"average\",\n Min: \"min\",\n Max: \"max\"\n};\n\n// src/api/resources/game/resources/common/types/StatSortingMethod.ts\nvar StatSortingMethod = {\n Desc: \"desc\",\n Asc: \"asc\"\n};\n\n// src/api/resources/geo/index.ts\nvar geo_exports = {};\n__export(geo_exports, {\n common: () => common_exports8\n});\n\n// src/api/resources/geo/resources/common/index.ts\nvar common_exports8 = {};\n\n// src/api/resources/matchmaker/index.ts\nvar matchmaker_exports3 = {};\n__export(matchmaker_exports3, {\n CustomLobbyPublicity: () => CustomLobbyPublicity,\n common: () => common_exports9,\n lobbies: () => lobbies_exports,\n players: () => players_exports,\n regions: () => regions_exports\n});\n\n// src/api/resources/matchmaker/resources/common/index.ts\nvar common_exports9 = {};\n__export(common_exports9, {\n CustomLobbyPublicity: () => CustomLobbyPublicity\n});\n\n// src/api/resources/matchmaker/resources/common/types/CustomLobbyPublicity.ts\nvar CustomLobbyPublicity = {\n Public: \"public\",\n Private: \"private\"\n};\n\n// src/api/resources/matchmaker/resources/lobbies/index.ts\nvar lobbies_exports = {};\n\n// src/api/resources/matchmaker/resources/players/index.ts\nvar players_exports = {};\n\n// src/api/resources/matchmaker/resources/regions/index.ts\nvar regions_exports = {};\n\n// src/api/resources/upload/index.ts\nvar upload_exports = {};\n__export(upload_exports, {\n common: () => common_exports10\n});\n\n// src/api/resources/upload/resources/common/index.ts\nvar common_exports10 = {};\n\n// src/environments.ts\nvar RivetEnvironment = {\n Production: \"https://api.rivet.gg\",\n Staging: \"https://api.staging.gameinc.io\"\n};\n\n// src/api/resources/admin/client/Client.ts\ninit_core();\nvar import_url_join = __toESM(require_url_join());\ninit_serialization();\nvar Admin = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async login(request) {\n const _response = await fetcher({\n url: (0, import_url_join.default)(this.options.environment ?? RivetEnvironment.Production, \"/admin/login\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await admin_exports2.LoginRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await admin_exports2.LoginResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/client/Client.ts\ninit_core();\nvar import_url_join18 = __toESM(require_url_join());\ninit_serialization();\n\n// src/api/resources/cloud/resources/games/resources/namespaces/client/Client.ts\ninit_core();\nvar import_url_join4 = __toESM(require_url_join());\ninit_serialization();\n\n// src/api/resources/cloud/resources/games/resources/namespaces/resources/analytics/client/Client.ts\ninit_core();\nvar import_url_join2 = __toESM(require_url_join());\ninit_serialization();\nvar Analytics = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns live information about all active lobbies for a given namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getAnalyticsMatchmakerLive(gameId, namespaceId) {\n const _response = await fetcher({\n url: (0, import_url_join2.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/analytics/matchmaker/live`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.GetAnalyticsMatchmakerLiveResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/namespaces/resources/logs/client/Client.ts\ninit_core();\nvar import_url_join3 = __toESM(require_url_join());\ninit_serialization();\nvar Logs = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns a list of lobbies for the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listNamespaceLobbies(gameId, namespaceId, request = {}) {\n const { beforeCreateTs } = request;\n const _queryParams = new URLSearchParams();\n if (beforeCreateTs != null) {\n _queryParams.append(\"before_create_ts\", beforeCreateTs.toISOString());\n }\n const _response = await fetcher({\n url: (0, import_url_join3.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/logs/lobbies`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.ListNamespaceLobbiesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a lobby from the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getNamespaceLobby(gameId, namespaceId, lobbyId) {\n const _response = await fetcher({\n url: (0, import_url_join3.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/logs/lobbies/${lobbyId}`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.GetNamespaceLobbyResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/namespaces/client/Client.ts\nvar Namespaces = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Creates a new namespace for the given game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameNamespace(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.CreateGameNamespaceRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.CreateGameNamespaceResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validates information used to create a new game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateGameNamespace(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/validate`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.ValidateGameNamespaceRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.ValidateGameNamespaceResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Gets a game namespace by namespace ID.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getGameNamespaceById(gameId, namespaceId) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.GetGameNamespaceByIdResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Adds an authenticated user to the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateNamespaceCdnAuthUser(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/auth-user`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.UpdateNamespaceCdnAuthUserRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Removes an authenticated user from the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async removeNamespaceCdnAuthUser(gameId, namespaceId, user) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/auth-user/${user}`\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Updates the CDN authentication type of the given game namesapce.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async setNamespaceCdnAuthType(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/cdn-auth`\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.SetNamespaceCdnAuthTypeRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Toggles whether or not to allow authentication based on domain for the given game namesapce.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async toggleNamespaceDomainPublicAuth(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/domain-public-auth`\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.ToggleNamespaceDomainPublicAuthRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Adds a domain to the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async addNamespaceDomain(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/domains`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.AddNamespaceDomainRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Removes a domain from the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async removeNamespaceDomain(gameId, namespaceId, domain) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/domains/${domain}`\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Updates matchmaker config for the given game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateGameNamespaceMatchmakerConfig(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/mm-config`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.UpdateGameNamespaceMatchmakerConfigRequest.jsonOrThrow(\n request,\n { unrecognizedObjectKeys: \"strip\" }\n )\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Gets the version history for a given namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getGameNamespaceVersionHistoryList(gameId, namespaceId, request = {}) {\n const { anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit.toString());\n }\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/version-history`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.GetGameNamespaceVersionHistoryResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validates information used to update a game namespace's matchmaker config.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateGameNamespaceMatchmakerConfig(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/mm-config/validate`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.ValidateGameNamespaceMatchmakerConfigRequest.jsonOrThrow(\n request,\n { unrecognizedObjectKeys: \"strip\" }\n )\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.ValidateGameNamespaceMatchmakerConfigResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a development token for the given namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameNamespaceTokenDevelopment(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/tokens/development`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.CreateGameNamespaceTokenDevelopmentRequest.jsonOrThrow(\n request,\n { unrecognizedObjectKeys: \"strip\" }\n )\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.CreateGameNamespaceTokenDevelopmentResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validates information used to create a new game namespace development token.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateGameNamespaceTokenDevelopment(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/tokens/development/validate`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.ValidateGameNamespaceTokenDevelopmentRequest.jsonOrThrow(\n request,\n { unrecognizedObjectKeys: \"strip\" }\n )\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.ValidateGameNamespaceTokenDevelopmentResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a public token for the given namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameNamespaceTokenPublic(gameId, namespaceId) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/tokens/public`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.namespaces.CreateGameNamespaceTokenPublicResponse.parseOrThrow(\n _response.body,\n {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n }\n );\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Updates the version of a game namespace.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateGameNamespaceVersion(gameId, namespaceId, request) {\n const _response = await fetcher({\n url: (0, import_url_join4.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/namespaces/${namespaceId}/version`\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.namespaces.UpdateGameNamespaceVersionRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n _analytics;\n get analytics() {\n return this._analytics ??= new Analytics(this.options);\n }\n _logs;\n get logs() {\n return this._logs ??= new Logs(this.options);\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/avatars/client/Client.ts\ninit_core();\nvar import_url_join5 = __toESM(require_url_join());\ninit_serialization();\nvar Avatars = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Lists custom avatars for the given game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listGameCustomAvatars(gameId) {\n const _response = await fetcher({\n url: (0, import_url_join5.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/avatars`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.ListGameCustomAvatarsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Prepares a custom avatar image upload.\n * Complete upload with `rivet.api.cloud#CompleteCustomAvatarUpload`.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async prepareCustomAvatarUpload(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join5.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/prepare`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.PrepareCustomAvatarUploadRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.PrepareCustomAvatarUploadResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes a custom avatar image upload. Must be called after the file upload process completes.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async completeCustomAvatarUpload(gameId, uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join5.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/avatar-upload/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/builds/client/Client.ts\ninit_core();\nvar import_url_join6 = __toESM(require_url_join());\ninit_serialization();\nvar Builds = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Lists game builds for the given game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listGameBuilds(gameId) {\n const _response = await fetcher({\n url: (0, import_url_join6.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/builds`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.ListGameBuildsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a new game build for the given game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameBuild(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join6.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/builds`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.CreateGameBuildRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.CreateGameBuildResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/cdn/client/Client.ts\ninit_core();\nvar import_url_join7 = __toESM(require_url_join());\ninit_serialization();\nvar Cdn = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Lists CDN sites for a game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listGameCdnSites(gameId) {\n const _response = await fetcher({\n url: (0, import_url_join7.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/cdn/sites`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.ListGameCdnSitesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a new CDN site for the given game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameCdnSite(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join7.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/cdn/sites`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.CreateGameCdnSiteRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.CreateGameCdnSiteResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/games/client/Client.ts\ninit_core();\nvar import_url_join8 = __toESM(require_url_join());\ninit_serialization();\nvar Games = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns a list of games in which the current identity is a group member of its development team.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getGames(request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join8.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/games\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.games.GetGamesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a new game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGame(request) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/games\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.CreateGameRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.CreateGameResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validates information used to create a new game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateGame(request) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/games/validate\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.ValidateGameRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.ValidateGameResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a game by its game id.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getGameById(gameId, request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join8.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.games.GetGameByIdResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Prepares a game banner image upload.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async gameBannerUploadPrepare(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/banner-upload/prepare`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.GameBannerUploadPrepareRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.GameBannerUploadPrepareResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes an game banner image upload. Must be called after the file upload process completes.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async gameBannerUploadComplete(gameId, uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/banner-upload/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Prepares a game logo image upload.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async gameLogoUploadPrepare(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/logo-upload/prepare`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.GameLogoUploadPrepareRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.GameLogoUploadPrepareResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes a game logo image upload. Must be called after the file upload process completes.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async gameLogoUploadComplete(gameId, uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join8.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/logo-upload/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/matchmaker/client/Client.ts\ninit_core();\nvar import_url_join9 = __toESM(require_url_join());\ninit_serialization();\nvar Matchmaker = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Exports lobby history over a given query time span.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async exportMatchmakerLobbyHistory(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join9.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/matchmaker/lobbies/export-history`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.ExportMatchmakerLobbyHistoryRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.ExportMatchmakerLobbyHistoryResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Deletes a matchmaker lobby, stopping it immediately.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async deleteMatchmakerLobby(gameId, lobbyId) {\n const _response = await fetcher({\n url: (0, import_url_join9.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/matchmaker/lobbies/${lobbyId}`\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.DeleteMatchmakerLobbyResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns the logs for a given lobby.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getLobbyLogs(gameId, lobbyId, request) {\n const { stream, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"stream\", stream);\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join9.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/matchmaker/lobbies/${lobbyId}/logs`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.games.GetLobbyLogsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Generates a download URL for logs.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async exportLobbyLogs(gameId, lobbyId, request) {\n const _response = await fetcher({\n url: (0, import_url_join9.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/matchmaker/lobbies/${lobbyId}/logs/export`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.ExportLobbyLogsRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.ExportLobbyLogsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/tokens/client/Client.ts\ninit_core();\nvar import_url_join10 = __toESM(require_url_join());\ninit_serialization();\nvar Tokens = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Creates a new game cloud token.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createCloudToken(gameId) {\n const _response = await fetcher({\n url: (0, import_url_join10.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/tokens/cloud`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.CreateCloudTokenResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/resources/versions/client/Client.ts\ninit_core();\nvar import_url_join11 = __toESM(require_url_join());\ninit_serialization();\nvar Versions = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Creates a new game version.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createGameVersion(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join11.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/versions`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.CreateGameVersionRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.CreateGameVersionResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validates information used to create a new game version.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateGameVersion(gameId, request) {\n const _response = await fetcher({\n url: (0, import_url_join11.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/versions/validate`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.games.ValidateGameVersionRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.games.ValidateGameVersionResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a game version by its version ID.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getGameVersionById(gameId, versionId) {\n const _response = await fetcher({\n url: (0, import_url_join11.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/games/${gameId}/versions/${versionId}`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.games.GetGameVersionByIdResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/games/client/Client.ts\nvar Games2 = class {\n constructor(options) {\n this.options = options;\n }\n _namespaces;\n get namespaces() {\n return this._namespaces ??= new Namespaces(this.options);\n }\n _avatars;\n get avatars() {\n return this._avatars ??= new Avatars(this.options);\n }\n _builds;\n get builds() {\n return this._builds ??= new Builds(this.options);\n }\n _cdn;\n get cdn() {\n return this._cdn ??= new Cdn(this.options);\n }\n _games;\n get games() {\n return this._games ??= new Games(this.options);\n }\n _matchmaker;\n get matchmaker() {\n return this._matchmaker ??= new Matchmaker(this.options);\n }\n _tokens;\n get tokens() {\n return this._tokens ??= new Tokens(this.options);\n }\n _versions;\n get versions() {\n return this._versions ??= new Versions(this.options);\n }\n};\n\n// src/api/resources/cloud/resources/auth/client/Client.ts\ninit_core();\nvar import_url_join12 = __toESM(require_url_join());\ninit_serialization();\nvar Auth = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns information about the current authenticated agent.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async inspect() {\n const _response = await fetcher({\n url: (0, import_url_join12.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/auth/inspect\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.InspectResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/devices/resources/links/client/Client.ts\ninit_core();\nvar import_url_join13 = __toESM(require_url_join());\ninit_serialization();\nvar Links = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async prepare() {\n const _response = await fetcher({\n url: (0, import_url_join13.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/devices/links\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.devices.PrepareDeviceLinkResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async get(request) {\n const { deviceLinkToken, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"device_link_token\", deviceLinkToken);\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join13.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/devices/links\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await cloud_exports2.devices.GetDeviceLinkResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/devices/client/Client.ts\nvar Devices = class {\n constructor(options) {\n this.options = options;\n }\n _links;\n get links() {\n return this._links ??= new Links(this.options);\n }\n};\n\n// src/api/resources/cloud/resources/groups/client/Client.ts\ninit_core();\nvar import_url_join14 = __toESM(require_url_join());\ninit_serialization();\nvar Groups = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Validates information used to create a new group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validate(request) {\n const _response = await fetcher({\n url: (0, import_url_join14.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/cloud/groups/validate\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await cloud_exports2.ValidateGroupRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await cloud_exports2.ValidateGroupResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Converts the given group into a developer group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async convertGroup(groupId) {\n const _response = await fetcher({\n url: (0, import_url_join14.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/groups/${groupId}/convert`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/logs/client/Client.ts\ninit_core();\nvar import_url_join15 = __toESM(require_url_join());\ninit_serialization();\nvar Logs2 = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns performance information about a Rivet Ray.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getRayPerfLogs(rayId) {\n const _response = await fetcher({\n url: (0, import_url_join15.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/rays/${rayId}/perf`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.GetRayPerfLogsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/tiers/client/Client.ts\ninit_core();\nvar import_url_join16 = __toESM(require_url_join());\ninit_serialization();\nvar Tiers = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns all available region tiers.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getRegionTiers() {\n const _response = await fetcher({\n url: (0, import_url_join16.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/region-tiers\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.GetRegionTiersResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/resources/uploads/client/Client.ts\ninit_core();\nvar import_url_join17 = __toESM(require_url_join());\ninit_serialization();\nvar Uploads = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Marks an upload as complete.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async completeUpload(uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join17.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/cloud/uploads/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/cloud/client/Client.ts\nvar Cloud = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns the basic information required to use the cloud APIs.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async bootstrap() {\n const _response = await fetcher({\n url: (0, import_url_join18.default)(this.options.environment ?? RivetEnvironment.Production, \"/cloud/bootstrap\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await cloud_exports2.BootstrapResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n _games;\n get games() {\n return this._games ??= new Games2(this.options);\n }\n _auth;\n get auth() {\n return this._auth ??= new Auth(this.options);\n }\n _devices;\n get devices() {\n return this._devices ??= new Devices(this.options);\n }\n _groups;\n get groups() {\n return this._groups ??= new Groups(this.options);\n }\n _logs;\n get logs() {\n return this._logs ??= new Logs2(this.options);\n }\n _tiers;\n get tiers() {\n return this._tiers ??= new Tiers(this.options);\n }\n _uploads;\n get uploads() {\n return this._uploads ??= new Uploads(this.options);\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/group/client/Client.ts\ninit_core();\nvar import_url_join21 = __toESM(require_url_join());\ninit_serialization();\n\n// src/api/resources/group/resources/invites/client/Client.ts\ninit_core();\nvar import_url_join19 = __toESM(require_url_join());\ninit_serialization();\nvar Invites = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Inspects a group invite returning information about the team that created it.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getInvite(groupInviteCode) {\n const _response = await fetcher({\n url: (0, import_url_join19.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/invites/${groupInviteCode}`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await group_exports2.GetInviteResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Consumes a group invite to join a group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async consumeInvite(groupInviteCode) {\n const _response = await fetcher({\n url: (0, import_url_join19.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/invites/${groupInviteCode}/consume`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await group_exports2.ConsumeInviteResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a group invite. Can be shared with other identities to let them join this group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createInvite(groupId, request) {\n const _response = await fetcher({\n url: (0, import_url_join19.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/invites`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.CreateInviteRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await group_exports2.CreateInviteResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/group/resources/joinRequests/client/Client.ts\ninit_core();\nvar import_url_join20 = __toESM(require_url_join());\ninit_serialization();\nvar JoinRequests = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Requests to join a group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async createJoinRequest(groupId) {\n const _response = await fetcher({\n url: (0, import_url_join20.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/join-request`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Resolves a join request for a given group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async resolveJoinRequest(groupId, identityId, request) {\n const _response = await fetcher({\n url: (0, import_url_join20.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/join-request/${identityId}`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.ResolveJoinRequestRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/group/client/Client.ts\nvar Group2 = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns a list of suggested groups.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listSuggested(request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(this.options.environment ?? RivetEnvironment.Production, \"/group/groups\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.ListSuggestedResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a new group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async create(request) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(this.options.environment ?? RivetEnvironment.Production, \"/group/groups\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.CreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await group_exports2.CreateResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Prepares an avatar image upload.\n * Complete upload with `rivet.api.group#CompleteAvatarUpload`.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async prepareAvatarUpload(request) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/group/groups/avatar-upload/prepare\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.PrepareAvatarUploadRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await group_exports2.PrepareAvatarUploadResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validate contents of group profile. Use to provide immediate feedback on profile changes before committing them.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateProfile(request) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/group/groups/profile/validate\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.ValidateProfileRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await group_exports2.ValidateProfileResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fuzzy search for groups.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async search(request) {\n const { query, anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"query\", query);\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit.toString());\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(this.options.environment ?? RivetEnvironment.Production, \"/group/groups/search\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.SearchResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes an avatar image upload. Must be called after the file upload\n * process completes.\n * Call `rivet.api.group#PrepareAvatarUpload` first.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async completeAvatarUpload(groupId, uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/avatar-upload/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a group's bans. Must have valid permissions to view.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getBans(groupId, request = {}) {\n const { anchor, count, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (count != null) {\n _queryParams.append(\"count\", count.toString());\n }\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/bans`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.GetBansResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Bans an identity from a group. Must be the owner of the group to perform this action. The banned identity will no longer be able to create a join request or use a group invite.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async banIdentity(groupId, identityId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/bans/${identityId}`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Unbans an identity from a group. Must be the owner of the group to perform this action.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async unbanIdentity(groupId, identityId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/bans/${identityId}`\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a group's join requests. Must have valid permissions to view.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getJoinRequests(groupId, request = {}) {\n const { anchor, count, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (count != null) {\n _queryParams.append(\"count\", count.toString());\n }\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/join-requests`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.GetJoinRequestsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Kicks an identity from a group. Must be the owner of the group to perform this action.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async kickMember(groupId, identityId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/kick/${identityId}`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Leaves a group.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async leave(groupId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/leave`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a group's members.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getMembers(groupId, request = {}) {\n const { anchor, count, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (count != null) {\n _queryParams.append(\"count\", count.toString());\n }\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/members`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.GetMembersResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns a group profile.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getProfile(groupId, request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/profile`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await group_exports2.GetProfileResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateProfile(groupId, request) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/profile`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.UpdateProfileRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getSummary(groupId) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/summary`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await group_exports2.GetSummaryResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Transfers ownership of a group to another identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async transferOwnership(groupId, request) {\n const _response = await fetcher({\n url: (0, import_url_join21.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/group/groups/${groupId}/transfer-owner`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await group_exports2.TransferOwnershipRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n _invites;\n get invites() {\n return this._invites ??= new Invites(this.options);\n }\n _joinRequests;\n get joinRequests() {\n return this._joinRequests ??= new JoinRequests(this.options);\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/identity/client/Client.ts\ninit_core();\nvar import_url_join24 = __toESM(require_url_join());\ninit_serialization();\n\n// src/api/resources/identity/resources/events/client/Client.ts\ninit_core();\nvar import_url_join22 = __toESM(require_url_join());\ninit_serialization();\nvar Events = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns all events relative to the current identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async watch(request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join22.default)(this.options.environment ?? RivetEnvironment.Production, \"/identity/events/live\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.WatchEventsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/identity/resources/links/client/Client.ts\ninit_core();\nvar import_url_join23 = __toESM(require_url_join());\ninit_serialization();\nvar Links2 = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Begins the process for linking an identity with the Rivet Hub.\n * # Importance of Linking Identities\n * When an identity is created via `rivet.api.identity#SetupIdentity`, the identity is temporary\n * and is not shared with other games the user plays.\n * In order to make the identity permanent and synchronize the identity with\n * other games, the identity must be linked with the hub.\n * # Linking Process\n * The linking process works by opening `identity_link_url` in a browser then polling\n * `rivet.api.identity#GetGameLink` to wait for it to complete.\n * This is designed to be as flexible as possible so `identity_link_url` can be opened\n * on any device. For example, when playing a console game, the user can scan a\n * QR code for `identity_link_url` to authenticate on their phone.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async prepare() {\n const _response = await fetcher({\n url: (0, import_url_join23.default)(this.options.environment ?? RivetEnvironment.Production, \"/identity/game-links\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await identity_exports4.PrepareGameLinkResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Returns the current status of a linking process. Once `status` is `complete`, the identity's profile should be fetched again since they may have switched accounts.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async get(request) {\n const { identityLinkToken, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"identity_link_token\", identityLinkToken);\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join23.default)(this.options.environment ?? RivetEnvironment.Production, \"/identity/game-links\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.GetGameLinkResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/identity/client/Client.ts\nvar Identity = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Gets or creates an identity.\n * Passing an existing identity token in the body refreshes the token.\n * Temporary Accounts\n * Until the identity is linked with the Rivet Hub (see `PrepareGameLink`), this identity will be temporary but still behave like all other identities.\n * This is intended to allow users to play the game without signing up while still having the benefits of having an account. When they are ready to save their account, they should be instructed to link their account (see `PrepareGameLink`).\n * Storing Token\n * `identity_token` should be stored in some form of persistent storage. The token should be read from storage and passed to `Setup` every time the client starts.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async setup(request = {}) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(this.options.environment ?? RivetEnvironment.Production, \"/identity/identities\"),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.SetupRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await identity_exports4.SetupResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fetches an identity profile.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getProfile(identityId, request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/profile`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.GetProfileResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fetches the current identity's profile.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getSelfProfile(request = {}) {\n const { watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/profile\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.GetProfileResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fetches a list of identity handles.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getHandles(request) {\n const { identityIds } = request;\n const _queryParams = new URLSearchParams();\n if (Array.isArray(identityIds)) {\n for (const _item of identityIds) {\n _queryParams.append(\"identity_ids\", _item);\n }\n } else {\n _queryParams.append(\"identity_ids\", identityIds);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/batch/handle\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.GetHandlesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fetches a list of identity summaries.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getSummaries(request) {\n const { identityIds } = request;\n const _queryParams = new URLSearchParams();\n if (Array.isArray(identityIds)) {\n for (const _item of identityIds) {\n _queryParams.append(\"identity_ids\", _item);\n }\n } else {\n _queryParams.append(\"identity_ids\", identityIds);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/batch/summary\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.GetSummariesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Updates profile of the current identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateProfile(request = {}) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/profile\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.UpdateProfileRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Validate contents of identity profile. Use to provide immediate feedback on profile changes before committing them.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async validateProfile(request = {}) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/profile/validate\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.ValidateProfileRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Fuzzy search for identities.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async search(request) {\n const { query, anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"query\", query);\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit.toString());\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/search\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.SearchResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Sets the current identity's game activity. This activity will automatically be removed when the identity goes offline.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async setGameActivity(request) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/activity\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.SetGameActivityRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Removes the current identity's game activity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async removeGameActivity() {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/activity\"\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Updates the current identity's status.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async updateStatus(request) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/identities/self/status\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.UpdateStatusRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Follows the given identity. In order for identities to be \"friends\", the other identity has to also follow this identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async follow(identityId) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/follow`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Unfollows the given identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async unfollow(identityId) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/follow`\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Prepares an avatar image upload. Complete upload with `CompleteIdentityAvatarUpload`.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async prepareAvatarUpload(request) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/avatar-upload/prepare\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.PrepareAvatarUploadRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await identity_exports4.PrepareAvatarUploadResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes an avatar image upload. Must be called after the file upload process completes.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async completeAvatarUpload(uploadId) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/avatar-upload/${uploadId}/complete`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Completes an avatar image upload. Must be called after the file upload process completes.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async signupForBeta(request) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/beta-signup\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.SignupForBetaRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates an abuse report for an identity.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async report(identityId, request = {}) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/report`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await identity_exports4.ReportRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listFollowers(identityId, request = {}) {\n const { anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/followers`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.ListFollowersResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listFollowing(identityId, request = {}) {\n const { anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/following`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.ListFollowingResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listFriends(request = {}) {\n const { anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/friends\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.ListFriendsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listMutualFriends(identityId, request = {}) {\n const { anchor, limit } = request;\n const _queryParams = new URLSearchParams();\n if (anchor != null) {\n _queryParams.append(\"anchor\", anchor);\n }\n if (limit != null) {\n _queryParams.append(\"limit\", limit);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/${identityId}/mutual-friends`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.ListMutualFriendsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async listRecentFollowers(request = {}) {\n const { count, watchIndex } = request;\n const _queryParams = new URLSearchParams();\n if (count != null) {\n _queryParams.append(\"count\", count.toString());\n }\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/recent-followers\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await identity_exports4.ListRecentFollowersResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async ignoreRecentFollower(identityId) {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/identity/identities/self/recent-followers/${identityId}/ignore`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async markDeletion() {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/delete-request\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async unmarkDeletion() {\n const _response = await fetcher({\n url: (0, import_url_join24.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/identity/identities/self/delete-request\"\n ),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n _events;\n get events() {\n return this._events ??= new Events(this.options);\n }\n _links;\n get links() {\n return this._links ??= new Links2(this.options);\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/kv/client/Client.ts\ninit_core();\nvar import_url_join25 = __toESM(require_url_join());\ninit_serialization();\nvar Kv = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns a specific key-value entry by key.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async get(request) {\n const { key, watchIndex, namespaceId } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"key\", key);\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n if (namespaceId != null) {\n _queryParams.append(\"namespace_id\", namespaceId);\n }\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await kv_exports4.GetResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Puts (sets or overwrites) a key-value entry by key.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async put(request) {\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries\"),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await kv_exports4.PutRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Deletes a key-value entry by key.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async delete(request) {\n const { key, namespaceId } = request;\n const _queryParams = new URLSearchParams();\n _queryParams.append(\"key\", key);\n if (namespaceId != null) {\n _queryParams.append(\"namespace_id\", namespaceId);\n }\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries\"),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Gets multiple key-value entries by key(s).\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getBatch(request) {\n const { keys: keys2, watchIndex, namespaceId } = request;\n const _queryParams = new URLSearchParams();\n if (Array.isArray(keys2)) {\n for (const _item of keys2) {\n _queryParams.append(\"keys\", _item);\n }\n } else {\n _queryParams.append(\"keys\", keys2);\n }\n if (watchIndex != null) {\n _queryParams.append(\"watch_index\", watchIndex);\n }\n if (namespaceId != null) {\n _queryParams.append(\"namespace_id\", namespaceId);\n }\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries/batch\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await kv_exports4.GetBatchResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Puts (sets or overwrites) multiple key-value entries by key(s).\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async putBatch(request) {\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries/batch\"),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await kv_exports4.PutBatchRequest.jsonOrThrow(request, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Deletes multiple key-value entries by key(s).\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async deleteBatch(request) {\n const { keys: keys2, namespaceId } = request;\n const _queryParams = new URLSearchParams();\n if (Array.isArray(keys2)) {\n for (const _item of keys2) {\n _queryParams.append(\"keys\", _item);\n }\n } else {\n _queryParams.append(\"keys\", keys2);\n }\n if (namespaceId != null) {\n _queryParams.append(\"namespace_id\", namespaceId);\n }\n const _response = await fetcher({\n url: (0, import_url_join25.default)(this.options.environment ?? RivetEnvironment.Production, \"/kv/entries/batch\"),\n method: \"DELETE\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/module/client/Client.ts\ninit_core();\nvar import_url_join26 = __toESM(require_url_join());\ninit_serialization();\nvar Module = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Makes a request to a module's script.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async call(module2, script, request) {\n const { origin, ..._body } = request;\n const _response = await fetcher({\n url: (0, import_url_join26.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/module/modules/${module2}/scripts/${script}/call`\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n origin\n },\n contentType: \"application/json\",\n body: await module_exports2.FindLobbyRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await module_exports2.CallResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/matchmaker/resources/lobbies/client/Client.ts\ninit_core();\nvar import_url_join27 = __toESM(require_url_join());\ninit_serialization();\nvar Lobbies = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Marks the current lobby as ready to accept connections. Players will not be able to connect to this lobby until the lobby is flagged as ready.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async ready() {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/ready\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * If `is_closed` is `true`, the matchmaker will no longer route players to the lobby. Players can still\n * join using the /join endpoint (this can be disabled by the developer by rejecting all new connections\n * after setting the lobby to closed).\n * Does not shutdown the lobby.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async setClosed(request) {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/closed\"\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.SetLobbyClosedRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async setState(request) {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/state\"\n ),\n method: \"PUT\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.lobbies.setState.Request.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getState(lobbyId) {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n `/matchmaker/lobbies/${lobbyId}/state`\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await matchmaker_exports6.lobbies.getState.Response.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Finds a lobby based on the given criteria.\n * If a lobby is not found and `prevent_auto_create_lobby` is `true`,\n * a new lobby will be created.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async find(request) {\n const { origin, ..._body } = request;\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/find\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader(),\n origin\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.FindLobbyRequest.jsonOrThrow(_body, { unrecognizedObjectKeys: \"strip\" })\n });\n if (_response.ok) {\n return await matchmaker_exports6.FindLobbyResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Joins a specific lobby.\n * This request will use the direct player count configured for the\n * lobby group.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async join(request) {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/join\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.JoinLobbyRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await matchmaker_exports6.JoinLobbyResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Creates a custom lobby.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async create(request) {\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/create\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.CreateLobbyRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return await matchmaker_exports6.CreateLobbyResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Lists all open lobbies.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async list(request = {}) {\n const { includeState } = request;\n const _queryParams = new URLSearchParams();\n if (includeState != null) {\n _queryParams.append(\"include_state\", includeState.toString());\n }\n const _response = await fetcher({\n url: (0, import_url_join27.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/lobbies/list\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n queryParameters: _queryParams\n });\n if (_response.ok) {\n return await matchmaker_exports6.ListLobbiesResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/matchmaker/resources/players/client/Client.ts\ninit_core();\nvar import_url_join28 = __toESM(require_url_join());\ninit_serialization();\nvar Players = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Validates the player token is valid and has not already been consumed then\n * marks the player as connected.\n * # Player Tokens and Reserved Slots\n * Player tokens reserve a spot in the lobby until they expire. This allows for\n * precise matchmaking up to exactly the lobby's player limit, which is\n * important for games with small lobbies and a high influx of players.\n * By calling this endpoint with the player token, the player's spot is marked\n * as connected and will not expire. If this endpoint is never called, the\n * player's token will expire and this spot will be filled by another player.\n * # Anti-Botting\n * Player tokens are only issued by caling `lobbies.join`, calling `lobbies.find`, or\n * from the `GlobalEventMatchmakerLobbyJoin` event.\n * These endpoints have anti-botting measures (i.e. enforcing max player\n * limits, captchas, and detecting bots), so valid player tokens provide some\n * confidence that the player is not a bot.\n * Therefore, it's important to make sure the token is valid by waiting for\n * this endpoint to return OK before allowing the connected socket to do\n * anything else. If this endpoint returns an error, the socket should be\n * disconnected immediately.\n * # How to Transmit the Player Token\n * The client is responsible for acquiring the player token by caling\n * `lobbies.join`, calling `lobbies.find`, or from the `GlobalEventMatchmakerLobbyJoin`\n * event. Beyond that, it's up to the developer how the player token is\n * transmitted to the lobby.\n * If using WebSockets, the player token can be transmitted as a query\n * parameter.\n * Otherwise, the player token will likely be automatically sent by the client\n * once the socket opens. As mentioned above, nothing else should happen until\n * the player token is validated.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async connected(request) {\n const _response = await fetcher({\n url: (0, import_url_join28.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/players/connected\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.PlayerConnectedRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Marks a player as disconnected. # Ghost Players If players are not marked as disconnected, lobbies will result with \"ghost players\" that the matchmaker thinks exist but are no longer connected to the lobby.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async disconnected(request) {\n const _response = await fetcher({\n url: (0, import_url_join28.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/players/disconnected\"\n ),\n method: \"POST\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\",\n body: await matchmaker_exports6.PlayerDisconnectedRequest.jsonOrThrow(request, {\n unrecognizedObjectKeys: \"strip\"\n })\n });\n if (_response.ok) {\n return;\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n /**\n * Gives matchmaker statistics about the players in game.\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async getStatistics() {\n const _response = await fetcher({\n url: (0, import_url_join28.default)(\n this.options.environment ?? RivetEnvironment.Production,\n \"/matchmaker/players/statistics\"\n ),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await matchmaker_exports6.GetStatisticsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/matchmaker/resources/regions/client/Client.ts\ninit_core();\nvar import_url_join29 = __toESM(require_url_join());\ninit_serialization();\nvar Regions = class {\n constructor(options) {\n this.options = options;\n }\n /**\n * Returns a list of regions available to this namespace.\n * Regions are sorted by most optimal to least optimal. The player's IP address\n * is used to calculate the regions' optimality.\n *\n * @throws {Rivet.InternalError}\n * @throws {Rivet.RateLimitError}\n * @throws {Rivet.ForbiddenError}\n * @throws {Rivet.UnauthorizedError}\n * @throws {Rivet.NotFoundError}\n * @throws {Rivet.BadRequestError}\n */\n async list() {\n const _response = await fetcher({\n url: (0, import_url_join29.default)(this.options.environment ?? RivetEnvironment.Production, \"/matchmaker/regions\"),\n method: \"GET\",\n headers: {\n Authorization: await this._getAuthorizationHeader()\n },\n contentType: \"application/json\"\n });\n if (_response.ok) {\n return await matchmaker_exports6.ListRegionsResponse.parseOrThrow(_response.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n });\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 500:\n throw new api_exports.InternalError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 429:\n throw new api_exports.RateLimitError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 403:\n throw new api_exports.ForbiddenError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 408:\n throw new api_exports.UnauthorizedError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 404:\n throw new api_exports.NotFoundError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n case 400:\n throw new api_exports.BadRequestError(\n await ErrorBody.parseOrThrow(_response.error.body, {\n unrecognizedObjectKeys: \"passthrough\",\n allowUnrecognizedUnionMembers: true,\n allowUnrecognizedEnumValues: true\n })\n );\n default:\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.body\n });\n }\n }\n switch (_response.error.reason) {\n case \"non-json\":\n throw new RivetError({\n statusCode: _response.error.statusCode,\n body: _response.error.rawBody\n });\n case \"timeout\":\n throw new RivetTimeoutError();\n case \"unknown\":\n throw new RivetError({\n message: _response.error.errorMessage\n });\n }\n }\n async _getAuthorizationHeader() {\n const bearer = await Supplier.get(this.options.token);\n if (bearer != null) {\n return `Bearer ${bearer}`;\n }\n return void 0;\n }\n};\n\n// src/api/resources/matchmaker/client/Client.ts\nvar Matchmaker2 = class {\n constructor(options) {\n this.options = options;\n }\n _lobbies;\n get lobbies() {\n return this._lobbies ??= new Lobbies(this.options);\n }\n _players;\n get players() {\n return this._players ??= new Players(this.options);\n }\n _regions;\n get regions() {\n return this._regions ??= new Regions(this.options);\n }\n};\n\n// src/Client.ts\nvar RivetClient = class {\n constructor(options) {\n this.options = options;\n }\n _admin;\n get admin() {\n return this._admin ??= new Admin(this.options);\n }\n _cloud;\n get cloud() {\n return this._cloud ??= new Cloud(this.options);\n }\n _group;\n get group() {\n return this._group ??= new Group2(this.options);\n }\n _identity;\n get identity() {\n return this._identity ??= new Identity(this.options);\n }\n _kv;\n get kv() {\n return this._kv ??= new Kv(this.options);\n }\n _module;\n get module() {\n return this._module ??= new Module(this.options);\n }\n _matchmaker;\n get matchmaker() {\n return this._matchmaker ??= new Matchmaker2(this.options);\n }\n};\n","const QuadNode = require('quad-node');\nconst Player = require('./entities/Player');\nconst Asteroid = require('./entities/Asteroid');\nconst Bullet = require('./entities/Bullet');\nconst Planet = require('./entities/Planet');\nconst Wormhole = require('./entities/Wormhole');\nconst config = require('./config/config');\nconst utils = require('./utils');\nconst structures = require('./config/structures');\n\nclass Game {\n\tconstructor() {\n\t\tthis._init();\n\t}\n\n\t_init() {\n\t\t// Create quad tree\n\t\tlet mapRadius = config.mapSize / 2;\n\t\tthis.tree = new QuadNode({\n\t\t\tminx: -mapRadius,\n\t\t\tminy: -mapRadius,\n\t\t\tmaxx: mapRadius,\n\t\t\tmaxy: mapRadius\n\t\t});\n\n\t\t/** @type {Object.} */ this.entities = {};\n\t\t/** @type {Object.} */ this.prunedEntities = {};\n\t\t/** @type {{x:number, y: number, radius: number, multiplier: number}[]} */ this.timeWarps = [];\n\n\t\t/* @type {number} */ this.updateIndex = 0;\n\t}\n\n\treset() {\n\t\tconsole.log('Resetting game');\n\n\t\tthis._init();\n\t}\n\n\tentityForId(id) {\n\t\treturn this.entities[id];\n\t}\n\n\t/**\n\t * Queries for all entities in a given rect. Calls the callback multiple times in order to prevent allocating an\n\t * array each time this is called.\n\t * @param {number} x - Center X position.\n\t * @param {number} y - Center Y position.\n\t * @param {number} width\n\t * @param {number} height\n\t * @param {queryCallback} cb\n\t */\n\tqueryRect(x, y, width, height, cb) {\n\t\tthis.queryMinMax(x - width / 2, x + width / 2, y - height / 2, y + height / 2, cb);\n\t}\n\n\tqueryMinMax(minx, maxx, miny, maxy, cb) {\n\t\t// Create reusable query bound object\n\t\tif (this._queryBound == null) {\n\t\t\tthis._queryBound = {};\n\t\t}\n\n\t\t// Update query bound\n\t\tthis._queryBound.minx = minx;\n\t\tthis._queryBound.maxx = maxx;\n\t\tthis._queryBound.miny = miny;\n\t\tthis._queryBound.maxy = maxy;\n\n\t\t// Query for entities\n\t\tthis.queryBound(this._queryBound, cb);\n\t}\n\n\tqueryCircle(x, y, radius, cb) {\n\t\t// Create reusable query bound object\n\t\tif (this._queryBound == null) {\n\t\t\tthis._queryBound = {};\n\t\t}\n\n\t\t// Update query bound\n\t\tthis._queryBound.minx = x - radius;\n\t\tthis._queryBound.maxx = x + radius;\n\t\tthis._queryBound.miny = y - radius;\n\t\tthis._queryBound.maxy = y + radius;\n\n\t\t// Query for entities\n\t\tthis.queryBound(this._queryBound, entity => {\n\t\t\tif (utils.dist(x, y, entity.x, entity.y) > radius + entity.radius) return;\n\t\t\tcb(entity);\n\t\t});\n\t}\n\n\t/**\n\t * @param {Object} bound\n\t * @param {queryCallback} cb\n\t */\n\tqueryBound(bound, cb) {\n\t\t// Query for entities\n\t\tthis.tree.find(bound, cb);\n\t}\n\n\tupdate(dt) {\n\t\t// Increase update index\n\t\tthis.updateIndex++;\n\n\t\t// Before update\n\t\tfor (let entityId in this.entities) {\n\t\t\tlet entity = this.entities[entityId];\n\t\t\tif (entity.beforeUpdate) entity.beforeUpdate();\n\t\t}\n\n\t\t// Update all of the entities\n\t\tfor (let entityId in this.entities) {\n\t\t\tlet entity = this.entities[entityId];\n\n\t\t\t// Warp dt\n\t\t\tlet wdt = this.warpTime(entity.x, entity.y, entity.radius, dt);\n\n\t\t\t// Update the entity\n\t\t\tentity.update(wdt);\n\n\t\t\t// Update bounds if needed\n\t\t\tif (entity._dirtyBound) {\n\t\t\t\tentity._updateBound();\n\t\t\t\tthis.tree.update(entity);\n\t\t\t}\n\t\t}\n\n\t\t// Remove entities\n\t\tthis._pruneEntities();\n\n\t\t// Handle collisions\n\t\tfor (let entityId in this.entities) {\n\t\t\tlet entity = this.entities[entityId];\n\n\t\t\t// Only check entities that want collisions\n\t\t\tif (!entity.checkCollisions) continue;\n\n\t\t\t// Query the entities\n\t\t\tthis.queryBound(entity.bound, otherEntity => {\n\t\t\t\t// Don't collide with self\n\t\t\t\tif (entity.id === otherEntity.id) return;\n\n\t\t\t\t// Don't collide if destroyed\n\t\t\t\tif (entity.destroyed || otherEntity.destroyed) return;\n\n\t\t\t\t// Check if circles collide, since the query only checks rects\n\t\t\t\tif (!utils.entitiesCollide(entity, otherEntity, false)) return;\n\n\t\t\t\t// Warp dt\n\t\t\t\tlet wdt = this.warpTime(otherEntity.x, otherEntity.y, otherEntity.radius, dt);\n\n\t\t\t\t// Collide event\n\t\t\t\tentity.onCollision(otherEntity, wdt);\n\t\t\t});\n\t\t}\n\n\t\t// Update time warps\n\t\tlet i = 0;\n\t\tfor (let entityId in this.entities) {\n\t\t\tlet entity = this.entities[entityId];\n\t\t\tif (!entity.isWormhole) continue;\n\n\t\t\t// Create or update time warp\n\t\t\tlet timeWarp = this.timeWarps[i];\n\t\t\tif (!timeWarp) {\n\t\t\t\ttimeWarp = {};\n\t\t\t\tthis.timeWarps[i] = timeWarp;\n\t\t\t}\n\n\t\t\t// Update time warp\n\t\t\ttimeWarp.x = entity.x;\n\t\t\ttimeWarp.y = entity.y;\n\t\t\ttimeWarp.radius = entity.radius;\n\t\t\ttimeWarp.multiplier = entity.timeMultiplier;\n\n\t\t\t// Increment index\n\t\t\ti++;\n\t\t}\n\t\tthis.timeWarps.length = i; // Remove extra items\n\n\t\t// Remove entities\n\t\tthis._pruneEntities();\n\t}\n\n\twarpTime(x, y, radius, dt) {\n\t\t// Get time multiplier\n\t\tlet timeMultiplier = 1;\n\t\tfor (let warp of this.timeWarps) {\n\t\t\tif (utils.dist(x, y, warp.x, warp.y) < warp.radius + radius) {\n\t\t\t\ttimeMultiplier *= warp.multiplier;\n\t\t\t}\n\t\t}\n\n\t\t// Warp the dt\n\t\treturn dt * timeMultiplier;\n\t}\n\n\t/**\n\t *\n\t * @param {Entity} entity\n\t */\n\tinsertEntity(entity) {\n\t\t// Make sure entity doesn't already exist\n\t\tif (!!this.entities[entity.id]) throw new Error(`Already has entity for ID ${entity.id}.`);\n\n\t\t// Call init\n\t\tentity.onInit();\n\n\t\t// Update previous value\n\t\tentity.prevX = entity.x;\n\t\tentity.prevY = entity.y;\n\n\t\t// Update the bounds\n\t\tentity._updateBound(true);\n\n\t\t// Add entity\n\t\tthis.entities[entity.id] = entity;\n\n\t\t// Add to render layer\n\t\tif (config.isClient) {\n\t\t\tfor (let layerDepth of entity.renderLayers) {\n\t\t\t\tif (!this.renderLayers[layerDepth]) {\n\t\t\t\t\tthis.renderLayers[layerDepth] = [];\n\t\t\t\t}\n\t\t\t\tthis.renderLayers[layerDepth].push(entity);\n\t\t\t}\n\t\t}\n\n\t\t// Insert into quad tree\n\t\tthis.tree.insert(entity);\n\n\t\t// Call create event\n\t\tentity.onInsert();\n\t}\n\n\t_pruneEntities() {\n\t\t// Remove entities if needed\n\t\tfor (let entityId in this.entities) {\n\t\t\tlet entity = this.entities[entityId];\n\n\t\t\t// Remove the entity\n\t\t\tif (entity.destroyed) {\n\t\t\t\tthis._removeEntity(entity);\n\t\t\t\tthis.prunedEntities[entityId] = entity;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes an entity from the game. To destroy an entity publicly, use the `Entity.destroy` method.\n\t * @param {Entity} entity\n\t */\n\t_removeEntity(entity) {\n\t\t// Validate entity exists and in the map\n\t\tif (entity == null || !this.entities[entity.id])\n\t\t\tthrow new Error(`Entity for ID ${entity.id} does not exist.`);\n\n\t\t// Remove the entity\n\t\tdelete this.entities[entity.id];\n\n\t\t// Remove from render layer\n\t\tif (config.isClient) {\n\t\t\tfor (let layerDepth of entity.renderLayers) {\n\t\t\t\tlet layer = this.renderLayers[layerDepth];\n\t\t\t\tlet index = layer.indexOf(entity);\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\tlayer.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Failed to find entity ${entity.id}'s render layer ${entity.renderLayers}.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remove from tree\n\t\tthis.tree.remove(entity);\n\n\t\t// Remove the entity\n\t\tentity.onRemove();\n\t}\n}\n\n// Set up entity kind map\nlet entityPrototypes = [Asteroid, Bullet, Planet, Wormhole, Player];\nfor (let structure of structures.structures) {\n\tentityPrototypes.push(structure.getPrototype());\n}\nGame.ENTITY_KINDS = {};\nfor (let i = 0; i < entityPrototypes.length; i++) {\n\tlet entityPrototype = entityPrototypes[i];\n\tentityPrototype.KIND = i;\n\tGame.ENTITY_KINDS[i] = entityPrototype;\n}\n\nmodule.exports = Game;\n","const RIVET = require(\"@rivet-gg/api\");\n\nconst Game = require('../Game');\nconst InputHandler = require('./InputHandler');\nconst ExplosionManager = require('./effects/ExplosionManager');\nconst TextPopupManager = require('./effects/TextPopupManager');\nconst StarField = require('./effects/StarField');\nconst Planet = require('../entities/Planet');\nconst Player = require('../entities/Player');\nconst config = require('../config/config');\nconst utils = require('../utils');\nconst weapons = require('../config/weapons');\nconst structures = require('../config/structures');\nconst assets = require('./assets');\nconst resources = require('../config/resources');\nconst settings = require('./settings');\nconst ClipboardJS = require('clipboard');\nconst msgpack = require('msgpack-lite');\nconst Vue = require('vue/dist/vue.js');\nconst VueI18n = require('vue-i18n/dist/vue-i18n.js');\nconst translations = require('./crowdl/translations');\nconst translationsRaw = require('./crowdl/translationsRaw');\nconst languageList = require('./crowdl/languages.json');\nconst upgrades = require('../config/upgrades');\nconst safeAreaInsets = require('safe-area-insets');\n\n// Import components\nconst Resource = require('./views/Resources');\n\nconst NOTIFICATION_LIFESPAN = 1000 * 6;\nconst NOTIFICATION_FADE_LENGTH = 200;\n\nclass GameClient extends Game {\n\t/**\n\t * @returns {?Player}\n\t */\n\tget currentPlayer() {\n\t\treturn this.entities[this.playerId];\n\t}\n\n\t/**\n\t * @returns {?Player}\n\t */\n\tget spectatingPlayer() {\n\t\treturn this.entities[this.spectateId];\n\t}\n\n\tget inGame() {\n\t\treturn !!this.playerId && this.socketOpen;\n\t}\n\n\tget width() {\n\t\treturn this.canvas.width;\n\t}\n\tget height() {\n\t\treturn this.canvas.height;\n\t}\n\tget screenWidth() {\n\t\treturn window.innerWidth;\n\t}\n\tget screenHeight() {\n\t\treturn window.innerHeight;\n\t}\n\n\tget smallUI() {\n\t\treturn this.screenWidth <= 950;\n\t}\n\n\tget inputFocused() {\n\t\treturn document.activeElement instanceof HTMLInputElement;\n\t}\n\n\tget modalShowing() {\n\t\treturn this.showingAlliances || this.showingHelp;\n\t}\n\n\tget buildTipSlot() {\n\t\treturn this.vue.hoveringStructure ? structures.structureForId(this.vue.hoveringStructure).slot : null;\n\t}\n\n\tget averageFPS() {\n\t\treturn this.framesPerSecondHistory.reduce((n, v) => n + v) / this.framesPerSecondHistory.length;\n\t}\n\n\tget viewDistanceMultiplier() {\n\t\tif (this.currentPlayer) {\n\t\t\treturn this.currentPlayer.getPerkMultiplier('viewDistance');\n\t\t} else if (this.spectatingPlayer && this.spectatingPlayer.isPlayer) {\n\t\t\treturn this.spectatingPlayer.getPerkMultiplier('viewDistance');\n\t\t} else {\n\t\t\treturn 1;\n\t\t}\n\t}\n\n\tget normalizedUsername() {\n\t\treturn this.currentPlayer ? this.currentPlayer.username.toLowerCase() : '';\n\t}\n\tget isReee() {\n\t\treturn this.normalizedUsername.startsWith('ree');\n\t}\n\tget isLSD() {\n\t\treturn this.normalizedUsername === 'lsd';\n\t}\n\tget isOopsie() {\n\t\treturn this.normalizedUsername === '#oopsie';\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t/** @type {HTMLCanvasElement} */\n\t\tthis.canvas = document.getElementById('gameCanvas');\n\n\t\t/** @type {CanvasRenderingContext2D} */\n\t\tthis.context = this.canvas.getContext('2d');\n\n\t\t// Pixel density\n\t\tthis.pixelDensity = 1;\n\n\t\t// Viewport position\n\t\tthis.viewportX = 0;\n\t\tthis.viewportY = 0;\n\n\t\t/* @type {Object.} */ this.renderLayers = {};\n\n\t\t/* @type {boolean} */ this.renderingWorld = false;\n\t\t/* @type {boolean} */ this.renderingUI = false;\n\n\t\t/** @type {boolean} */ this.initiated = false;\n\t\t/** @type {?string} */ this.autoJoinLobbyId = null;\n\n\t\t/** @type {number} */ this.ping = 0;\n\t\t/** @type {boolean} */ this.pingStart = null;\n\n\t\t/** @type {number} */ this.kickTimer = 0; // Only increments if on home screen\n\n\t\t/** @type {string} */ this.gameMode = null;\n\n\t\t/** @type {Set} */ this.rewards = new Set((localStorage.getItem('r') || '').split(','));\n\n\t\t/** @type {number} */ this.lastRenderTime = null;\n\t\t/** @type {number[]} */ this.framesPerSecondHistory = [];\n\t\tthis.framesPerSecondHistory.length = 10;\n\t\tthis.framesPerSecondHistory = this.framesPerSecondHistory.map(() => 60);\n\t\t/** @type {number} */ this.framesPerSecond = 60;\n\n\t\t/** @type {number} */ this.killVignetteProgress = 0.0;\n\t\t/** @type {number} */ this.killVignetteProgressLength = 1.0;\n\n\t\t/** @type {number} */ this.score = 0;\n\t\t/** @type {number[]} */ this.resources = [0, 0, 0];\n\t\t/** @type {Object.} */ this.structureCounts = {}; // Slot indexes mapped to counts\n\n\t\t/** @type {number} */ this.clientId = null;\n\n\t\t/** @type {?number} */ this.playerId = null;\n\n\t\t/** @type {?number} */ this.spectateId = null;\n\n\t\t/** @type {Object[]} */ this.leaderboardData = [];\n\n\t\t/** @type {number} */ this.playerRank = -1;\n\t\t/** @type {Array} */ this.playerLeaderboardItem = null;\n\n\t\t/** @type {number[][]} */ this.ownedWeapons = [];\n\n\t\t/** @type {number[]} */ this.ownedStructures = [];\n\n\t\t/** @type {Array} */ this.allianceList = [];\n\t\t/** @type {Array} */ this.allianceData = null;\n\n\t\t/** @type {boolean} */ this.showingAlliances = false;\n\t\t/** @type {boolean} */ this.showingHelp = false;\n\n\t\t/** @type {boolean} */ this.showingChatBox = false;\n\n\t\t/** @type {Object.} */ this.chatMessages = {}; // {: [, }\n\t\t/** @type {number} */ this.chatShowTime = 8.0;\n\n\t\t/** @type {?number} */ this.lastNotificationDate = null;\n\t\t/** @type {?number} */ this.lastNotificationText = null;\n\n\t\t/** @type {number} */ this.showControlsTimer = 10;\n\t\t/** @type {number} */ this.heartBeatTimer = 0;\n\n\t\t/** @type {?number} */ this.deathPosX = null;\n\t\t/** @type {?number} */ this.deathPosY = null;\n\n\t\t/** @type {boolean} */ this.demolishConfirm = false;\n\n\t\tthis.recognition = null;\n\n\t\t// Init UI\n\t\tthis.initUI();\n\n\t\t// Init speech recognition\n\t\tthis.initRecognition();\n\n\t\t// Init input\n\t\tthis.initInput();\n\n\t\t// Update game state\n\t\tthis.updateGameState();\n\n\t\t// Init effects\n\t\tthis.initEffects();\n\n\t\t// Start render loop\n\t\tthis.render();\n\t}\n\n\treset() {\n\t\tsuper.reset();\n\n\t\tif (this.ws) {\n\t\t\tthis.ws.onopen = this.ws.onclose = this.ws.onmessage = null;\n\t\t\tthis.ws.close();\n\t\t}\n\t\tthis.ws = null;\n\n\t\tthis.initiated = false;\n\t\tthis.ping = 0;\n\t\tthis.pingStart = null;\n\t\tthis.kickTimer = this.vue.kickTimer = 0;\n\t\tthis.gameMode = this.vue.gameMode = null;\n\t\tthis.region = this.vue.region = null;\n\t\tthis.lastRenderTime = null;\n\t\tthis.killVignetteProgress = 0.0;\n\t\tthis.killVignetteProgressLength = 1.0;\n\t\tthis.score = this.vue.score = 0;\n\t\tthis.resources = this.vue.resources = [0, 0, 0];\n\t\tthis.structureCounts = this.vue.structureCounts = {}; // Slot indexes mapped to counts\n\t\tthis.clientId = null;\n\t\tthis.playerId = null;\n\t\tthis.spectateId = null;\n\t\tthis.leaderboardData = [];\n\t\tthis.playerRank = -1;\n\t\tthis.playerLeaderboardItem = null;\n\t\tthis.ownedWeapons = [];\n\t\tthis.ownedStructures = [];\n\t\tthis.allianceList = [];\n\t\tthis.allianceData = null;\n\t\tthis.showingAlliances = false;\n\t\tthis.showingHelp = false;\n\t\tthis.showingChatBox = false;\n\t\tthis.chatMessages = {}; // {: [, }\n\t\tthis.chatShowTime = 8.0;\n\t\tthis.lastNotificationDate = null;\n\t\tthis.lastNotificationText = null;\n\t\tthis.showControlsTimer = 10;\n\t\tthis.heartBeatTimer = 0;\n\t\tthis.deathPosX = null;\n\t\tthis.deathPosY = null;\n\t\tthis.demolishConfirm = false;\n\t\tthis.vue.selectedWeaponIndex = -1;\n\t\tthis.vue.ownedWeaponIndex = 0;\n\t\tthis.vue.weaponList = [];\n\t\tthis.vue.structureList = [];\n\t\tthis.vue.upgradeOptions = null;\n\t\tthis.vue.hoveringPerk = null;\n\t\tthis.vue.leaderboardItems = [];\n\t\tthis.vue.isLanded = false;\n\t\tthis.vue.onPlanet = false;\n\t\tthis.vue.showingBuildGroup = null;\n\t}\n\n\tasync start() {\n\t\tconsole.log('Starting game');\n\n\t\t/** @type {RIVET.RivetClient} */ this.rivet = new RIVET.RivetClient({\n\t\t\tenvironment: process.env.RIVET_API_ENDPOINT,\n\t\t\ttoken: process.env.RIVET_TOKEN\n\t\t});\n\n\t\t// Fetch recommended regions\n\t\tthis.rivet.matchmaker.regions.list({}).then(res => {\n\t\t\tthis.vue.regions = res.regions.map(x => ({ id: x.regionId, title: x.regionId }));\n\t\t});\n\n\t\t// Join lobby\n\t\tthis.findLobby(this.autoJoinLobbyId);\n\t\tthis.autoJoinLobbyId = null;\n\t}\n\n\tasync findLobby(lobbyId = null, captcha = null) {\n\t\tdocument.querySelector('#hCaptcha').style.display = 'none';\n\n\t\tlet gameModes = [settings.getString('gameMode', 'classic')];\n\t\tlet regions = settings.has('region') ? [settings.getString('region')] : null;\n\n\t\t\tlet lobby = null;\n\t\t\ttry {\n\t\t\t\tif (lobbyId) {\n\t\t\t\t\tconsole.log('Joining lobby', lobbyId);\n\n\t\t\t\t\tlet res = await this.rivet.matchmaker.lobbies.join({\n\t\t\t\t\t\tlobbyId,\n\t\t\t\t\t\tcaptcha\n\t\t\t\t\t});\n\t\t\t\t\tlobby = res.lobby;\n\n\t\t\t\t\t// TODO: Handle lobby not found\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('Finding lobby', { gameModes, regions });\n\n\t\t\t\t\tlet res = await this.rivet.matchmaker.lobbies.find({\n\t\t\t\t\t\tgameModes,\n\t\t\t\t\t\tregions,\n\t\t\t\t\t\tcaptcha\n\t\t\t\t\t});\n\t\t\t\t\tlobby = res.lobby;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t// Request captcha on error\n\t\t\t\tif (err.code == 'CAPTCHA_REQUIRED') {\n\t\t\t\t\tdocument.querySelector('#hCaptcha').style.display = 'flex';\n\n\t\t\t\t\twindow.hcaptcha.render('hCaptcha', {\n\t\t\t\t\t\tsitekey: err.metadata.hcaptcha.site_id,\n\t\t\t\t\t\tcallback: clientResponse => {\n\t\t\t\t\t\t\tthis.findLobby(lobbyId, {\n\t\t\t\t\t\t\t\thcaptcha: {\n\t\t\t\t\t\t\t\t\tclientResponse\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('Failed to find lobby:', err);\n\t\t\t\t\talert(`Failed to find lobby: ${err.code}`);\n\t\t\t\t\tlocation.reload();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!lobby) throw 'Missing lobby';\n\t\t\tconsole.log('Found lobby', lobby);\n\n\t\t\tthis.connectSocket(lobby);\n\t}\n\n\tconnectSocket(lobby) {\n\t\tthis.reset();\n\n\t\tthis.lobby = lobby;\n\t\tthis.region = this.vue.region = lobby.region.regionId;\n\n\t\tlet port = lobby.ports['default'];\n\t\tlet wsProtocol = port.isTls ? 'wss:' : 'ws:';\n\t\tlet url = `${wsProtocol}//${port.hostname}:${port.port}/?token=${lobby.player.token}`;\n\t\tconsole.log('Connecting', { lobby, url });\n\n\t\tthis.ws = new WebSocket(url);\n\t\tthis.ws.binaryType = 'arraybuffer';\n\t\tthis.socketOpen = false; // True if the socket is open\n\t\tthis.socketClosed = false; // True if the socket has been closed since created\n\n\t\tthis.ws.onopen = () => {\n\t\t\t// Update state\n\t\t\tthis.socketOpen = true;\n\t\t\tthis.updateGameState();\n\t\t};\n\t\tthis.ws.onclose = () => {\n\t\t\t// Update state\n\t\t\tthis.socketOpen = false;\n\t\t\tthis.socketClosed = true;\n\t\t\tthis.updateGameState();\n\n\t\t\t// Move ad to disconnect screen\n\t\t\tconst ad = document.getElementById('microgravity-io_300x250');\n\t\t\tif (ad) {\n\t\t\t\tdocument.getElementById('disconnectScreen').appendChild(ad);\n\t\t\t\tad.style.marginTop = '20px';\n\t\t\t\tsetTimeout(() => window.refreshAd(), 200); // Refresh ad after moved\n\n\t\t\t\t// Refresh the ad at interval\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\twindow.refreshAd();\n\t\t\t\t}, 2 * 60 * 1000); // Refresh every 2 minutes\n\t\t\t}\n\t\t};\n\t\tthis.ws.onerror = e => console.log('Socket error:', e);\n\n\t\tthis.ws.onmessage = e => {\n\t\t\t// Decode data\n\t\t\tlet binaryData = new Uint8Array(e.data);\n\t\t\tlet [type, data] = msgpack.decode(binaryData);\n\n\t\t\tif (localStorage.logMessages) {\n\t\t\t\tconsole.log(type, JSON.stringify(data));\n\t\t\t}\n\n\t\t\t// Call event\n\t\t\tswitch (type) {\n\t\t\t\tcase config.serverMessages.PRE_INIT:\n\t\t\t\t\tthis.onPreInit(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.INIT:\n\t\t\t\t\tthis.onInit(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.UPDATE:\n\t\t\t\t\tthis.onUpdate(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.LEADERBOARD:\n\t\t\t\t\tthis.onLeaderboard(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.MINIMAP:\n\t\t\t\t\tthis.onMinimap(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.WEAPONS:\n\t\t\t\t\tthis.onWeapons(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.STRUCTURES:\n\t\t\t\t\tthis.onStructures(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.TEXT_POPUP:\n\t\t\t\t\tthis.onTextPopup(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.MESSAGE:\n\t\t\t\t\tthis.onMessage(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.PING:\n\t\t\t\t\tthis.onPing(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.NOTIFICATION:\n\t\t\t\t\tthis.onNotification(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.ALLIANCE_LIST:\n\t\t\t\t\tthis.onAllianceList(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.ALLIANCE_DATA:\n\t\t\t\t\tthis.onAllianceData(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.ALLIANCE_JOIN_REQUEST:\n\t\t\t\t\tthis.onAllianceJoinRequest(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.RESOURCES:\n\t\t\t\t\tthis.onResources(data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase config.serverMessages.UPGRADE_OPTIONS:\n\t\t\t\t\tthis.onUpgradeOptions(data);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown message type ${type}.`);\n\t\t\t}\n\t\t};\n\t}\n\n\tinitUI() {\n\t\t// Find default locale by searching the available languages until one is found that's in the list\n\t\tlet languageOptions = navigator.languages ? navigator.languages : [navigator.language]; // Fallback to default language\n\t\tlet defaultLocale = 'en';\n\t\tconsole.log('langaugeOptions', languageOptions, 'translations', translations);\n\t\tfor (let lang of languageOptions) {\n\t\t\tlet splitLang = lang.split('-')[0]; // For languages like \"ru-RU\", this will split to \"ru\"\n\t\t\tif (translations[lang]) {\n\t\t\t\tdefaultLocale = lang;\n\t\t\t\tbreak;\n\t\t\t} else if (translations[splitLang]) {\n\t\t\t\tdefaultLocale = splitLang;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Add dev tools and performance monitoring\n\t\tif (!config.isProd) {\n\t\t\tVue.config.devtools = true;\n\t\t\tVue.config.performance = true;\n\t\t}\n\n\t\t// Init translations\n\t\tVue.use(VueI18n);\n\t\tthis.i18n = new VueI18n({\n\t\t\tlocale: defaultLocale,\n\t\t\tfallbackLocale: 'en',\n\t\t\tmessages: translations\n\t\t});\n\t\tutils.i18n = this.i18n;\n\n\t\t// Init Vue\n\t\tlet game = this;\n\t\tthis.vue = new Vue({\n\t\t\tel: '#ui',\n\n\t\t\tdata: {\n\t\t\t\t// Utils\n\t\t\t\tgame: game,\n\t\t\t\tassets: assets,\n\t\t\t\tutils: utils,\n\t\t\t\tconfig: config,\n\t\t\t\ti18n: this.i18n,\n\t\t\t\tfriends: this.friends,\n\n\t\t\t\t// Languages\n\t\t\t\tlanguages: translationsRaw,\n\n\t\t\t\t// Main menu\n\t\t\t\tlobbyLinkJustCopied: false,\n\t\t\t\tshowConsent: localStorage.consentedToPrivacyPolicy !== 'true',\n\t\t\t\tkickTimer: 0,\n\t\t\t\tusingTouch: false,\n\t\t\t\trewards: new Array(game.rewards.values()),\n\n\t\t\t\t// Matchmaking\n\t\t\t\tgameMode: '',\n\t\t\t\tregion: '',\n\t\t\t\tgameModes: [\n\t\t\t\t\t{ id: 'classic', title: 'Classic' },\n\t\t\t\t\t{ id: 'aliens', title: 'Aliens' }\n\t\t\t\t],\n\t\t\t\tregions: [],\n\n\t\t\t\t// Ships\n\t\t\t\tselectedShip: settings.getString('selectedShip', config.shipFills[0].value),\n\t\t\t\tselectedFill: settings.getString('selectedFill', config.shipFills[0].value),\n\n\t\t\t\t// Game state\n\t\t\t\tscore: 0,\n\t\t\t\tresources: [0, 0, 0],\n\t\t\t\tstructureCounts: {},\n\n\t\t\t\tselectedWeaponIndex: -1,\n\t\t\t\townedWeaponIndex: 0,\n\t\t\t\tweaponList: [],\n\n\t\t\t\tstructureList: [],\n\t\t\t\thoveringStructure: null,\n\n\t\t\t\tupgradeOptions: null,\n\t\t\t\thoveringPerk: null,\n\n\t\t\t\tleaderboardItems: [],\n\n\t\t\t\tactiveMenu: config.activeMenu.INFO,\n\n\t\t\t\tisLanded: false,\n\t\t\t\tonPlanet: false,\n\n\t\t\t\tspeechRecording: false,\n\n\t\t\t\t// Building\n\t\t\t\tbuildGroups: structures.groups,\n\t\t\t\tshowingBuildGroup: null,\n\t\t\t},\n\n\t\t\tmethods: {\n\t\t\t\t// Main menu\n\t\t\t\tcopyLobbyLink() {\n\t\t\t\t\t// Animate copied\n\t\t\t\t\tthis.lobbyLinkJustCopied = true;\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.lobbyLinkJustCopied = false;\n\t\t\t\t\t}, 1000);\n\t\t\t\t},\n\t\t\t\tjoinGame() {\n\t\t\t\t\t// Hide consent\n\t\t\t\t\tlocalStorage.consentedToPrivacyPolicy = 'true';\n\t\t\t\t\tthis.showConsent = false;\n\n\t\t\t\t\t// Send join\n\t\t\t\t\tgame.sendJoin();\n\t\t\t\t},\n\t\t\t\tchangeActiveMenu(value) {\n\t\t\t\t\tthis.activeMenu = value;\n\t\t\t\t},\n\n\t\t\t\t// Build\n\t\t\t\tpurchaseStructure(structureId) {\n\t\t\t\t\tgame.sendPurchaseStructure(structures.structureIndexForId(structureId));\n\t\t\t\t},\n\t\t\t\tbuildMouseEnter(structureId) {\n\t\t\t\t\tthis.hoveringStructure = structureId;\n\t\t\t\t},\n\t\t\t\tbuildMouseLeave() {\n\t\t\t\t\tthis.hoveringStructure = null;\n\t\t\t\t},\n\n\t\t\t\t// Upgrades\n\t\t\t\tchooseUpgrade(index) {\n\t\t\t\t\tgame.sendChooseUpgrade(index);\n\t\t\t\t\tthis.hoveringStructure = null;\n\t\t\t\t\tthis.hoveringPerk = null;\n\t\t\t\t},\n\t\t\t\tupgradeMouseEnter(index) {\n\t\t\t\t\tlet option = this.upgradeOptionsData[index];\n\t\t\t\t\tif (option.structure) {\n\t\t\t\t\t\tthis.hoveringStructure = option.structure.id;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.hoveringPerk = upgrades.perks.indexOf(option);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupgradeMouseLeave() {\n\t\t\t\t\tthis.hoveringStructure = null;\n\t\t\t\t\tthis.hoveringPerk = null;\n\t\t\t\t},\n\n\t\t\t\t// Weapons\n\t\t\t\tchangeWeapon(delta) {\n\t\t\t\t\tgame.switchWeaponBy(delta);\n\t\t\t\t},\n\n\t\t\t\t// Utils\n\t\t\t\tlanguageData(id) {\n\t\t\t\t\treturn languageList[languageList.findIndex(l => l.id === id)];\n\t\t\t\t},\n\t\t\t\t// submitCheatCode(cheatCode) {\n\t\t\t\t// console.log(\"Submitting\", cheatCode);\n\t\t\t\t// }\n\n\t\t\t\t// Ships\n\t\t\t\tisShipLocked(ship) {\n\t\t\t\t\treturn ship.reward != null && this.rewards.indexOf(ship.reward) === -1;\n\t\t\t\t},\n\t\t\t\tselectShip(ship) {\n\t\t\t\t\tif (this.isShipLocked(ship)) return;\n\t\t\t\t\tthis.selectedShip = ship.id;\n\t\t\t\t},\n\n\t\t\t\t// Reward\n\t\t\t\tclickedSocial(social) {\n\t\t\t\t\t// Get the social URL\n\t\t\t\t\tlet socialUrl;\n\t\t\t\t\tswitch (social) {\n\t\t\t\t\t\tcase 'twitter':\n\t\t\t\t\t\t\tsocialUrl = 'https://twitter.com/RivetOfficial';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'twitch':\n\t\t\t\t\t\t\tsocialUrl = 'https://www.twitch.tv/RivetOfficial';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'instagram':\n\t\t\t\t\t\t\tsocialUrl = 'https://www.instagram.com/RivetOfficial/';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'discord':\n\t\t\t\t\t\t\tsocialUrl = 'https://discord.gg/p4m7RuW';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new Error(`Unknown social ${social}.`);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Open the URL\n\t\t\t\t\twindow.open(socialUrl, '_blank');\n\n\t\t\t\t\t// Give reward\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tgame.addReward(social);\n\t\t\t\t\t}, 5000);\n\t\t\t\t},\n\t\t\t\thasReward(reward) {\n\t\t\t\t\treturn this.rewards.indexOf(reward) !== -1;\n\t\t\t\t},\n\n\n\t\t\t\tselectGameMode(id) {\n\t\t\t\t\tsettings.setString('gameMode', id);\n\t\t\t\t\tgame.findLobby();\n\t\t\t\t},\n\t\t\t\tselectRegion(id) {\n\t\t\t\t\tsettings.setString('region', id);\n\t\t\t\t\tgame.findLobby();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcomputed: {\n\t\t\t\t// General\n\t\t\t\ttimeToKick() {\n\t\t\t\t\treturn config.kickTimeout - this.kickTimer;\n\t\t\t\t},\n\n\t\t\t\t// Ships\n\t\t\t\tselectableShips() {\n\t\t\t\t\treturn config.ships.filter(s => !s.special);\n\t\t\t\t},\n\n\t\t\t\t// Rank\n\t\t\t\trank() {\n\t\t\t\t\treturn Math.floor(utils.rankForScore(this.score));\n\t\t\t\t},\n\t\t\t\trankProgress() {\n\t\t\t\t\treturn utils.rankForScore(this.score) % 1;\n\t\t\t\t},\n\n\t\t\t\t// Building\n\t\t\t\tbuildableStructures() {\n\t\t\t\t\treturn this.structureList.filter(\n\t\t\t\t\t\ts => (this.isLanded && s.planetItem) || (!this.onPlanet && !s.planetItem)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\thoveringStructureData() {\n\t\t\t\t\treturn structures.structureForId(this.hoveringStructure);\n\t\t\t\t},\n\n\t\t\t\t// Upgrades\n\t\t\t\tupgradeOptionsData() {\n\t\t\t\t\treturn this.upgradeOptions != null ? upgrades.upgrades[this.upgradeOptions] : null;\n\t\t\t\t},\n\t\t\t\thoveringPerkData() {\n\t\t\t\t\treturn this.hoveringPerk != null ? upgrades.perks[this.hoveringPerk] : null;\n\t\t\t\t},\n\t\t\t},\n\n\t\t\twatch: {\n\t\t\t\tbuildableStructures(val) {\n\t\t\t\t\t// Remove the hovering structure if the structure no longer is buildable (e.g. goes in to a planet\n\t\t\t\t\t// while hovering a space item)\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.hoveringStructure &&\n\t\t\t\t\t\tval.findIndex(s => s.id === this.hoveringStructure) === -1\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.hoveringStructure = null;\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// Settings\n\t\t\t\tselectedShip(val) {\n\t\t\t\t\tlocalStorage.setItem('selectedShip', val);\n\t\t\t\t},\n\t\t\t\tselectedFill(val) {\n\t\t\t\t\tlocalStorage.setItem('selectedFill', val);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ti18n: this.i18n\n\t\t});\n\n\t\t// Handle resize\n\t\tthis.resize();\n\t\taddEventListener('resize', () => this.resize());\n\t\tdocument.addEventListener('nativeResolutionChange', () => this.resize()); // Resize on change resolution\n\n\t\t// Handle leave on prod\n\t\tif (config.isProd)\n\t\t\twindow.onbeforeunload = () => 'Are you sure you want to leave? You will lose all progress.';\n\n\t\t// Share link button\n\t\tnew ClipboardJS('#shareLobby', {\n\t\t\ttext: () => `${location.origin}/?l=${lobby.lobbyId}`\n\t\t});\n\n\t\t// Update ad reward panel HTML\n\t\tlet adBlockerReward = document.getElementById('pleaseDisableAdBlocker');\n\t\tif (adBlockerReward) {\n\t\t\tadBlockerReward.innerHTML = adBlockerReward.innerHTML\n\t\t\t\t.replace('\\n', '
')\n\t\t\t\t.replace(\n\t\t\t\t\t'{0}',\n\t\t\t\t\tutils.generateResourcesHTML([\n\t\t\t\t\t\tconfig.adBlockReward,\n\t\t\t\t\t\tconfig.adBlockReward,\n\t\t\t\t\t\tconfig.adBlockReward\n\t\t\t\t\t])\n\t\t\t\t);\n\t\t}\n\n\t\t// Update ad blocker\n\t\tlet intervalId = setInterval(() => {\n\t\t\tif (document.getElementById('pleaseDisableAdBlocker')) {\n\t\t\t\tthis.removeReward('adblock');\n\t\t\t\t// document.getElementById(\"moneyMakerSquare\").style.border = \"6px solid rgb(200, 0, 0)\";\n\t\t\t} else {\n\t\t\t\tthis.addReward('adblock');\n\t\t\t\t// document.getElementById(\"moneyMakerSquare\").style.border = \"none\";\n\t\t\t\tclearInterval(intervalId);\n\t\t\t}\n\t\t}, 250);\n\n\t\t/* Settings */\n\t\t// Hook up checkboxes\n\t\tfor (let settingId in settings.settings) {\n\t\t\t// Get the element\n\t\t\tlet checkbox = document.getElementById(`${settingId}Setting`);\n\n\t\t\t// Set the default value\n\t\t\tcheckbox.checked = settings[settingId];\n\n\t\t\t// Add change callback\n\t\t\tcheckbox.addEventListener('change', ev => {\n\t\t\t\tsettings[settingId] = ev.target.checked;\n\t\t\t});\n\t\t}\n\n\t\t/* Alliances */\n\t\tdocument\n\t\t\t.getElementById('showAllianceButton')\n\t\t\t.addEventListener('click', () => this.toggleAlliances(true));\n\t\tdocument\n\t\t\t.getElementById('dismissAlliances')\n\t\t\t.addEventListener('click', () => this.toggleAlliances(false));\n\t\tdocument.getElementById('createAllianceButton').addEventListener('click', () => {\n\t\t\tlet nameInput = document.getElementById('allianceNameInput');\n\n\t\t\tlet name = nameInput.value;\n\t\t\tthis.sendCreateAlliance(name);\n\t\t\tnameInput.value = '';\n\t\t});\n\t\tdocument.getElementById('leaveAllianceButton').addEventListener('click', () => {\n\t\t\tthis.sendLeaveAlliance();\n\t\t});\n\n\t\t/* Alliance Join Requests */\n\t\tdocument\n\t\t\t.getElementById('acceptJoinRequestButton')\n\t\t\t.addEventListener('click', () => this.sendResolveJoinRequest(true));\n\t\tdocument\n\t\t\t.getElementById('denyJoinRequestButton')\n\t\t\t.addEventListener('click', () => this.sendResolveJoinRequest(false));\n\n\t\t/* Chat */\n\t\t// Chat box\n\t\tlet chatBox = document.getElementById('chatBox');\n\t\tchatBox.addEventListener('blur', () => {\n\t\t\tthis.toggleChatBox(false);\n\t\t});\n\t\tchatBox.addEventListener('keypress', e => {\n\t\t\tif (!this.showingChatBox) return;\n\n\t\t\tif (e.key === 'Enter' || e.which === 13) {\n\t\t\t\t// Don't type anything\n\t\t\t\te.preventDefault();\n\n\t\t\t\t// Hide the box\n\t\t\t\tlet message = chatBox.value.trim();\n\t\t\t\tthis.toggleChatBox(false);\n\n\t\t\t\t// Send message if has a valid length\n\t\t\t\tif (message.length === 0) return;\n\t\t\t\tthis.sendMessage(message);\n\t\t\t}\n\t\t});\n\n\t\t// Hide chat box\n\t\tthis.toggleChatBox(false);\n\n\t\t// Buttons\n\t\tdocument.getElementById('showChatButton').addEventListener('click', () => this.toggleChatBox(true));\n\t\tdocument.getElementById('showHelpButton').addEventListener('click', () => this.toggleHelp(true));\n\t\tdocument.getElementById('dismissHelp').addEventListener('click', () => this.toggleHelp(false));\n\n\t\t/* Data */\n\t\t// Set default name\n\t\t// let username = localStorage.getItem('username');\n\t\t// let usernameInput = document.getElementById('usernameField');\n\t\t// usernameInput.value = username ? username : utils.generateUsername();\n\n\t\t/* Mobile */ // See https://web.archive.org/web/20151103001838/http://www.luster.io/blog/9-29-14-mobile-web-checklist.html\n\t\t// Add basic support\n\t\tdocument.addEventListener('gesturestart', e => e.preventDefault()); // Prevent zooming (https://stackoverflow.com/a/39711930/2016800)\n\t\tdocument.addEventListener('touchstart', () => this.setUsingTouch(true), true); // Enable `:active` in CSS (https://css-tricks.com/snippets/css/remove-gray-highlight-when-tapping-links-in-mobile-safari/)\n\n\t\t// Bind touch events to input\n\t\tfor (let element of document.querySelectorAll('input[type=text]')) {\n\t\t\telement.addEventListener(\n\t\t\t\t'touchstart',\n\t\t\t\tev => {\n\t\t\t\t\t// Prevent default actions\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\tev.stopPropagation();\n\n\t\t\t\t\t// Get input\n\t\t\t\t\telement.value = prompt(element.dataset.promptTitle, element.value);\n\t\t\t\t},\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\t// Add joysticks\n\t\tthis.touchTriggerThreshold = 50;\n\t\tthis.touchControlRadius = 60;\n\t\tthis.usingTouch = false;\n\t\tthis.controllingTouch = {\n\t\t\tid: -1,\n\t\t\tstartX: 0,\n\t\t\tstartY: 0,\n\t\t\tcurrentX: 0,\n\t\t\tcurrentY: 0\n\t\t};\n\t\tthis.attackingTouch = {\n\t\t\tid: -1,\n\t\t\tstartX: 0,\n\t\t\tstartY: 0,\n\t\t\tcurrentX: 0,\n\t\t\tcurrentY: 0\n\t\t};\n\t\tthis.canvas.addEventListener('touchstart', e => this.canvasTouchStart(e), false);\n\t\tthis.canvas.addEventListener('touchmove', e => this.canvasTouchMove(e), false);\n\t\tthis.canvas.addEventListener('touchend', e => this.canvasTouchEnd(e), false);\n\t\tthis.canvas.addEventListener('touchcancel', e => this.canvasTouchEnd(e), false);\n\t\tthis.canvas.addEventListener('touchleave', e => this.canvasTouchEnd(e), false);\n\t}\n\n\tinitRecognition() {\n\t\tif ('webkitSpeechRecognition' in window) {\n\t\t\tthis.recognition = new webkitSpeechRecognition();\n\t\t\tthis.recognition.continuous = true;\n\t\t\tthis.recognition.interimResults = false;\n\t\t\tthis.recognition.lang = 'en-US';\n\t\t\tthis.recognition.onresult = ev => {\n\t\t\t\tconst transcript = ev.results[0][0].transcript;\n\t\t\t\tthis.sendMessage(transcript);\n\t\t\t\tthis.vue.speechRecording = false;\n\t\t\t};\n\t\t\tthis.recognition.onend = () => {\n\t\t\t\tthis.vue.speechRecording = false;\n\t\t\t};\n\t\t\tthis.recognition.onerror = ev => {\n\t\t\t\tconsole.warn('Speech recognition error:', ev);\n\t\t\t\tthis.vue.speechRecording = false;\n\t\t\t\tthis.recognition.stop();\n\t\t\t};\n\t\t}\n\t}\n\n\tsendPing(pingValidation) {\n\t\tthis.send(config.clientMessages.PING, pingValidation);\n\t}\n\n\tsendCreateAlliance(name) {\n\t\tname = utils.cleanString(name.toUpperCase());\n\t\tthis.send(config.clientMessages.CREATE_ALLIANCE, name);\n\t}\n\n\tsendLeaveAlliance() {\n\t\tthis.send(config.clientMessages.LEAVE_ALLIANCE, null);\n\t}\n\n\tsendJoinAlliance(id) {\n\t\tthis.send(config.clientMessages.JOIN_ALLIANCE, id);\n\t}\n\n\tsendKickMember(id) {\n\t\tthis.send(config.clientMessages.KICK_MEMBER, id);\n\t}\n\n\tsendResolveJoinRequest(accept) {\n\t\tthis.send(config.clientMessages.RESOLVE_JOIN_REQUEST, accept);\n\t}\n\n\tsendStructureAction(action, data) {\n\t\tthis.send(config.clientMessages.STRUCTURE_ACTION, [action, data]);\n\t}\n\n\tinitInput() {\n\t\t// Input state\n\t\tthis.serverInputMoveDir = 0;\n\t\tthis.serverInputMoveSpeed = 0;\n\t\tthis.serverInputRelativeMoveDir = false;\n\t\tthis.serverInputTargetRot = 0;\n\t\tthis.serverInputFiring = false;\n\t\tthis.serverInputSprinting = false;\n\n\t\t// Prevent right click\n\t\tdocument.addEventListener('contextmenu', e => e.preventDefault());\n\n\t\t// Update mouse position and state\n\t\tthis.mouseX = 0;\n\t\tthis.mouseY = 0;\n\t\tthis.leftClick = false;\n\t\tthis.middleClick = false;\n\t\tthis.rightClick = false;\n\t\tdocument.addEventListener('mousemove', e => {\n\t\t\tthis.mouseX = e.clientX;\n\t\t\tthis.mouseY = e.clientY;\n\t\t});\n\t\tthis.canvas.addEventListener('mousedown', e => {\n\t\t\tif (e.button === 0) {\n\t\t\t\tthis.leftClick = true;\n\t\t\t} else if (e.button === 1) {\n\t\t\t\tthis.middleClick = true;\n\t\t\t} else if (e.button === 2) {\n\t\t\t\tthis.rightClick = true;\n\t\t\t}\n\t\t});\n\t\tdocument.addEventListener('mouseup', e => {\n\t\t\t// Even is on document so if mouse is moved out of element and released, it still gets the event\n\t\t\tif (e.button === 0) {\n\t\t\t\tthis.leftClick = false;\n\t\t\t} else if (e.button === 1) {\n\t\t\t\tthis.middleClick = false;\n\t\t\t} else if (e.button === 2) {\n\t\t\t\tthis.rightClick = false;\n\t\t\t}\n\t\t});\n\n\t\t// Scroll weapons\n\t\tdocument.addEventListener('mousewheel', e => this.switchWeaponBy(Math.sign(e.wheelDelta)));\n\t\tInputHandler.subscribe(['q'], () => !this.inputFocused && this.switchWeaponBy(-1));\n\t\tInputHandler.subscribe(['e'], () => !this.inputFocused && this.switchWeaponBy(1));\n\n\t\t// Toggle debug layer\n\t\tif (!config.isProd) {\n\t\t\tInputHandler.subscribe(['`'], () => {\n\t\t\t\tif (this.inputFocused) return;\n\t\t\t\tconfig.debugLayer = !config.debugLayer;\n\t\t\t});\n\t\t}\n\n\t\t// Enter chat box\n\t\tInputHandler.subscribe(['t'], e => {\n\t\t\tif (this.inputFocused) return;\n\t\t\tthis.toggleChatBox(true);\n\t\t\te.preventDefault(); // Don't type in chat box\n\t\t});\n\t\tInputHandler.subscribe(['/'], e => {\n\t\t\tif (this.inputFocused) return;\n\t\t\tthis.toggleChatBox(true, '/');\n\t\t\te.preventDefault(); // Don't type in chat box\n\t\t});\n\t\tInputHandler.subscribe(['escape'], e => {\n\t\t\tthis.toggleChatBox(false);\n\t\t});\n\n\t\t// Join game\n\t\tInputHandler.subscribe(['enter'], e => {\n\t\t\tif (this.inputFocused) return;\n\t\t\tif (this.inGame) {\n\t\t\t\tthis.toggleChatBox(true);\n\t\t\t\te.preventDefault(); // Don't type in chat box\n\t\t\t} else {\n\t\t\t\tthis.sendJoin();\n\t\t\t}\n\t\t});\n\n\t\t// Toggle alliance\n\t\tInputHandler.subscribe(['r'], () => {\n\t\t\tif (this.inputFocused) return;\n\t\t\tif (!this.inGame) return;\n\t\t\tthis.toggleAlliances(!this.showingAlliances);\n\t\t});\n\n\t\t// Toggle help\n\t\tInputHandler.subscribe(['h'], () => {\n\t\t\tif (this.inputFocused) return;\n\t\t\tif (!this.inGame) return;\n\t\t\tthis.toggleHelp(!this.showingHelp);\n\t\t});\n\n\t\t// Toggle voice recognition\n\t\tInputHandler.subscribe(\n\t\t\t['v'],\n\t\t\t() => {\n\t\t\t\tif (this.inputFocused) return;\n\t\t\t\tif (!this.recognition) return;\n\t\t\t\tif (InputHandler.key('v')) {\n\t\t\t\t\tthis.vue.speechRecording = true;\n\t\t\t\t\tthis.recognition.start();\n\t\t\t\t} else {\n\t\t\t\t\tthis.vue.speechRecording = false;\n\t\t\t\t\tthis.recognition.stop();\n\t\t\t\t}\n\t\t\t},\n\t\t\tInputHandler.SubscribeType.BOTH\n\t\t);\n\n\t\t// Weapon actions\n\t\tfor (let i = 0; i < GameClient.weaponKeys.length; i++) {\n\t\t\tInputHandler.subscribe([GameClient.weaponKeys[i]], () => {\n\t\t\t\tif (this.inputFocused || this.modalShowing || !this.inGame) return;\n\t\t\t\tthis.sendSwitchWeapon(i);\n\t\t\t});\n\t\t}\n\t}\n\n\tinitEffects() {\n\t\t// Render effects\n\t\tthis.explosionManager = new ExplosionManager(this);\n\t\tthis.textPopupManager = new TextPopupManager(this);\n\t\tthis.starField = new StarField(this);\n\n\t\t// Play ambient noise\n\t\tthis.maxAmbientVolume = 0.5;\n\t\tthis.ambientSoundId = assets.ambientSoundId;\n\n\t\t// Play drums\n\t\tthis.maxDrumsVolume = 1.0;\n\t\tthis.drumsProgress = 0;\n\t\tthis.drumSoundId = assets.drumSoundId;\n\t\tthis.lastNearBulletTime = 0; // Time that the last near bullet was detected\n\t}\n\n\tresize() {\n\t\t// Re-evaluate the pixel density\n\t\tthis.pixelDensity = settings.nativeResolution ? window.devicePixelRatio || 1 : 1;\n\n\t\t// Resize the canvas\n\t\tthis.canvas.width = this.screenWidth * this.pixelDensity;\n\t\tthis.canvas.height = this.screenHeight * this.pixelDensity;\n\t\tthis.canvas.style.width = `${this.screenWidth}px`;\n\t\tthis.canvas.style.height = `${this.screenHeight}px`;\n\t}\n\n\tsend(type, data) {\n\t\t// Serialize the message\n\t\tconst msgRaw = msgpack.encode([type, data]);\n\n\t\t// If WS is open, send it; otherwise, terminate the socket so the close event is called\n\t\t// See: https://www.npmjs.com/package/ws#how-to-detect-and-close-broken-connections\n\t\tif (this.ws && this.ws.readyState === WebSocket.OPEN) {\n\t\t\tthis.ws.send(msgRaw);\n\t\t} else {\n\t\t\tconsole.warn('Sending on closed socket.');\n\t\t}\n\t}\n\n\tsendInit(challengeResponse) {\n\t\tthis.send(config.clientMessages.INIT, [challengeResponse]);\n\t}\n\n\tsendJoin() {\n\t\t// // Get and save username\n\t\t// let usernameField = document.getElementById('usernameField');\n\t\t// let username = utils.cleanString(usernameField.value, true);\n\t\t// if (username.length === 0) {\n\t\t// \tusername = utils.generateUsername();\n\t\t// \tusernameField.value = username;\n\t\t// }\n\t\t// localStorage.setItem('username', username);\n\n\t\t// Join game\n\t\tthis.send(config.clientMessages.JOIN, [\n\t\t\t// username,\n\t\t\t'',\n\t\t\tthis.vue.selectedShip,\n\t\t\tthis.vue.selectedFill,\n\t\t\t[...this.rewards.values()]\n\t\t]);\n\t}\n\n\tsendInput(...inputData) {\n\t\tthis.send(config.clientMessages.INPUT, inputData);\n\t}\n\n\tsendSwitchWeapon(index) {\n\t\tthis.send(config.clientMessages.SWITCH_WEAPON, index);\n\t}\n\n\tswitchWeaponBy(dir) {\n\t\tlet player = this.currentPlayer;\n\t\tif (!player) return;\n\n\t\tdir = Math.sign(dir);\n\t\tlet currentIndex = this.ownedWeapons.findIndex(w => w[0] === player.weaponIndex);\n\t\tlet selectedIndex = utils.clamp(currentIndex + dir, 0, this.ownedWeapons.length - 1);\n\t\tthis.sendSwitchWeapon(selectedIndex);\n\t}\n\n\tsendPurchaseStructure(index) {\n\t\tthis.send(config.clientMessages.PURCHASE_STRUCTURE, index);\n\t}\n\n\tsendMessage(text) {\n\t\tthis.send(config.clientMessages.MESSAGE, text);\n\t}\n\n\tsendChooseUpgrade(index) {\n\t\tthis.send(config.clientMessages.CHOOSE_UPGRADE, index);\n\t}\n\n\tupdate(dt) {\n\t\t// Update input\n\t\tthis.updateInput();\n\n\t\tsuper.update(dt);\n\n\t\t// Find the last near non-friendly bullet time\n\t\tif (this.currentPlayer) {\n\t\t\tthis.queryCircle(this.currentPlayer.x, this.currentPlayer.y, 400, entity => {\n\t\t\t\tif (entity.isBullet && !this.currentPlayer.isFriendlyClientId(entity.shooterClientId)) {\n\t\t\t\t\tthis.lastNearBulletTime = Date.now();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Update UI\n\t\tthis.vue.isLanded = this.currentPlayer && this.currentPlayer.isLanded;\n\t\tthis.vue.onPlanet = this.currentPlayer && this.currentPlayer.overlappingPlanet != null;\n\n\t\t// Update kick timer and kick player automatically\n\t\tif (this.inGame) {\n\t\t\tthis.kickTimer = 0;\n\t\t} else {\n\t\t\tthis.kickTimer += dt;\n\t\t}\n\t\tthis.vue.kickTimer = this.kickTimer;\n\n\t\t// Update Vue selected\n\t\tthis.vue.selectedWeaponIndex = this.currentPlayer ? this.currentPlayer.weaponIndex : -1;\n\t\tthis.vue.ownedWeaponIndex = this.currentPlayer\n\t\t\t? this.ownedWeapons.findIndex(w => w[0] === this.currentPlayer.weaponIndex)\n\t\t\t: -1;\n\t}\n\n\tupdateInput() {\n\t\t// Skip if in chatbox or not in game\n\t\tif (!this.inGame || this.inputFocused) return;\n\n\t\t// Set initial input\n\t\tlet moveDir = 0;\n\t\tlet moveSpeed = 0;\n\t\tlet relativeMoveDir = settings.directionalMovement;\n\t\tlet targetRot = this.usingTouch\n\t\t\t? this.serverInputTargetRot || 0\n\t\t\t: Math.atan2(this.mouseY - window.innerHeight / 2, this.mouseX - window.innerWidth / 2); // Use old rot if using touch\n\t\tlet firing = false;\n\t\tlet sprinting = false;\n\n\t\t// Get new input\n\t\tlet dx = 0;\n\t\tlet dy = 0;\n\t\tif (InputHandler.key('w', 'up')) dy += 1;\n\t\tif (InputHandler.key('s', 'down')) dy -= 1;\n\t\tif (InputHandler.key('a', 'left')) dx -= 1;\n\t\tif (InputHandler.key('d', 'right')) dx += 1;\n\t\tif (InputHandler.key('space')) firing = true;\n\t\tif (InputHandler.key('shift')) sprinting = true;\n\t\tif (this.leftClick) firing = true;\n\t\tif (this.rightClick || this.middleClick) {\n\t\t\t// Middle click reverses\n\t\t\tdy = (this.rightClick ? 1 : 0) + (this.middleClick ? -1 : 0);\n\t\t\tdx = 0;\n\t\t\trelativeMoveDir = true;\n\t\t}\n\t\t// if (this.rightClick || this.middleClick) { // Middle click sprints\n\t\t// dy = 1;\n\t\t// dx = 0;\n\t\t// relativeMoveDir = true;\n\t\t// sprinting = sprinting || this.middleClick;\n\t\t// }\n\n\t\t// Touch controls\n\t\tif (this.controllingTouch.id !== -1) {\n\t\t\tlet dist = utils.dist(\n\t\t\t\tthis.controllingTouch.startX,\n\t\t\t\tthis.controllingTouch.startY,\n\t\t\t\tthis.controllingTouch.currentX,\n\t\t\t\tthis.controllingTouch.currentY\n\t\t\t);\n\t\t\tmoveSpeed = dist > 10 ? 1 : 0;\n\t\t\tmoveDir = Math.atan2(\n\t\t\t\t-(this.controllingTouch.currentY - this.controllingTouch.startY),\n\t\t\t\tthis.controllingTouch.currentX - this.controllingTouch.startX\n\t\t\t);\n\t\t\tsprinting = dist > this.touchTriggerThreshold;\n\t\t}\n\t\tif (this.attackingTouch.id !== -1) {\n\t\t\tlet dist = utils.dist(\n\t\t\t\tthis.attackingTouch.startX,\n\t\t\t\tthis.attackingTouch.startY,\n\t\t\t\tthis.attackingTouch.currentX,\n\t\t\t\tthis.attackingTouch.currentY\n\t\t\t);\n\t\t\ttargetRot = Math.atan2(\n\t\t\t\tthis.attackingTouch.currentY - this.attackingTouch.startY,\n\t\t\t\tthis.attackingTouch.currentX - this.attackingTouch.startX\n\t\t\t);\n\t\t\tfiring = dist > this.touchTriggerThreshold;\n\t\t}\n\n\t\t// Get move dir and speed\n\t\tif (dx !== 0 || dy !== 0) {\n\t\t\tmoveDir = Math.atan2(dy, dx);\n\t\t\tmoveSpeed = utils.dist(dx, dy);\n\t\t}\n\n\t\t// Update input on the player\n\t\tif (this.currentPlayer) {\n\t\t\tthis.currentPlayer.moveDir = moveDir;\n\t\t\tthis.currentPlayer.moveSpeed = moveSpeed;\n\t\t\tthis.currentPlayer.relativeMoveDir = relativeMoveDir;\n\t\t\tthis.currentPlayer.targetRot = targetRot;\n\t\t\tthis.currentPlayer.firing = firing;\n\t\t\tthis.currentPlayer.sprinting = sprinting;\n\t\t}\n\n\t\t// Send input if needed\n\t\tif (\n\t\t\tmoveDir !== this.serverInputMoveDir ||\n\t\t\tmoveSpeed !== this.serverInputMoveSpeed ||\n\t\t\trelativeMoveDir !== this.serverInputRelativeMoveDir ||\n\t\t\ttargetRot !== this.serverInputTargetRot ||\n\t\t\tfiring !== this.serverInputFiring ||\n\t\t\tsprinting !== this.serverInputSprinting\n\t\t) {\n\t\t\t// Send over socket\n\t\t\tthis.sendInput(moveDir, moveSpeed, relativeMoveDir, targetRot, firing, sprinting);\n\n\t\t\t// Update state\n\t\t\tthis.serverInputMoveDir = moveDir;\n\t\t\tthis.serverInputMoveSpeed = moveSpeed;\n\t\t\tthis.serverInputRelativeMoveDir = relativeMoveDir;\n\t\t\tthis.serverInputTargetRot = targetRot;\n\t\t\tthis.serverInputFiring = firing;\n\t\t\tthis.serverInputSprinting = sprinting;\n\t\t}\n\t}\n\n\trender() {\n\t\tconst ctx = this.context;\n\n\t\t// // Update the world with a static DT\n\t\t// this.update(GameClient.dt);\n\n\t\t// Calculate rendering dt\n\t\tlet now = Date.now();\n\t\tlet lastUpdate = this.lastRenderTime || now - 16; // Default dt is 16 ms\n\t\tlet dt = (now - lastUpdate) / 1000;\n\t\tthis.lastRenderTime = now;\n\n\t\t// Update the world with a dynamic DT\n\t\tthis.update(dt);\n\n\t\t// Get FPS\n\t\tthis.framesPerSecond = 1 / dt;\n\t\tthis.framesPerSecondHistory.splice(0, 0, this.framesPerSecond);\n\t\tthis.framesPerSecondHistory.length = this.framesPerSecondHistory.length - 1;\n\n\t\t// Reset pointer\n\t\tthis.canvas.classList.toggle('showPointer', false);\n\n\t\t// Update the viewport position\n\t\tlet spectatingPlayer = this.spectatingPlayer;\n\t\tif (!!spectatingPlayer) {\n\t\t\tif (this.currentPlayer) {\n\t\t\t\t// Don't lerp camera when playing\n\t\t\t\tthis.viewportX = spectatingPlayer.x;\n\t\t\t\tthis.viewportY = -spectatingPlayer.y; // Flip Y coords\n\t\t\t} else {\n\t\t\t\t// Lerp screen coordinates to give a more fluid experience when spectating\n\t\t\t\tlet screenLerpSpeed = 10 * dt;\n\t\t\t\tthis.viewportX = utils.lerp(this.viewportX, spectatingPlayer.x, screenLerpSpeed);\n\t\t\t\tthis.viewportY = utils.lerp(this.viewportY, -spectatingPlayer.y, screenLerpSpeed); // Flip Y coords\n\t\t\t}\n\t\t}\n\n\t\t// Update controls\n\t\tif (this.inGame) {\n\t\t\tthis.showControlsTimer = Math.max(this.showControlsTimer - dt, 0);\n\t\t\tif (this.showControlsTimer <= 0) {\n\t\t\t\tdocument.getElementById('gameControlTip').style.display = 'none';\n\t\t\t}\n\t\t}\n\n\t\t// Update sound listener position\n\t\tassets.listenerPos(this.viewportX, this.viewportY);\n\n\t\t// Update drums\n\t\tlet timeSinceNearBullet = (Date.now() - this.lastNearBulletTime) / 1000;\n\t\tlet drumsProgress = 1 - utils.clamp01(timeSinceNearBullet / 6, 0);\n\t\tif (drumsProgress > this.drumsProgress) {\n\t\t\t// Fade in the drums\n\t\t\tthis.drumsProgress = utils.lerp(this.drumsProgress, drumsProgress, 0.3 * dt);\n\t\t} else {\n\t\t\t// Let the drums fade out over time\n\t\t\tthis.drumsProgress = drumsProgress;\n\t\t}\n\t\tassets.soundVol(this.drumSoundId, this.drumsProgress * this.maxDrumsVolume);\n\t\tassets.soundVol(this.ambientSoundId, (1 - this.drumsProgress) * this.maxAmbientVolume);\n\n\t\t// Set default style\n\t\tctx.strokeStyle = 'white';\n\t\tctx.lineWidth = 3;\n\t\tctx.lineCap = 'butt';\n\t\tctx.lineJoin = 'miter';\n\t\tctx.fillStyle = 'white';\n\t\tctx.font = utils.generateFont(30);\n\t\tctx.textAlign = 'center';\n\t\tctx.textBaseline = 'middle';\n\n\t\t// Fill a black background\n\t\tctx.save();\n\t\tctx.fillStyle = '#110b2e';\n\t\tif (this.isLSD) ctx.globalAlpha = 0.01;\n\t\tctx.fillRect(0, 0, this.width, this.height);\n\t\tctx.restore();\n\n\t\t// Draw clouds; generated at http://kitfox.com/projects/perlinNoiseMaker/; 64 seed size\n\t\tif (settings.spaceDust && !this.isLSD) {\n\t\t\tlet scale = this.worldScale * 12;\n\t\t\tlet translateMultiplier = 1 / scale;\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = ctx.createPattern(\n\t\t\t\tassets.getImage(assets.effectUrl('space-texture'), 256, 256),\n\t\t\t\t'repeat'\n\t\t\t);\n\t\t\tctx.globalCompositeOperation = 'screen';\n\t\t\tctx.globalAlpha = 0.1;\n\t\t\tctx.scale(scale, scale);\n\t\t\tctx.translate(-this.viewportX * translateMultiplier, -this.viewportY * translateMultiplier);\n\t\t\tctx.fillRect(\n\t\t\t\tthis.viewportX * translateMultiplier,\n\t\t\t\tthis.viewportY * translateMultiplier,\n\t\t\t\tthis.width / scale,\n\t\t\t\tthis.height / scale\n\t\t\t);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw the world\n\t\tthis.renderingWorld = true;\n\t\tctx.save();\n\t\tthis.renderWorld(ctx, dt);\n\t\tctx.restore();\n\t\tthis.renderingWorld = false;\n\n\t\t// Draw the UI\n\t\tthis.renderingUI = true;\n\t\tctx.save();\n\t\tthis.renderUI(ctx, dt);\n\t\tctx.restore();\n\t\tthis.renderingUI = false;\n\n\t\t// Call next render\n\t\trequestAnimationFrame(() => this.render());\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t */\n\trenderWorld(ctx, dt) {\n\t\t// Calculate screen shake\n\t\tlet shakeMagnitude = this.explosionManager.getScreenShake(this.viewportX, this.viewportY);\n\t\tif (this.isReee || this.isOopsie) shakeMagnitude = 2000; // Easter egg\n\t\tshakeMagnitude *= 0.05; // Pixels/magnitude\n\t\tshakeMagnitude = Math.min(\n\t\t\tshakeMagnitude,\n\t\t\tsettings.rss ? config.maxScreenShakeReduced : config.maxScreenShake\n\t\t);\n\t\tlet shakenViewportX = this.viewportX + (Math.random() - 0.5) * shakeMagnitude;\n\t\tlet shakenViewportY = this.viewportY + (Math.random() - 0.5) * shakeMagnitude;\n\t\t// Translate drawing to center of viewport and scale to have a static height\n\t\tlet s = this.worldScale;\n\t\tctx.translate(this.width / 2, this.height / 2);\n\t\tctx.scale(s, s);\n\t\tctx.translate(-shakenViewportX, -shakenViewportY);\n\t\t// Draw star field\n\t\tif (settings.stars) {\n\t\t\tthis.starField.render(ctx, dt, this.viewWidth, this.viewHeight, this.viewportX, this.viewportY);\n\t\t}\n\t\t// Draw the entities\n\t\tlet layers = Object.keys(this.renderLayers)\n\t\t\t.map(l => parseFloat(l))\n\t\t\t.sort((a, b) => a - b);\n\t\tfor (let layerDepth of layers) {\n\t\t\tlet layer = this.renderLayers[layerDepth];\n\t\t\tfor (let entity of layer) {\n\t\t\t\t// Move to entity position and render\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(entity.x, -entity.y);\n\t\t\t\tctx.rotate(entity.rot);\n\t\t\t\tentity.render(ctx, dt, layerDepth);\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t}\n\t\t// Draw border; we use just a portion of an arc, since the border is huge, to save render calls\n\t\tlet arcSize = Math.PI * 0.08;\n\t\tlet viewAngle = Math.atan2(this.viewportY, this.viewportX);\n\t\tctx.save();\n\t\tctx.lineWidth = 8;\n\t\tctx.beginPath();\n\t\tctx.arc(0, 0, config.mapSize / 2, viewAngle - arcSize / 2, viewAngle + arcSize / 2);\n\t\tctx.stroke();\n\t\tctx.restore();\n\t\t// Draw explosions\n\t\tctx.save();\n\t\tthis.explosionManager.render(ctx, dt);\n\t\tctx.restore();\n\t\t// Draw text\n\t\tctx.save();\n\t\tthis.textPopupManager.render(ctx, dt);\n\t\tctx.restore();\n\t\t// Draw chat messages\n\t\tctx.save();\n\t\tlet fontSize = 40;\n\t\tctx.font = utils.generateFont(fontSize);\n\t\tfor (let entityId in this.chatMessages) {\n\t\t\tlet entity = this.entityForId(entityId);\n\t\t\tlet [text, clientId, username, msgX, msgY, sendTime] = this.chatMessages[entityId];\n\t\t\t// Check if message should be removed\n\t\t\tif ((Date.now() - sendTime) / 1000 > this.chatShowTime) {\n\t\t\t\tdelete this.chatMessages[entityId];\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// Determine if the entity is visible\n\t\t\tlet entityVisible = false;\n\t\t\tif (entity) {\n\t\t\t\tlet x = entity.x;\n\t\t\t\tlet y = -entity.y;\n\t\t\t\tlet viewWidth = this.width / this.worldScale;\n\t\t\t\tlet viewHeight = this.height / this.worldScale;\n\t\t\t\tentityVisible =\n\t\t\t\t\tx > this.viewportX - viewWidth / 2 &&\n\t\t\t\t\tx < this.viewportX + viewWidth / 2 &&\n\t\t\t\t\ty > this.viewportY - viewHeight / 2 &&\n\t\t\t\t\ty < this.viewportY + viewHeight / 2;\n\t\t\t}\n\t\t\t// Add username to message if entity not visible\n\t\t\tif (!entityVisible) {\n\t\t\t\ttext = `${username}: ${text}`;\n\t\t\t}\n\t\t\t// Text properties\n\t\t\tlet paddingX = 30;\n\t\t\tlet paddingY = 10;\n\t\t\tlet messageWidth = ctx.measureText(text).width;\n\t\t\tlet messageHeight = fontSize;\n\t\t\t// Render the message\n\t\t\tif (entityVisible) {\n\t\t\t\t// Render in place\n\t\t\t\tlet x = entity.x;\n\t\t\t\tlet y = -entity.y + entity.radius + fontSize;\n\t\t\t\t// Draw background\n\t\t\t\tctx.save();\n\t\t\t\tctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\t\t\t\tctx.fillRect(\n\t\t\t\t\tx - (messageWidth + paddingX) / 2,\n\t\t\t\t\ty - (messageHeight + paddingY) / 2,\n\t\t\t\t\tmessageWidth + paddingX,\n\t\t\t\t\tmessageHeight + paddingY\n\t\t\t\t);\n\t\t\t\tctx.restore();\n\t\t\t\t// Draw text\n\t\t\t\tctx.save();\n\t\t\t\tctx.fillStyle = 'white';\n\t\t\t\tif (text.indexOf('\\n') !== -1) {\n\t\t\t\t\tutils.fillMultilineText(ctx, text, x, y, false);\n\t\t\t\t} else {\n\t\t\t\t\tctx.fillText(text, x, y);\n\t\t\t\t}\n\t\t\t\tctx.restore();\n\t\t\t} else if (this.allianceData && this.allianceData[3].findIndex(c => c[0] === clientId) !== -1) {\n\t\t\t\t// Render from afar if in alliance\n\t\t\t\tlet messageAngle = Math.atan2(msgY - this.viewportY, msgX - this.viewportX);\n\t\t\t\tlet messageDistance = (config.viewportHeight * this.viewDistanceMultiplier) / 2 - 200;\n\t\t\t\tlet x = this.viewportX + Math.cos(messageAngle) * messageDistance;\n\t\t\t\tlet y = this.viewportY + Math.sin(messageAngle) * messageDistance;\n\t\t\t\t// Draw triangle\n\t\t\t\tlet baseSize = 36;\n\t\t\t\tlet height = 27;\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(x, y);\n\t\t\t\tctx.rotate(messageAngle);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(-height / 2, -baseSize / 2);\n\t\t\t\tctx.lineTo(-height / 2, baseSize / 2);\n\t\t\t\tctx.lineTo(height / 2, 0);\n\t\t\t\tctx.fill();\n\t\t\t\tctx.restore();\n\t\t\t\t// Offset text\n\t\t\t\ty += fontSize * 2;\n\t\t\t\t// Draw background\n\t\t\t\tctx.save();\n\t\t\t\tctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\t\t\t\tctx.fillRect(\n\t\t\t\t\tx - (messageWidth + paddingX) / 2,\n\t\t\t\t\ty - (messageHeight + paddingY) / 2,\n\t\t\t\t\tmessageWidth + paddingX,\n\t\t\t\t\tmessageHeight + paddingY\n\t\t\t\t);\n\t\t\t\tctx.restore();\n\t\t\t\t// Draw text\n\t\t\t\tctx.save();\n\t\t\t\tctx.fillStyle = 'white';\n\t\t\t\tctx.fillText(text, x, y);\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t}\n\t\tctx.restore();\n\t\t// Draw the debug layer\n\t\tif (config.debugLayer) {\n\t\t\t// Set style\n\t\t\tctx.strokeStyle = 'red';\n\t\t\tctx.fillStyle = 'red';\n\t\t\tctx.lineWidth = 1;\n\t\t\t// Draw entities\n\t\t\tfor (let entityId in this.entities) {\n\t\t\t\tlet entity = this.entities[entityId];\n\t\t\t\t// Move to entity position and render\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(entity.x, -entity.y);\n\t\t\t\tctx.rotate(entity.rot);\n\t\t\t\tentity.debugRender(ctx);\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t\t// Draw view box\n\t\t\tctx.save();\n\t\t\tctx.translate(this.viewportX, this.viewportY);\n\t\t\tctx.strokeRect(\n\t\t\t\t(-config.viewDistanceX / 2) * this.viewDistanceMultiplier,\n\t\t\t\t(-config.viewDistanceY / 2) * this.viewDistanceMultiplier,\n\t\t\t\tconfig.viewDistanceX * this.viewDistanceMultiplier,\n\t\t\t\tconfig.viewDistanceY * this.viewDistanceMultiplier\n\t\t\t);\n\t\t\tctx.restore();\n\t\t}\n\t\t// Update control panel\n\t\tif (this.updateIndex % 10 === 0) {\n\t\t\tthis.updateControlPanel();\n\t\t}\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t */\n\trenderUI(ctx, dt) {\n\t\t// Scale for pixel density\n\t\tctx.scale(this.pixelDensity, this.pixelDensity);\n\n\t\t// Get vignette stats\n\t\tlet vignetteColor = [0, 0, 0, 0];\n\t\tlet vignetteDistance = 0;\n\t\tif (this.currentPlayer) {\n\t\t\tlet health = this.currentPlayer.health;\n\n\t\t\t// Set the base values\n\t\t\tvignetteColor = vignetteColor.map((v, i) =>\n\t\t\t\tutils.lerp(v, config.lowHealthVignette[i], 1 - health)\n\t\t\t);\n\t\t\tvignetteDistance = utils.lerp(vignetteDistance, config.lowHealthVignetteDistance, 1 - health);\n\n\t\t\t// Apply pulsing effect\n\t\t\t// (1 + utils.easingFunctions.easeOutQuad(Math.sin(Date.now() / 1000 * 10) / 2 + 0.5) * 0.1);\n\t\t\tlet bps = utils.lerp(60, 300, 1 - health) / 60; // Convert heart rate beats per minute to beats per second\n\t\t\tthis.heartBeatTimer += bps * dt; // Increase the timer by the speed\n\t\t\tlet pulseProgress = Math.sin(this.heartBeatTimer * Math.PI * 2) / 2 + 0.5;\n\t\t\tpulseProgress = utils.easingFunctions.easeInQuint(pulseProgress); // GIve the pulse a \"beat\" to it\n\t\t\tvignetteDistance *= 1 + pulseProgress * 0.05 * (1 - health); // Increase distance\n\t\t\tvignetteColor[3] += pulseProgress * 0.3 * (1 - health); // Increase alpha\n\t\t\t// vignetteColor[0] *= 1 - pulseProgress * 0.05 * (1 - health); // Make the red darker\n\t\t}\n\t\tthis.killVignetteProgress = Math.max(\n\t\t\tthis.killVignetteProgress - (1 / this.killVignetteProgressLength) * dt,\n\t\t\t0\n\t\t);\n\t\tvignetteColor = vignetteColor.map((v, i) =>\n\t\t\tutils.lerp(v, config.killVignette[i], this.killVignetteProgress)\n\t\t);\n\t\tvignetteDistance = utils.lerp(\n\t\t\tvignetteDistance,\n\t\t\tconfig.killVignetteDistance,\n\t\t\tthis.killVignetteProgress\n\t\t);\n\n\t\t// Round the vignette colors\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tvignetteColor[i] = Math.floor(vignetteColor[i]);\n\t\t}\n\n\t\t// Create vignette gradient\n\t\tvignetteDistance = utils.clamp01(vignetteDistance);\n\t\tvignetteColor = vignetteColor.map(c => utils.clamp(c, 0, 255)); // This will fix any NaN values\n\t\tlet diagonalRadius = utils.dist(\n\t\t\tthis.screenWidth / 2,\n\t\t\tthis.screenHeight / 2,\n\t\t\tthis.screenWidth,\n\t\t\tthis.screenHeight\n\t\t);\n\t\tlet vignetteGradient = ctx.createRadialGradient(\n\t\t\tthis.screenWidth / 2,\n\t\t\tthis.screenHeight / 2,\n\t\t\t0,\n\t\t\tthis.screenWidth / 2,\n\t\t\tthis.screenHeight / 2,\n\t\t\tdiagonalRadius\n\t\t);\n\t\tvignetteGradient.addColorStop(1.0, `rgba(${vignetteColor.join(',')})`);\n\t\tvignetteColor[3] = 0; // Make the color transparent\n\t\tvignetteGradient.addColorStop(1.0 - vignetteDistance, `rgba(${vignetteColor.join(',')})`);\n\n\t\t// Render vignette\n\t\tctx.save();\n\t\tctx.fillStyle = vignetteGradient;\n\t\tctx.fillRect(0, 0, this.screenWidth, this.screenHeight);\n\t\tctx.restore();\n\n\t\t// Render red overlay\n\t\tif (this.isReee) {\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = 'red';\n\t\t\tctx.globalAlpha = 0.7;\n\t\t\tctx.fillRect(0, 0, this.screenWidth, this.screenHeight);\n\t\t\tctx.restore();\n\t\t} else if (this.isOopsie) {\n\t\t\tctx.save();\n\n\t\t\tctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\t\t\tctx.globalAlpha = 0.5;\n\t\t\tctx.fillRect(0, 0, this.screenWidth, this.screenHeight);\n\n\t\t\tctx.fillStyle = 'white';\n\t\t\tctx.globalAlpha = 1.0;\n\t\t\tctx.font = utils.generateFont(50, 'bold');\n\t\t\tctx.fillText('The server has crashed.', this.screenWidth / 2, this.screenHeight / 2);\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw HUD\n\t\tif (!this.modalShowing && this.inGame) {\n\t\t\t// Draw the stats\n\t\t\tthis.renderStats(ctx);\n\n\t\t\t// Draw the minimap\n\t\t\tthis.renderMinimap(ctx);\n\t\t}\n\n\t\t// Draw notification\n\t\tif (this.lastNotificationDate) {\n\t\t\tlet notificationLife = 3.5;\n\t\t\tlet fadeSpeed = 0.2;\n\t\t\tlet timeSince = (Date.now() - this.lastNotificationDate) / 1000;\n\n\t\t\t// Intro progress\n\t\t\tlet introProgress = utils.clamp01(timeSince / fadeSpeed);\n\t\t\tlet outroProgress = utils.clamp01((notificationLife - timeSince) / fadeSpeed);\n\t\t\tintroProgress = utils.easingFunctions.easeOutCubic(introProgress);\n\t\t\toutroProgress = utils.easingFunctions.easeOutCubic(outroProgress);\n\n\t\t\t// Stop if needed\n\t\t\tif (timeSince > notificationLife) {\n\t\t\t\tthis.lastNotificationDate = null;\n\t\t\t}\n\n\t\t\tlet scale = 1 + 2 * (1 - introProgress) - 0.4 * (1 - outroProgress);\n\t\t\tlet fontSize = 40;\n\n\t\t\tctx.save();\n\n\t\t\tctx.globalAlpha = Math.min(introProgress, outroProgress);\n\t\t\tctx.translate(this.screenWidth / 2, this.screenHeight * 0.25);\n\t\t\tctx.scale(scale, scale);\n\t\t\tctx.font = utils.generateFont(fontSize, 'bold');\n\n\t\t\t// Render text\n\t\t\tctx.fillStyle = 'white';\n\t\t\tctx.fillText(this.lastNotificationText, 0, 0);\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw the aim dir\n\t\tif (this.attackingTouch.id !== -1 && this.currentPlayer) {\n\t\t\tlet lineWidth = 4;\n\t\t\tlet linePadding = 25;\n\t\t\tlet lineLength = (this.screenWidth / 2) * 0.9;\n\n\t\t\t// Create gradient\n\t\t\tlet lineGradient = ctx.createLinearGradient(linePadding, 0, linePadding + lineLength, 0);\n\t\t\tlineGradient.addColorStop(0, 'rgba(255, 255, 255, 0.0)');\n\t\t\tlineGradient.addColorStop(0.5, 'rgba(255, 255, 255, 0.3)');\n\t\t\tlineGradient.addColorStop(1, 'rgba(255, 255, 255, 0.0)');\n\n\t\t\t// Draw line\n\t\t\tctx.save();\n\t\t\tctx.translate(this.screenWidth / 2, this.screenHeight / 2);\n\t\t\tctx.rotate(this.currentPlayer.rot);\n\t\t\tctx.fillStyle = lineGradient;\n\t\t\tctx.fillRect(linePadding, -lineWidth / 2, lineLength, lineWidth);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw mouse\n\t\tif (!this.usingTouch && this.inGame && !this.modalShowing) {\n\t\t\tlet baseSize = 20;\n\t\t\tlet height = 15;\n\n\t\t\tctx.save();\n\n\t\t\t// Move to mouse\n\t\t\tctx.translate(this.mouseX, this.mouseY);\n\t\t\tctx.rotate(Math.atan2(this.mouseY - this.screenHeight / 2, this.mouseX - this.screenWidth / 2));\n\n\t\t\t// Draw triangle\n\t\t\tctx.strokeStyle = 'rgba(0, 0, 0, 0.1)';\n\t\t\tctx.lineWidth = 10;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(-height / 2, -baseSize / 2);\n\t\t\tctx.lineTo(-height / 2, baseSize / 2);\n\t\t\tctx.lineTo(height / 2, 0);\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t\tctx.fill();\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw touch controls\n\t\tif (this.controllingTouch.id !== -1)\n\t\t\tthis.renderControl(\n\t\t\t\tctx,\n\t\t\t\tthis.controllingTouch.startX,\n\t\t\t\tthis.controllingTouch.startY,\n\t\t\t\tthis.controllingTouch.currentX,\n\t\t\t\tthis.controllingTouch.currentY\n\t\t\t);\n\t\tif (this.attackingTouch.id !== -1)\n\t\t\tthis.renderControl(\n\t\t\t\tctx,\n\t\t\t\tthis.attackingTouch.startX,\n\t\t\t\tthis.attackingTouch.startY,\n\t\t\t\tthis.attackingTouch.currentX,\n\t\t\t\tthis.attackingTouch.currentY\n\t\t\t);\n\n\t\t// Draw debug layer\n\t\tif (config.debugLayer) {\n\t\t\t// Draw stats\n\t\t\tctx.save();\n\t\t\tctx.textBaseline = 'top';\n\t\t\tctx.textAlign = 'left';\n\t\t\tutils.fillMultilineText(\n\t\t\t\tctx,\n\t\t\t\t`Ping: ${Math.round(this.ping * 1000)}ms\\nFPS: ${Math.round(this.averageFPS)}`,\n\t\t\t\t20,\n\t\t\t\tthis.screenHeight / 2\n\t\t\t);\n\t\t\tctx.restore();\n\t\t}\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t */\n\trenderStats(ctx) {\n\t\tctx.save();\n\n\t\tlet player = this.currentPlayer;\n\t\tif (!player) return;\n\n\t\tlet marginX = this.smallUI ? safeAreaInsets.right : 20;\n\t\tlet marginY = this.smallUI ? safeAreaInsets.bottom : 20;\n\t\tlet padding = this.smallUI ? 5 : 10;\n\t\tlet textPaddingX = marginX + padding + 30;\n\t\tlet textPaddingY = marginY + padding + 10;\n\t\tlet statMaxHeight = this.smallUI ? 85 : 115;\n\n\t\tctx.textAlign = 'right';\n\t\tlet fontSize = this.smallUI ? 20 : 30;\n\t\tctx.font = utils.generateFont(this.smallUI ? 20 : 30);\n\n\t\t// Render background\n\t\tctx.save();\n\t\tlet bgWidth = this.smallUI ? 135 : 200;\n\t\tlet bgHeight = statMaxHeight + padding * 2;\n\t\tctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\t\tctx.fillRect(\n\t\t\tthis.screenWidth - bgWidth - marginX,\n\t\t\tthis.screenHeight - bgHeight - marginY,\n\t\t\tbgWidth,\n\t\t\tbgHeight\n\t\t);\n\t\tctx.restore();\n\n\t\t// Render resources\n\t\tfor (let i = 0; i < this.resources.length; i++) {\n\t\t\tlet flippedI = this.resources.length - i - 1; // Render in reverse order\n\t\t\tlet count = this.resources[flippedI];\n\t\t\tlet resourceType = resources.resources[flippedI];\n\t\t\tlet text = Math.floor(count).toString();\n\t\t\tlet textWidth = ctx.measureText(text).width;\n\t\t\tlet iconSize = this.smallUI ? 15 : 20;\n\t\t\tlet xOffset = this.screenWidth - textPaddingX;\n\t\t\tlet yOffset = this.screenHeight - textPaddingY - (this.smallUI ? 25 : 35) - i * fontSize;\n\n\t\t\t// Draw icons\n\t\t\tutils.drawImage(\n\t\t\t\tctx,\n\t\t\t\tassets.iconUrl(resourceType.icon),\n\t\t\t\txOffset - textWidth - iconSize,\n\t\t\t\tyOffset,\n\t\t\t\ticonSize,\n\t\t\t\ticonSize\n\t\t\t);\n\n\t\t\t// Draw text\n\t\t\tctx.fillText(text, xOffset, yOffset);\n\t\t}\n\n\t\t// Render score\n\t\tctx.save();\n\t\tctx.font = utils.generateFont(fontSize + 5, 'bold');\n\t\tctx.fillText(\n\t\t\tMath.floor(this.score),\n\t\t\tthis.screenWidth - textPaddingX,\n\t\t\tthis.screenHeight - textPaddingY\n\t\t);\n\t\tctx.restore();\n\n\t\t// Render fire timer\n\t\tlet fireProgress = 1 - player.fireTimer / player.weapon.fireInterval;\n\t\tlet fireWidth = 5;\n\t\tlet fireHeight = statMaxHeight * fireProgress;\n\t\tctx.save();\n\t\tctx.globalAlpha = 0.5;\n\t\tctx.fillRect(\n\t\t\tthis.screenWidth - marginX - padding - fireWidth,\n\t\t\tthis.screenHeight - marginY - padding - fireHeight,\n\t\t\tfireWidth,\n\t\t\tfireHeight\n\t\t);\n\t\tctx.restore();\n\n\t\t// Render sprint\n\t\tlet sprintProgress = player.sprint / player.maxSprint;\n\t\tlet sprintWidth = 10;\n\t\tlet sprintHeight = statMaxHeight * sprintProgress;\n\t\tctx.fillRect(\n\t\t\tthis.screenWidth - marginX - padding - sprintWidth - fireWidth,\n\t\t\tthis.screenHeight - marginY - padding - sprintHeight,\n\t\t\tsprintWidth,\n\t\t\tsprintHeight\n\t\t);\n\n\t\tctx.restore();\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t */\n\trenderMinimap(ctx) {\n\t\tif (!this.minimapData) return;\n\n\t\tlet marginX = this.smallUI ? safeAreaInsets.left + 10 : 20;\n\t\tlet marginY = this.smallUI ? safeAreaInsets.top + 10 : 20;\n\t\tlet size = this.smallUI ? 60 : 120;\n\n\t\t// Draw backdrop\n\t\tctx.save();\n\t\tctx.fillStyle = 'rgba(0, 0, 0, 0.5)';\n\t\tctx.strokeStyle = 'rgba(255, 255, 255, 0.3)';\n\t\tctx.lineWidth = this.smallUI ? 1 : 3;\n\t\tctx.beginPath();\n\t\tctx.arc(marginX + size / 2, marginY + size / 2, size / 2, 0, Math.PI * 2);\n\t\tctx.fill();\n\t\tctx.stroke();\n\t\tctx.restore();\n\n\t\t// Draw structures\n\t\tctx.save();\n\t\tctx.translate(marginX + size / 2, marginY + size / 2); // Transform to center of map\n\t\tctx.fillStyle = 'white';\n\n\t\t// Draw all of the minimap structures\n\t\tlet unitMultiplier = (1 / config.mapSize) * size;\n\t\tfor (let item of this.minimapData) {\n\t\t\tlet [kind, id, x, y, radius, extraData] = item;\n\t\t\tif (id === this.spectateId) continue; // Skip the current player\n\n\t\t\t// Adjust units\n\t\t\tx = x * unitMultiplier;\n\t\t\ty = -y * unitMultiplier;\n\t\t\tradius = radius * unitMultiplier;\n\t\t\tradius = Math.max(radius, this.smallUI ? 1 : 2);\n\n\t\t\t// Set fill style\n\t\t\tlet fillStyle = 'white';\n\t\t\tif (kind === Player.KIND) {\n\t\t\t\tlet [clientId, allianceId] = extraData;\n\t\t\t\tfillStyle = allianceId ? utils.getAllianceColor(allianceId) : 'white';\n\t\t\t} else if (kind === Planet.KIND) {\n\t\t\t\tlet [dominatingItem] = extraData;\n\n\t\t\t\t// Set default color\n\t\t\t\tfillStyle = 'rgba(255, 255, 255, 0.5)';\n\t\t\t\tif (dominatingItem) {\n\t\t\t\t\tlet itemId = parseInt(dominatingItem.slice(2));\n\t\t\t\t\tif (dominatingItem.startsWith('a:')) {\n\t\t\t\t\t\tfillStyle = utils.getAllianceColor(itemId); // Alliance dominating\n\t\t\t\t\t} else if (dominatingItem.startsWith('p:')) {\n\t\t\t\t\t\tfillStyle = 'white'; // Player dominating\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Draw circle\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = fillStyle;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(x, y, radius, 0, Math.PI * 2);\n\t\t\tctx.fill();\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw the death position\n\t\tif (this.deathPosX != null && this.deathPosY != null) {\n\t\t\tlet x = this.deathPosX * unitMultiplier;\n\t\t\tlet y = -this.deathPosY * unitMultiplier;\n\n\t\t\t// Draw an X\n\t\t\tlet xSize = 3;\n\t\t\tctx.save();\n\t\t\tctx.beginPath();\n\t\t\tctx.strokeStyle = 'hsl(0, 100%, 60%)';\n\t\t\tctx.globalAlpha = 0.5;\n\t\t\tctx.moveTo(x - xSize, y - xSize);\n\t\t\tctx.lineTo(x + xSize, y + xSize);\n\t\t\tctx.moveTo(x + xSize, y - xSize);\n\t\t\tctx.lineTo(x - xSize, y + xSize);\n\t\t\tctx.stroke();\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw the current player\n\t\tif (this.currentPlayer) {\n\t\t\tlet x = this.currentPlayer.x * unitMultiplier;\n\t\t\tlet y = -this.currentPlayer.y * unitMultiplier;\n\n\t\t\t// Draw arrow\n\t\t\tlet angleSpread = Math.PI * 0.25;\n\t\t\tlet iconRadius = this.smallUI ? 3 : 6;\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = this.allianceData ? utils.getAllianceColor(this.allianceData[0]) : 'white';\n\t\t\tctx.translate(x, y);\n\t\t\tctx.rotate(this.currentPlayer.rot);\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(iconRadius, 0);\n\t\t\tctx.lineTo(\n\t\t\t\tMath.cos(Math.PI + angleSpread) * iconRadius,\n\t\t\t\tMath.sin(Math.PI + angleSpread) * iconRadius\n\t\t\t);\n\t\t\tctx.lineTo(-0.4 * iconRadius, 0);\n\t\t\tctx.lineTo(\n\t\t\t\tMath.cos(Math.PI - angleSpread) * iconRadius,\n\t\t\t\tMath.sin(Math.PI - angleSpread) * iconRadius\n\t\t\t);\n\t\t\tctx.fill();\n\t\t\tctx.restore();\n\t\t}\n\n\t\tctx.restore();\n\t}\n\n\trenderTextButton(\n\t\tctx,\n\t\ttext,\n\t\tx,\n\t\ty,\n\t\twidth = -1,\n\t\theight = -1,\n\t\tpaddingX = 10,\n\t\tpaddingY = 5,\n\t\tbackgroundStyle = null\n\t) {\n\t\tlet textWidth = width === -1 ? ctx.measureText(text).width + paddingX * 2 : width;\n\t\tlet textHeight = height === -1 ? parseFloat(ctx.font.split('px')[0]) + paddingY * 2 : height;\n\n\t\treturn this.renderButton(\n\t\t\tctx,\n\t\t\tx,\n\t\t\ty,\n\t\t\ttextWidth,\n\t\t\ttextHeight,\n\t\t\tctx => {\n\t\t\t\tctx.fillText(text, 0, 0);\n\t\t\t},\n\t\t\tbackgroundStyle\n\t\t);\n\t}\n\n\trenderButton(ctx, x, y, width, height, renderContent, backgroundStyle = 'white') {\n\t\t// Convert mouse to world position relative to this item\n\t\tlet mouseX;\n\t\tlet mouseY;\n\t\tif (this.renderingWorld) {\n\t\t\tmouseX = this.localToWorldX(this.mouseX) - x;\n\t\t\tmouseY = this.localToWorldY(this.mouseY) - y;\n\t\t} else {\n\t\t\tmouseX = this.mouseX - x;\n\t\t\tmouseY = this.mouseY - y;\n\t\t}\n\n\t\t// Determine state\n\t\tlet hovering =\n\t\t\tmouseX < width / 2 && mouseX > -width / 2 && mouseY < height / 2 && mouseY > -height / 2;\n\t\tlet active = hovering && this.leftClick;\n\n\t\t// Show the pointer\n\t\tif (hovering) {\n\t\t\tthis.canvas.classList.toggle('showPointer', true);\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Move to button\n\t\tctx.translate(x, y);\n\t\tif (active) {\n\t\t\tctx.scale(0.95, 0.95);\n\t\t} else if (hovering) {\n\t\t\tctx.scale(1.05, 1.05);\n\t\t}\n\n\t\t// Render the background\n\t\tctx.globalAlpha = active ? 0.8 : 1.0;\n\t\tctx.fillStyle = backgroundStyle;\n\t\tctx.fillRect(-width / 2, -height / 2, width, height);\n\n\t\t// Render content\n\t\tif (renderContent) {\n\t\t\tctx.fillStyle = 'black';\n\t\t\trenderContent(ctx);\n\t\t}\n\n\t\tctx.restore();\n\n\t\treturn active;\n\t}\n\n\tasync onPreInit(data) {\n\t\t// Save client ID\n\t\tlet [clientId, challengeSeed] = data;\n\t\tthis.clientId = clientId;\n\n\t\t// Respond to challenge\n\t\tlet challengeResponse = (challengeSeed * this.clientId) % 256;\n\t\tthis.sendInit(challengeResponse);\n\n\t\t// Update state\n\t\tthis.updateGameState();\n\t}\n\n\tonInit(data) {\n\t\tlet [gameMode] = data;\n\t\tthis.gameMode = this.vue.gameMode = gameMode;\n\n\t\t// Save initiated\n\t\tthis.initiated = true;\n\n\t\t// Update state\n\t\tthis.updateGameState();\n\t}\n\n\tonUpdate(data) {\n\t\tlet [\n\t\t\tplayerId,\n\t\t\tspectateId,\n\t\t\tappearedEntities,\n\t\t\tupdatedEntities,\n\t\t\tdisappearedEntities,\n\t\t\tdestroyedEntities\n\t\t] = data;\n\n\t\t// Handle new IDs\n\t\tlet oldPlayerId = playerId;\n\t\tthis.playerId = playerId;\n\t\tthis.spectateId = spectateId;\n\n\t\t// Handle appeared entities\n\t\tfor (let i = 0; i < appearedEntities.length; i += 2) {\n\t\t\tlet entityId = appearedEntities[i];\n\t\t\tlet initData = appearedEntities[i + 1];\n\n\t\t\t// Create and deserialize the entity\n\t\t\tlet entityKind = initData[0];\n\t\t\tlet entityPrototype = Game.ENTITY_KINDS[entityKind];\n\t\t\tlet entity = new entityPrototype(this);\n\t\t\tentity.id = entityId;\n\t\t\tentity.deserializeInit(initData);\n\n\t\t\t// Insert in to the game\n\t\t\tthis.insertEntity(entity);\n\t\t}\n\n\t\t// Handle updated entities\n\t\tfor (let i = 0; i < updatedEntities.length; i += 2) {\n\t\t\tlet entityId = updatedEntities[i];\n\t\t\tlet updateData = updatedEntities[i + 1];\n\n\t\t\t// Get the entity\n\t\t\tlet entity = this.entities[entityId];\n\t\t\tif (entity == null) continue; // Some entities may already be destroyed by client; e.g. bullets\n\n\t\t\t// Update the entity\n\t\t\tentity.deserialize(updateData);\n\t\t}\n\n\t\t// Handle disappeared entities\n\t\tfor (let entityId of disappearedEntities) {\n\t\t\tlet entity = this.entities[entityId];\n\t\t\tif (entity == null) continue; // See above\n\n\t\t\t// Remove the entity\n\t\t\tentity.destroy(false);\n\t\t}\n\n\t\t// Handle destroyed entities\n\t\tfor (let [entityId, destroyedData] of destroyedEntities) {\n\t\t\tlet entity = this.entities[entityId];\n\t\t\tif (entity == null) continue; // See above\n\n\t\t\t// Destroy the entity\n\t\t\tentity.destroyedData = destroyedData;\n\t\t\tentity.destroy(true);\n\t\t}\n\n\t\t// Update the game state\n\t\tthis.updateGameState();\n\t}\n\n\tonLeaderboard(data) {\n\t\tlet newPlayers = [];\n\n\t\t// Save the data\n\t\t[this.leaderboardData, this.playerRank, this.playerLeaderboardItem] = data;\n\n\t\t// Convert the leaderboard in to client data\n\t\tlet itemCount =\n\t\t\tthis.leaderboardData.length + (this.playerRank >= this.leaderboardData.length ? 1 : 0);\n\t\tlet leaderboardItems = [];\n\t\tfor (let i = 0; i < itemCount; i++) {\n\t\t\t// Get the item and rank\n\t\t\tlet rank;\n\t\t\tlet item;\n\t\t\tif (i < this.leaderboardData.length) {\n\t\t\t\trank = i;\n\t\t\t\titem = this.leaderboardData[i];\n\t\t\t} else if (this.playerLeaderboardItem) {\n\t\t\t\trank = this.playerRank;\n\t\t\t\titem = this.playerLeaderboardItem;\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trank++; // Make rank 1-based index\n\n\t\t\t// Parse leaderboard\n\t\t\tlet [clientId, allianceId, username, score] = item;\n\n\t\t\t// Get the alliance data\n\t\t\tlet allianceData =\n\t\t\t\tallianceId != null ? this.allianceList.filter(a => a[0] === allianceId)[0] : null;\n\n\t\t\t// Add to the leaderboard\n\t\t\tleaderboardItems.push({\n\t\t\t\trank,\n\t\t\t\tusername,\n\t\t\t\tscore,\n\t\t\t\tallianceName: allianceData ? allianceData[2] : null,\n\t\t\t\tallianceColor: allianceData ? utils.getAllianceColor(allianceData[0]) : null,\n\t\t\t\tisMine: clientId === this.clientId,\n\t\t\t});\n\t\t}\n\n\t\t// Save data to Vue\n\t\tthis.vue.leaderboardItems = leaderboardItems;\n\t}\n\n\tonMinimap(minimap) {\n\t\t// Process minimap data to unquantize values\n\t\tlet mapRadius = config.mapSize / 2;\n\t\tfor (let value of minimap) {\n\t\t\tvalue[2] = utils.unquantize(value[2], -mapRadius, mapRadius, config.minimapPositionBits); // X pos\n\t\t\tvalue[3] = utils.unquantize(value[3], -mapRadius, mapRadius, config.minimapPositionBits); // Y pos\n\t\t\tvalue[4] = utils.unquantize(value[4], 0, config.minimapMaxRadius, config.minimapRadiusBits); // Radius\n\t\t}\n\n\t\t// Save minimap data\n\t\tthis.minimapData = minimap;\n\t}\n\n\tonWeapons(data) {\n\t\t[this.ownedWeapons] = data;\n\n\t\t// Process weapons\n\t\tlet vueWeaponList = this.vue.weaponList;\n\t\tfor (let i = 0; i < this.ownedWeapons.length; i++) {\n\t\t\tlet [weaponIndex, ammo] = this.ownedWeapons[i];\n\t\t\tlet weapon = weapons.weapons[weaponIndex];\n\t\t\tlet vueItem = vueWeaponList[i];\n\n\t\t\t// Create new item if needed\n\t\t\tlet isNewItem = false;\n\t\t\tif (!vueItem) {\n\t\t\t\tvueItem = {};\n\t\t\t\tisNewItem = true;\n\t\t\t}\n\n\t\t\t// Update item\n\t\t\tlet maxAmmo = this.currentPlayer ? this.currentPlayer.getMaxAmmo(weaponIndex) : weapon.maxAmmo;\n\t\t\tvueItem.id = weapon.id;\n\t\t\tvueItem.icon = assets.iconUrl(weapon.icon);\n\t\t\tvueItem.ammoCount = maxAmmo === -1 ? '\\u221E' : `${ammo}/${maxAmmo}`;\n\t\t\tvueItem.index = weaponIndex;\n\n\t\t\t// Set in array\n\t\t\tif (isNewItem) {\n\t\t\t\tthis.vue.$set(vueWeaponList, i, vueItem);\n\t\t\t}\n\t\t}\n\n\t\t// Remove extra items\n\t\tvueWeaponList.length = this.ownedWeapons.length;\n\t}\n\n\tonStructures(data) {\n\t\t[this.ownedStructures] = data;\n\n\t\t// Process structures\n\t\tlet vueStructureList = this.vue.structureList;\n\t\tfor (let i = 0; i < this.ownedStructures.length; i++) {\n\t\t\tlet structureIndex = this.ownedStructures[i];\n\t\t\tlet structure = structures.structures[structureIndex];\n\t\t\tlet vueItem = vueStructureList[i];\n\n\t\t\t// Create new item if needed\n\t\t\tlet isNewItem = false;\n\t\t\tif (!vueItem) {\n\t\t\t\tvueItem = {};\n\t\t\t\tisNewItem = true;\n\t\t\t}\n\n\t\t\t// Update item\n\t\t\tvueItem.id = structure.id;\n\t\t\tvueItem.planetItem = structure.planetItem;\n\t\t\tvueItem.index = structureIndex;\n\t\t\tvueItem.icon = assets.structureUrl(structure.image);\n\n\t\t\t// Set in array\n\t\t\tif (isNewItem) {\n\t\t\t\tthis.vue.$set(vueStructureList, i, vueItem);\n\t\t\t}\n\t\t}\n\n\t\t// Remove extra items\n\t\tvueStructureList.length = this.ownedStructures.length;\n\t}\n\n\tonTextPopup(data) {\n\t\tlet [text, x, y, icon, life] = data;\n\n\t\t// Spawn text\n\t\tthis.textPopupManager.spawnText(text, x, -y, icon, life);\n\t}\n\n\tonMessage(data) {\n\t\tlet [entityId, clientId, username, x, y, text] = data;\n\n\t\t// Easter egg: spawn explosion on reee\n\t\tlet lowercaseText = text.toLowerCase();\n\t\tif (lowercaseText.startsWith('ree')) {\n\t\t\t// Create explosion based on the number of \"e\"s\n\t\t\tlet eCount = lowercaseText.match(/e/g).length;\n\t\t\tthis.explosionManager.spawnExplosion(x, -y, eCount * 10);\n\n\t\t\t// Replace text with frogs\n\t\t\ttext = '';\n\t\t\tfor (let i = 0; i < eCount; i++) {\n\t\t\t\ttext += '🐸';\n\t\t\t}\n\t\t}\n\n\t\t// Save message\n\t\tthis.chatMessages[entityId] = [text, clientId, username, x, -y, Date.now()];\n\t}\n\n\tonPing(data) {\n\t\tif (this.pingStart == null) {\n\t\t\t// Start ping\n\t\t\tthis.pingStart = Date.now();\n\t\t\tlet pingValidation = (data * this.clientId) % 128; // Validate by multiplying the number by the client ID\n\t\t\tthis.sendPing(pingValidation);\n\t\t} else {\n\t\t\t// Save ping time\n\t\t\tlet now = Date.now();\n\t\t\tthis.ping = (now - this.pingStart) / 1000;\n\t\t\tthis.pingStart = null;\n\t\t}\n\t}\n\n\tonNotification(data) {\n\t\tlet [type, translationKey, translationData] = data;\n\t\ttranslationData = translationData || [];\n\n\t\t// Translate keys\n\t\tfor (let i = 0; i < translationData.length; i++) {\n\t\t\tif (translationData[i].startsWith('structure:')) {\n\t\t\t\ttranslationData[i] = structures.structureForId(translationData[i].slice(10)).name;\n\t\t\t}\n\t\t}\n\n\t\t// Play sound\n\t\tswitch (type) {\n\t\t\tcase config.notificationTypes.PLAYER_KILL:\n\t\t\t\tassets.playSound('kill-player', 1.0);\n\t\t\t\tthis.killVignetteProgress = 1.0;\n\t\t\t\tbreak;\n\t\t\tcase config.notificationTypes.DEATH:\n\t\t\t\t// Play death\n\t\t\t\tassets.playSound('death', 1.0);\n\n\t\t\t\t// Mark death spot\n\t\t\t\tthis.deathPosX = this.currentPlayer.x;\n\t\t\t\tthis.deathPosY = this.currentPlayer.y;\n\n\t\t\t\t// Refresh ad\n\t\t\t\tif (window.refreshAd) {\n\t\t\t\t\twindow.refreshAd();\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('No refresh ad function.');\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase config.notificationTypes.JUST_STOP:\n\t\t\t\twindow.onbeforeunload = null; // Don't warn before leaving\n\t\t\t\tlocation.href = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Show notification\n\t\tthis.lastNotificationDate = Date.now();\n\t\tthis.lastNotificationText = utils.translate(translationKey, ...translationData);\n\t}\n\n\tonAllianceList(data) {\n\t\t// Save data\n\t\tthis.allianceList = data;\n\n\t\t// Refresh alliances if needed\n\t\tif (this.showingAlliances) this.toggleAlliances(true);\n\t}\n\n\tonAllianceData(data) {\n\t\t// Save data\n\t\tthis.allianceData = data;\n\n\t\t// Refresh alliances if needed\n\t\tif (this.showingAlliances) this.toggleAlliances(true);\n\t}\n\n\tonAllianceJoinRequest(data) {\n\t\tlet holder = document.getElementById('joinRequestHolder');\n\t\tif (data.length > 0) {\n\t\t\t// Show holder\n\t\t\tholder.style.display = 'block';\n\n\t\t\t// Set title\n\t\t\tdocument.getElementById('joinRequestCount').innerText = data.length;\n\n\t\t\t// Set name\n\t\t\tdocument.getElementById('joinRequestName').innerText = data[0][1];\n\t\t} else {\n\t\t\t// Hide the holder\n\t\t\tholder.style.display = 'none';\n\t\t}\n\t}\n\n\tonResources(data) {\n\t\t// Get the new resources\n\t\t[this.score, this.resources, this.structureCounts] = data;\n\t\t[this.vue.score, this.vue.resources, this.vue.structureCounts] = data;\n\n\t\t// Update the resource display if in game\n\t\tlet respawnTip = document.getElementById('respawnTip');\n\t\tif (this.score > 0 || this.resources.filter(r => r > 0).length > 0) {\n\t\t\trespawnTip.style.display = 'block';\n\t\t\trespawnTip.innerHTML = utils.translate(\n\t\t\t\t'respawn-tip',\n\t\t\t\tutils.generateResourcesHTML(this.resources),\n\t\t\t\tMath.floor(this.score)\n\t\t\t);\n\t\t} else {\n\t\t\trespawnTip.style.display = 'none';\n\t\t}\n\t}\n\n\tonUpgradeOptions(data) {\n\t\t// Read data\n\t\tlet newPerkIndexes;\n\t\t[this.vue.upgradeOptions, newPerkIndexes] = data;\n\n\t\t// Save new perks immediately\n\t\tif (this.currentPlayer) this.currentPlayer.perks = newPerkIndexes;\n\t}\n\n\t/*** TOUCH ***/\n\tsetUsingTouch(using) {\n\t\tthis.usingTouch = using;\n\t\tthis.vue.usingTouch = using;\n\t}\n\n\tcanvasTouchStart(ev) {\n\t\tev.preventDefault();\n\t\tev.stopPropagation();\n\t\tthis.setUsingTouch(true);\n\n\t\tthis.vue.hoveringStructure = null;\n\t\tthis.vue.hoveringnPerk = null;\n\n\t\tfor (let t of ev.changedTouches) {\n\t\t\tif (t.pageX < document.body.scrollWidth / 2 && this.controllingTouch.id === -1) {\n\t\t\t\tthis.controllingTouch.id = t.identifier;\n\t\t\t\tthis.controllingTouch.startX = this.controllingTouch.currentX = t.pageX;\n\t\t\t\tthis.controllingTouch.startY = this.controllingTouch.currentY = t.pageY;\n\t\t\t\t// All movements will be done in touch move\n\t\t\t} else if (t.pageX > document.body.scrollWidth / 2 && this.attackingTouch.id === -1) {\n\t\t\t\tthis.attackingTouch.id = t.identifier;\n\t\t\t\tthis.attackingTouch.startX = this.attackingTouch.currentX = t.pageX;\n\t\t\t\tthis.attackingTouch.startY = this.attackingTouch.currentY = t.pageY;\n\t\t\t\t// All attack states will be done in the move event\n\t\t\t}\n\t\t}\n\t}\n\n\tcanvasTouchMove(ev) {\n\t\tev.preventDefault();\n\t\tev.stopPropagation();\n\t\tthis.setUsingTouch(true);\n\n\t\tfor (let t of ev.changedTouches) {\n\t\t\tif (t.identifier === this.controllingTouch.id) {\n\t\t\t\tthis.controllingTouch.currentX = t.pageX;\n\t\t\t\tthis.controllingTouch.currentY = t.pageY;\n\t\t\t} else if (t.identifier === this.attackingTouch.id) {\n\t\t\t\tthis.attackingTouch.currentX = t.pageX;\n\t\t\t\tthis.attackingTouch.currentY = t.pageY;\n\t\t\t}\n\t\t}\n\t}\n\n\tcanvasTouchEnd(ev) {\n\t\tev.preventDefault();\n\t\tev.stopPropagation();\n\t\tthis.setUsingTouch(true);\n\n\t\tfor (let t of ev.changedTouches) {\n\t\t\tif (t.identifier === this.controllingTouch.id) {\n\t\t\t\tthis.controllingTouch.id = -1;\n\t\t\t} else if (t.identifier === this.attackingTouch.id) {\n\t\t\t\tthis.attackingTouch.id = -1;\n\t\t\t}\n\t\t}\n\t}\n\n\trenderControl(ctx, startX, startY, currentX, currentY) {\n\t\tctx.save();\n\n\t\tlet diffX = currentX - startX;\n\t\tlet diffY = currentY - startY;\n\t\tlet dist = Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2));\n\t\tlet triggerThreshold = this.touchTriggerThreshold;\n\t\tlet controlRadius = this.touchControlRadius;\n\t\tlet isTriggering = dist > triggerThreshold;\n\n\t\tctx.beginPath();\n\t\tctx.arc(startX, startY, controlRadius, 0, Math.PI * 2, false);\n\t\tctx.closePath();\n\t\tctx.fillStyle = 'rgba(255, 255, 255, 0.2)';\n\t\tctx.fill();\n\n\t\tctx.beginPath();\n\t\tctx.arc(startX, startY, triggerThreshold, 0, Math.PI * 2, false);\n\t\tctx.closePath();\n\t\tctx.fillStyle = isTriggering ? 'rgba(255, 100, 100, 0.5)' : 'rgba(255, 255, 255, 0.1)';\n\t\tctx.fill();\n\n\t\tlet offsetX = diffX;\n\t\tlet offsetY = diffY;\n\t\tlet mag = Math.sqrt(Math.pow(offsetX, 2) + Math.pow(offsetY, 2));\n\t\tlet divisor = mag > controlRadius ? mag / controlRadius : 1;\n\t\toffsetX /= divisor;\n\t\toffsetY /= divisor;\n\n\t\tctx.beginPath();\n\t\tctx.arc(startX + offsetX, startY + offsetY, controlRadius * 0.5, 0, Math.PI * 2, false);\n\t\tctx.closePath();\n\t\tctx.fillStyle = 'white';\n\t\tctx.fill();\n\n\t\tctx.restore();\n\t}\n\n\t/*** UI ***/\n\tupdateGameState() {\n\t\tlet inGame = this.inGame;\n\n\t\t// Show/hide menu\n\t\tlet showingLoading = (!this.socketOpen || !this.initiated) && !this.socketClosed;\n\t\tdocument.getElementById('loadingScreen').style.display = showingLoading ? 'flex' : 'none';\n\t\tlet showingDisconnect = this.socketClosed;\n\t\tdocument.getElementById('disconnectScreen').style.display = showingDisconnect ? 'flex' : 'none';\n\t\tdocument.getElementById('mainMenu').style.display =\n\t\t\t!showingDisconnect && !showingLoading && !inGame ? 'block' : 'none';\n\t\tdocument.getElementById('gameOverlay').style.display =\n\t\t\tinGame && !this.modalShowing ? 'block' : 'none';\n\n\t\t// Update UI\n\t\tif (!inGame) {\n\t\t\tdocument.body.classList.remove('inGame');\n\n\t\t\tif (this.showingAlliances) this.toggleAlliances(false);\n\t\t\tif (this.showingChatBox) this.toggleChatBox(false);\n\t\t\tif (this.showingHelp) this.toggleHelp(false);\n\t\t} else {\n\t\t\tdocument.body.classList.add('inGame');\n\t\t}\n\n\t\t// Make sure only one modal showing\n\t\tif (this.showingAlliances && this.showingHelp) {\n\t\t\tthis.toggleHelp(false);\n\t\t}\n\t}\n\n\ttoggleAlliances(show) {\n\t\tlet alliancesUI = document.getElementById('alliances');\n\n\t\t// Render alliance\n\t\tif (show) {\n\t\t\t// Add alliance items\n\t\t\tlet allianceHolder = document.getElementById('allianceList');\n\t\t\twhile (allianceHolder.firstChild) allianceHolder.removeChild(allianceHolder.firstChild);\n\n\t\t\tif (this.allianceData) {\n\t\t\t\t// Render members\n\t\t\t\tlet [id, ownerId, name, members] = this.allianceData;\n\n\t\t\t\tfor (let member of members) {\n\t\t\t\t\tlet [memberId, username] = member;\n\n\t\t\t\t\tlet memberItem = document.createElement('div');\n\t\t\t\t\tmemberItem.classList.add('allianceItem');\n\n\t\t\t\t\tlet allianceName = document.createElement('div');\n\t\t\t\t\tallianceName.classList.add('allianceName');\n\t\t\t\t\tallianceName.innerText = username;\n\t\t\t\t\tmemberItem.appendChild(allianceName);\n\n\t\t\t\t\tif (ownerId === this.clientId && memberId !== this.clientId) {\n\t\t\t\t\t\tlet kickButton = document.createElement('div');\n\t\t\t\t\t\tkickButton.classList.add('allianceJoin', 'button', 'compact');\n\t\t\t\t\t\tkickButton.innerText = utils.translate('alliance-kick');\n\t\t\t\t\t\tkickButton.addEventListener('click', () => this.sendKickMember(memberId));\n\t\t\t\t\t\tmemberItem.appendChild(kickButton);\n\t\t\t\t\t}\n\n\t\t\t\t\tallianceHolder.appendChild(memberItem);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Render alliance list\n\t\t\t\tfor (let alliance of this.allianceList || []) {\n\t\t\t\t\tlet [id, ownerId, name, playerCount] = alliance;\n\n\t\t\t\t\tlet allianceItem = document.createElement('div');\n\t\t\t\t\tallianceItem.style.color = utils.getAllianceColor(id);\n\t\t\t\t\tallianceItem.classList.add('allianceItem');\n\n\t\t\t\t\tlet allianceName = document.createElement('div');\n\t\t\t\t\tallianceName.classList.add('allianceName');\n\t\t\t\t\tallianceName.innerText = `${name} (${playerCount})`;\n\t\t\t\t\tallianceItem.appendChild(allianceName);\n\n\t\t\t\t\tlet joinButton = document.createElement('div');\n\t\t\t\t\tjoinButton.classList.add('allianceJoin', 'button', 'compact');\n\t\t\t\t\tjoinButton.innerText = utils.translate('alliance-join');\n\t\t\t\t\tjoinButton.addEventListener('click', () => {\n\t\t\t\t\t\t// Send request\n\t\t\t\t\t\tthis.sendJoinAlliance(id);\n\n\t\t\t\t\t\t// Notify requested\n\t\t\t\t\t\tjoinButton.innerText = utils.translate('alliance-requested');\n\t\t\t\t\t\tjoinButton.classList.add('disabled');\n\t\t\t\t\t});\n\t\t\t\t\tallianceItem.appendChild(joinButton);\n\n\t\t\t\t\tallianceHolder.appendChild(allianceItem);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Show/hide show state\n\t\t\tdocument.getElementById('createAllianceHolder').style.display = this.allianceData\n\t\t\t\t? 'none'\n\t\t\t\t: 'block';\n\t\t\tdocument.getElementById('leaveAllianceButton').style.display = this.allianceData\n\t\t\t\t? 'block'\n\t\t\t\t: 'none';\n\t\t}\n\n\t\t// Show alliance\n\t\talliancesUI.style.display = show ? 'flex' : 'none';\n\t\tthis.showingAlliances = show;\n\t}\n\n\ttoggleChatBox(showing, defaultText = '') {\n\t\t// Prompt if on mobile\n\t\tif (this.usingTouch) {\n\t\t\tlet response = prompt('Chat message:');\n\t\t\tif (response) this.sendMessage(response);\n\t\t\treturn;\n\t\t}\n\n\t\t// Show chat box\n\t\tthis.showingChatBox = showing;\n\t\tlet chatBox = document.getElementById('chatBox');\n\t\tchatBox.value = defaultText;\n\t\tchatBox.style.display = showing ? 'block' : 'none';\n\t\tchatBox.placeholder = utils.translate('message-placeholder');\n\t\tchatBox.blur(); // Fixes for Safari and Firefox\n\t\tif (showing) chatBox.focus();\n\t}\n\n\ttoggleHelp(show) {\n\t\t// Show help\n\t\tlet helpUI = document.getElementById('helpOverlay');\n\t\thelpUI.style.display = show ? 'block' : 'none';\n\t\tthis.showingHelp = show;\n\t}\n\n\tupdateControlPanel() {\n\t\tlet panel = document.getElementById('commandPanel');\n\t\tlet planetPanel = document.getElementById('planetPanel');\n\t\tlet structurePanel = document.getElementById('structurePanel');\n\n\t\t// Hide panel\n\t\tlet player = this.currentPlayer;\n\t\tif (!player || !player.overlappingPlanet) {\n\t\t\tpanel.style.display = 'none';\n\t\t\treturn;\n\t\t} else {\n\t\t\tpanel.style.display = 'block';\n\t\t}\n\t\tlet planet = player.overlappingPlanet;\n\t\tlet structure = player.visitingStructure;\n\n\t\t// Render planet panel\n\t\tif (planet) {\n\t\t\tplanetPanel.style.display = 'block';\n\t\t\tdocument.getElementById('planetPanelTitle').innerText = utils.translate(\n\t\t\t\t'planet-label',\n\t\t\t\tplanet.name\n\t\t\t);\n\n\t\t\tlet resourceValues = [];\n\t\t\tfor (let i = 0; i < planet.resources.length; i++) {\n\t\t\t\tlet generationRate = planet.resourceGenerationRate[i] - planet.totalResourceDemand[i];\n\t\t\t\tresourceValues.push(\n\t\t\t\t\t`${Math.floor(\n\t\t\t\t\t\tplanet.resources[i]\n\t\t\t\t\t)}/${planet.resourceMax[i]} (${generationRate.toFixed(1)}/s)`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tlet details = `
${utils.translate('citizens')}: ${Math.floor(\n\t\t\t\tplanet.totalLaborAvailable\n\t\t\t)}
${utils.translate('labor-demand')}: planet.totalLaborAvailable ? 'warning' : ''\n\t\t\t}\">${Math.floor(planet.totalLaborDemand)}
`;\n\t\t\tdetails += utils.generateResourcesHTML(resourceValues, true);\n\t\t\tdocument.getElementById('planetDetails').innerHTML = details;\n\t\t} else {\n\t\t\tplanetPanel.style.display = 'none';\n\t\t}\n\n\t\t// Render structure panel\n\t\tif (structure) {\n\t\t\tstructurePanel.style.display = 'block';\n\n\t\t\t// Set name\n\t\t\tdocument.getElementById('structurePanelTitle').innerText = structure.structure.name;\n\n\t\t\t// Get details\n\t\t\tlet structureDetails = document.getElementById('structureDetails');\n\n\t\t\t// Details creation function; this is a way of easily rendering details without recreated the elements\n\t\t\t// every time this is called; in addition to better performance, it also prevents buttons from glitching out\n\t\t\t// when hovered or clicked and not maintaining state; this is done by adding elements with unique IDs, then\n\t\t\t// either creating or updating the element accordingly and removing all other elements which do not belong\n\t\t\t// to this update.\n\t\t\tlet addedIDs = [];\n\t\t\tlet addDetails = (id, text) => {\n\t\t\t\tlet elementId = `${id}Detail${structure.id}`;\n\t\t\t\tlet textElement = document.getElementById(elementId); // Reuse old element if possible\n\t\t\t\tif (!textElement) {\n\t\t\t\t\ttextElement = document.createElement('div');\n\t\t\t\t\ttextElement.id = elementId;\n\t\t\t\t\tstructureDetails.appendChild(textElement);\n\t\t\t\t}\n\n\t\t\t\ttextElement.innerHTML = text;\n\n\t\t\t\taddedIDs.push(elementId);\n\t\t\t};\n\t\t\tlet addAction = (id, label, cb, enabled = true) => {\n\t\t\t\tlet elementId = `${id}Button${structure.id}`;\n\t\t\t\tlet buttonElement = document.getElementById(elementId); // Reuse old element if possible\n\t\t\t\tif (!buttonElement) {\n\t\t\t\t\tbuttonElement = document.createElement('div');\n\t\t\t\t\tbuttonElement.id = elementId;\n\t\t\t\t\tbuttonElement.classList.add('button', 'compact');\n\t\t\t\t\tstructureDetails.appendChild(buttonElement);\n\t\t\t\t}\n\n\t\t\t\tbuttonElement.classList.toggle('disabled', !enabled);\n\t\t\t\twhile (buttonElement.firstChild) buttonElement.removeChild(buttonElement.firstChild);\n\t\t\t\tif (typeof label === 'string') {\n\t\t\t\t\tbuttonElement.innerHTML = label;\n\t\t\t\t} else {\n\t\t\t\t\tfor (let child of label) buttonElement.appendChild(child);\n\t\t\t\t}\n\n\t\t\t\tbuttonElement.onmousedown = cb; // Don't use `addEventListener` since we ant to replace the old cb; we use onmousedown, since `onclick` may get cancelled if the children are updated\n\n\t\t\t\taddedIDs.push(elementId);\n\t\t\t};\n\n\t\t\t// Add details\n\t\t\tif (structure.isWorkingStructure) {\n\t\t\t\t// Count\n\t\t\t\taddDetails(\n\t\t\t\t\t'workingStructureCount',\n\t\t\t\t\t`${utils.translate('count')}: ${Math.floor(structure.count)}/${Math.floor(\n\t\t\t\t\t\tstructure.maxCount\n\t\t\t\t\t)}`\n\t\t\t\t);\n\n\t\t\t\t// Labor\n\t\t\t\tlet percentLaborFulfilled = structure.percentLaborFulfilled;\n\t\t\t\taddDetails(\n\t\t\t\t\t'workingStructureLabor',\n\t\t\t\t\t`${utils.translate('labor')}: ${Math.floor(percentLaborFulfilled * 100)}% (${Math.floor(\n\t\t\t\t\t\tstructure.laborDemand * percentLaborFulfilled\n\t\t\t\t\t)}/${structure.laborDemand})`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Add interact actions\n\t\t\tlet collectCount = Math.ceil(structure.maxCount / 10);\n\t\t\tlet allCount = structure.count;\n\t\t\tlet canCollect = structure.count >= collectCount;\n\t\t\tif (structure.canInteract(this.clientId)) {\n\t\t\t\tif (structure.isMine) {\n\t\t\t\t\t// Draw consumption rate\n\t\t\t\t\taddDetails(\n\t\t\t\t\t\t'mineConsumption',\n\t\t\t\t\t\t`${utils.translate('consumption-label')}:${utils.generateResourceHTML(\n\t\t\t\t\t\t\tstructure.resourceIndex,\n\t\t\t\t\t\t\tMath.floor(structure.adjustedGenerationRate)\n\t\t\t\t\t\t)}/s`\n\t\t\t\t\t);\n\n\t\t\t\t\t// Mine actions\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t'mineCollectCount',\n\t\t\t\t\t\t`${utils.translate('collect-label')}${utils.generateResourceHTML(\n\t\t\t\t\t\t\tstructure.resourceIndex,\n\t\t\t\t\t\t\tcollectCount\n\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.sendStructureAction(structures.actions.COLLECT, collectCount);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcanCollect\n\t\t\t\t\t);\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t'mineCollectAll',\n\t\t\t\t\t\t`${utils.translate('collect-label')}${utils.generateResourceHTML(\n\t\t\t\t\t\t\tstructure.resourceIndex,\n\t\t\t\t\t\t\tutils.translate('all-label')\n\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.sendStructureAction(structures.actions.COLLECT, allCount);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallCount > 0\n\t\t\t\t\t);\n\t\t\t\t} else if (structure.isFactory) {\n\t\t\t\t\t// Factory stats\n\t\t\t\t\tlet resourceStats = [];\n\t\t\t\t\tlet produceCount = -1; // How many can be built before running out of resources\n\t\t\t\t\tfor (let i = 0; i < structure.depositedResources.length; i++) {\n\t\t\t\t\t\tlet deposited = structure.depositedResources[i];\n\t\t\t\t\t\tlet bulletResource = structure.weapon.bulletResources[i];\n\n\t\t\t\t\t\t// Determine how many can be built\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tbulletResource !== 0 &&\n\t\t\t\t\t\t\t(produceCount === -1 || deposited / bulletResource < produceCount)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tproduceCount = deposited / bulletResource;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Add the statistic; it's a warning if deposited < sign(bulletResource) so it's only there if\n\t\t\t\t\t\t// the factory requires > 1 of that given resource\n\t\t\t\t\t\tresourceStats.push(\n\t\t\t\t\t\t\t`${Math.floor(deposited)} (${bulletResource.toFixed(1)}/unit)`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\taddDetails(\n\t\t\t\t\t\t'factoryResources',\n\t\t\t\t\t\tutils.generateResourcesHTML(\n\t\t\t\t\t\t\tresourceStats,\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\ti => structure.weapon.bulletResources[i] > 0\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tif (produceCount > 0) {\n\t\t\t\t\t\taddDetails(\n\t\t\t\t\t\t\t'factoryProductCount',\n\t\t\t\t\t\t\tutils.translate(\n\t\t\t\t\t\t\t\tproduceCount > 1 ? 'units-remaining' : 'unit-remaining',\n\t\t\t\t\t\t\t\tMath.ceil(produceCount)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddDetails('factoryProductCount', utils.translate('out-of-resources'));\n\t\t\t\t\t}\n\n\t\t\t\t\t// Deposit action\n\t\t\t\t\tlet depositDuration = 15; // Deposit materials for 15 seconds of factory functioning\n\t\t\t\t\tlet depositCounts = [];\n\t\t\t\t\tlet canAfford = true;\n\t\t\t\t\tfor (let i = 0; i < structure.depositedResources.length; i++) {\n\t\t\t\t\t\t// The count is either enough to run the factory for 15 seconds or enough for 1 bullet (for things like shields)\n\t\t\t\t\t\tlet count = Math.max(\n\t\t\t\t\t\t\tstructure.generationRate * structure.bulletResources[i] * depositDuration,\n\t\t\t\t\t\t\tstructure.bulletResources[i]\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdepositCounts.push(count); // Save the count\n\t\t\t\t\t\tif (this.resources[i] < count) canAfford = false; // Determine if can afford\n\t\t\t\t\t}\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t'factoryDeposit',\n\t\t\t\t\t\t`${utils.translate('deposit-label')}${utils.generateResourcesHTML(\n\t\t\t\t\t\t\tdepositCounts,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t)}`, // Space inserted by icon margin\n\t\t\t\t\t\t() => this.sendStructureAction(structures.actions.DEPOSIT, depositCounts),\n\t\t\t\t\t\tcanAfford\n\t\t\t\t\t);\n\n\t\t\t\t\t// Collect actions\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t'factoryCollectCount',\n\t\t\t\t\t\t`${utils.translate('collect-label')} ${collectCount} ${structure.weapon.name}`,\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.sendStructureAction(structures.actions.COLLECT, collectCount);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcanCollect\n\t\t\t\t\t);\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t'factoryCollectAll',\n\t\t\t\t\t\t`${utils.translate('collect-label')} ${utils.translate('all-label')} ${\n\t\t\t\t\t\t\tstructure.weapon.name\n\t\t\t\t\t\t}`,\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.sendStructureAction(structures.actions.COLLECT, allCount);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallCount > 0\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Add owner actions\n\t\t\t\tif (structure.isOwner(this.clientId)) {\n\t\t\t\t\taddAction(\n\t\t\t\t\t\t`structureSharingToggle`,\n\t\t\t\t\t\t`[${utils\n\t\t\t\t\t\t\t.translate(structure.allianceSharing ? 'on-label' : 'off-label')\n\t\t\t\t\t\t\t.toUpperCase()}] ${utils.translate('toggle-sharing')}`,\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.sendStructureAction(\n\t\t\t\t\t\t\t\tstructures.actions.TOGGLE_SHARING,\n\t\t\t\t\t\t\t\t!structure.allianceSharing\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\t// Demolish + Confirm messages\n\t\t\t\t\tif (!this.demolishConfirm) {\n\t\t\t\t\t\taddAction(\n\t\t\t\t\t\t\t'demolish',\n\t\t\t\t\t\t\t`${utils.translate('demolish')}`,\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tthis.demolishConfirm = true;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (this.demolishConfirm) {\n\t\t\t\t\t\taddAction('demolish', `${utils.translate('confirmation-question')}`, () => {\n\t\t\t\t\t\t\tthis.sendStructureAction(structures.actions.DEMOLISH, true);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Clear children that were not added this update; we have to remove the children in a separate loop,\n\t\t\t// otherwise, only one element will be removed per call since the list shortens as children are removed\n\t\t\tlet removeChildren = [];\n\t\t\tfor (let child of structureDetails.childNodes) {\n\t\t\t\t// Find all old children\n\t\t\t\tif (addedIDs.indexOf(child.id) === -1) removeChildren.push(child);\n\t\t\t}\n\t\t\tfor (let child of removeChildren) {\n\t\t\t\t// Remove all old children\n\t\t\t\tstructureDetails.removeChild(child);\n\t\t\t}\n\t\t} else {\n\t\t\tstructurePanel.style.display = 'none';\n\t\t\tthis.demolishConfirm = false; // Make the demolish promt reset if go off structure\n\t\t}\n\t}\n\n\trenderServerList(options) {\n\t\tlet serverSelector = document.getElementById('serverSelector');\n\t\twhile (serverSelector.firstChild) serverSelector.removeChild(serverSelector.firstChild);\n\n\t\t// Add all options\n\t\tfor (let optionData of options) {\n\t\t\tlet option = document.createElement('option');\n\t\t\toption.text = optionData.text;\n\t\t\toption.disabled = !!optionData.disabled;\n\t\t\toption.value = optionData.value;\n\t\t\toption.selected = !!optionData.selected;\n\t\t\tserverSelector.appendChild(option);\n\t\t}\n\n\t\t// Call callback on change\n\t\tserverSelector.onchange = () => {\n\t\t\tlet option = options.filter(o => o.value === serverSelector.value)[0];\n\t\t\toption.onSelect();\n\t\t};\n\t}\n\n\t/*** REWARDS ***/\n\thasReward(reward) {\n\t\treturn this.rewards.has(reward);\n\t}\n\taddReward(reward) {\n\t\tthis.rewards.add(reward);\n\t\tthis._saveRewards();\n\t}\n\tremoveReward(reward) {\n\t\tthis.rewards.delete(reward);\n\t\tthis._saveRewards();\n\t}\n\t_saveRewards() {\n\t\tthis.vue.rewards = [...this.rewards.values()];\n\t\tlocalStorage.setItem('r', [...this.rewards.values()]);\n\t}\n\n\t/*** WORLD ***/\n\tget worldScale() {\n\t\treturn this.height / (config.viewportHeight * this.viewDistanceMultiplier);\n\t}\n\n\tget viewWidth() {\n\t\treturn this.width / this.worldScale;\n\t}\n\n\tget viewHeight() {\n\t\treturn this.height / this.worldScale;\n\t}\n\n\tlocalToWorldX(x) {\n\t\treturn (x - this.width / 2) / this.worldScale + this.viewportX;\n\t}\n\n\tlocalToWorldY(y) {\n\t\treturn (y - this.height / 2) / this.worldScale + this.viewportY;\n\t}\n\n\tpointVisible(x, y, padding = 0) {\n\t\treturn (\n\t\t\tx < this.viewportX + this.viewWidth / 2 + padding &&\n\t\t\tx > this.viewportX - this.viewWidth / 2 - padding &&\n\t\t\ty < this.viewportY + this.viewHeight / 2 + padding &&\n\t\t\ty > this.viewportY - this.viewHeight / 2 - padding\n\t\t);\n\t}\n}\n\nGameClient.dt = 1 / 60; // 60 FPS no matter the frame rate\n\nGameClient.weaponKeys = '1234567890-=yuiop[]\\\\';\n\nmodule.exports = GameClient;\n","const keycode = require('keycode');\n\n/**\n * @typedef {string|number} InputKey\n */\n\n/**\n * @typedef {InputKey[]} InputKeyList\n */\n\n/**\n * @callback InputCallback\n * @param {KeyboardEvent} event\n */\n\n/**\n * @readonly\n * @enum {number}\n */\nconst SubscribeType = {\n\tDOWN: 0,\n\tUP: 1,\n\tBOTH: 2\n};\n\nconst InputHandler = {\n\tSubscribeType: SubscribeType,\n\n\t/* Keyboard */\n\t/**\n\t * Array of key states.\n\t * @type {Object.}\n\t */\n\tkeys: {},\n\n\t/**\n\t * List of subscriptions to key down events.\n\t * @type {Object.}\n\t */\n\tkeyDownSubscriptions: {},\n\n\t/**\n\t * List of subscriptions to key up events.\n\t * @type {Object.}\n\t */\n\tkeyUpSubscriptions: {},\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tonKeyDown(event) {\n\t\tlet code = keycode(event);\n\n\t\t// Make sure the key is not already down, since `keydown` repeats over and over again\n\t\tif (this.keys[code]) return;\n\n\t\t// Save the state and trigger the event\n\t\tthis.keys[code] = true;\n\t\tif (this.keyDownSubscriptions[code]) this.keyDownSubscriptions[code](event);\n\t},\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tonKeyUp(event) {\n\t\t// Save the state and trigger the event\n\t\tlet code = keycode(event);\n\t\tthis.keys[code] = false;\n\t\tif (this.keyUpSubscriptions[code]) this.keyUpSubscriptions[code](event);\n\t},\n\n\t/**\n\t * Returns whether or not a list of keys are down.\n\t * @param {...InputKey} keys\n\t * @returns {boolean}\n\t */\n\tkey(...keys) {\n\t\t// Normalize\n\t\tkeys = InputHandler.normalizeCodes(keys);\n\n\t\t// Return true if any of the keys are down\n\t\tfor (let key of keys) {\n\t\t\t// Return true if is down\n\t\t\tlet value = this.keys[key];\n\t\t\tif (value)\n\t\t\t\t// If not null and is true\n\t\t\t\treturn true;\n\t\t}\n\n\t\t// Otherwise return false\n\t\treturn false;\n\t},\n\n\t/**\n\t * Subscribe to events.\n\t * @param {InputKeyList} keys\n\t * @param {InputCallback} callback\n\t * @param {SubscribeType} subscribeType\n\t */\n\tsubscribe(keys, callback, subscribeType = SubscribeType.DOWN) {\n\t\t// Normalize\n\t\tkeys = InputHandler.normalizeCodes(keys);\n\n\t\t// Subscribe\n\t\tfor (let key of keys) {\n\t\t\tif (subscribeType === SubscribeType.DOWN || subscribeType === SubscribeType.BOTH) {\n\t\t\t\tInputHandler.keyDownSubscriptions[key] = callback;\n\t\t\t}\n\t\t\tif (subscribeType === SubscribeType.UP || subscribeType === SubscribeType.BOTH) {\n\t\t\t\tInputHandler.keyUpSubscriptions[key] = callback;\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Normalizes a list of key codes\n\t * @param {InputKeyList} keys\n\t * @returns {string[]}\n\t */\n\tnormalizeCodes(keys) {\n\t\t// Go through array and normalize codes to string\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t// Get the key's code\n\t\t\tlet key = keys[i];\n\t\t\tif (typeof key === 'string') {\n\t\t\t\tkeys[i] = keycode(keycode(key)); // Normalize the keycode\n\t\t\t} else {\n\t\t\t\tkeys[i] = keycode(key); // Convert key to a string\n\t\t\t}\n\t\t}\n\n\t\treturn keys;\n\t},\n\n\t/* Gamepad */\n\t/**\n\t * Return a list of gamepads.\n\t * @returns {Gamepad[]}\n\t */\n\tget gamepads() {\n\t\treturn navigator.getGamepads\n\t\t\t? navigator.getGamepads()\n\t\t\t: navigator.webkitGetGamepads\n\t\t\t? navigator.webkitGetGamepads()\n\t\t\t: [];\n\t},\n\n\t/** @returns {number} */ get leftJoystickX() {\n\t\treturn this.axisValue(0);\n\t},\n\t/** @returns {number} */ get leftJoystickY() {\n\t\treturn this.axisValue(1);\n\t},\n\n\t/** @returns {number} */ get rightJoystickX() {\n\t\treturn this.axisValue(2);\n\t},\n\t/** @returns {number} */ get rightJoystickY() {\n\t\treturn this.axisValue(3);\n\t},\n\n\t/** @returns {number} */ get arrowsX() {\n\t\treturn this.axisValue(4);\n\t},\n\t/** @returns {number} */ get arrowsY() {\n\t\treturn this.axisValue(5);\n\t},\n\n\t/** @returns {number} */ get leftBumper1() {\n\t\treturn this.buttonValue(4);\n\t},\n\t/** @returns {boolean} */ get leftBumper1Pressed() {\n\t\treturn this.buttonPressed(4);\n\t},\n\n\t/** @returns {number} */ get leftBumper2() {\n\t\treturn this.buttonValue(6);\n\t},\n\t/** @returns {boolean} */ get leftBumper2Pressed() {\n\t\treturn this.buttonPressed(6);\n\t},\n\n\t/** @returns {number} */ get rightBumper1() {\n\t\treturn this.buttonValue(5);\n\t},\n\t/** @returns {boolean} */ get rightBumper1Pressed() {\n\t\treturn this.buttonPressed(5);\n\t},\n\n\t/** @returns {number} */ get rightBumper2() {\n\t\treturn this.buttonValue(7);\n\t},\n\t/** @returns {boolean} */ get rightBumper2Pressed() {\n\t\treturn this.buttonPressed(7);\n\t},\n\n\t/** @returns {number} */ get buttonA() {\n\t\treturn this.buttonValue(0);\n\t},\n\t/** @returns {boolean} */ get buttonAPressed() {\n\t\treturn this.buttonPressed(0);\n\t},\n\n\t/** @returns {number} */ get buttonB() {\n\t\treturn this.buttonValue(1);\n\t},\n\t/** @returns {boolean} */ get buttonBPressed() {\n\t\treturn this.buttonPressed(1);\n\t},\n\n\t/** @returns {number} */ get buttonX() {\n\t\treturn this.buttonValue(2);\n\t},\n\t/** @returns {boolean} */ get buttonXPressed() {\n\t\treturn this.buttonPressed(2);\n\t},\n\n\t/** @returns {number} */ get buttonY() {\n\t\treturn this.buttonValue(3);\n\t},\n\t/** @returns {boolean} */ get buttonYPressed() {\n\t\treturn this.buttonPressed(3);\n\t},\n\n\t/**\n\t * @param {number} index\n\t * @returns {number}\n\t */\n\taxisValue(index) {\n\t\tlet value = 0;\n\t\tfor (let gamepad of this.gamepads) {\n\t\t\tif (gamepad instanceof Gamepad) value += gamepad.axes[index];\n\t\t}\n\t\treturn value;\n\t},\n\n\t/**\n\t * @param {number} index\n\t * @returns {number}\n\t */\n\tbuttonValue(index) {\n\t\tlet value = 0;\n\t\tfor (let gamepad of this.gamepads) {\n\t\t\tif (gamepad instanceof Gamepad) value += gamepad.buttons[index].value;\n\t\t}\n\t\treturn value;\n\t},\n\n\t/**\n\t * @param {number} index\n\t * @returns {boolean}\n\t */\n\tbuttonPressed(index) {\n\t\tfor (let gamepad of this.gamepads) {\n\t\t\tif (gamepad instanceof Gamepad && gamepad.buttons[index].pressed) return true;\n\t\t}\n\t\treturn false;\n\t}\n};\n\n// Initialize\ndocument.addEventListener('keydown', e => InputHandler.onKeyDown(e), false);\ndocument.addEventListener('keyup', e => InputHandler.onKeyUp(e), false);\n\nmodule.exports = InputHandler;\n","const { Howl, Howler } = require('howler');\nconst config = require('../config/config');\n\nlet assets = {};\n\nassets.canvasCache = {};\nassets.createCanvasCacheKey = function (key, width, height) {\n\treturn `${key}-${width}x${height}`;\n};\nassets.createCanvas = function (key, width, height) {\n\twidth = Math.ceil(width);\n\theight = Math.ceil(height);\n\n\t// Creates a new canvas\n\tlet canvas = document.createElement('canvas');\n\tcanvas.width = width;\n\tcanvas.height = height;\n\n\t// Save teh canvas\n\tassets.canvasCache[this.createCanvasCacheKey(key, width, height)] = canvas;\n\n\t// Return the canvas\n\treturn canvas;\n};\nassets.getCanvas = function (key, width, height) {\n\t// Return the cached canvas\n\treturn this.canvasCache[this.createCanvasCacheKey(key, width, height)];\n};\nassets.deleteCanvas = function (key, width, height) {\n\tdelete assets.canvasCache[this.createCanvasCacheKey(key, width, height)];\n};\n\nassets.imgCache = {};\nassets.getImage = function (path, width, height, tint = null) {\n\twidth = Math.ceil(width);\n\theight = Math.ceil(height);\n\tlet canvasKey = tint ? `${path}:${tint}` : path;\n\n\tlet canvas = this.getCanvas(canvasKey, width, height);\n\tif (!canvas) {\n\t\t// Get an empty canvas\n\t\tcanvas = this.createCanvas(canvasKey, width, height);\n\n\t\t// Find the image to draw\n\t\tlet img = assets.imgCache[path];\n\t\tif (img) {\n\t\t\tif (img.isLoaded) {\n\t\t\t\t// Draw the cached image to the canvas\n\t\t\t\tthis.drawImageToCanvas(img, canvas, tint);\n\t\t\t} else {\n\t\t\t\t// Wait for the image to load and then draw to the canvas\n\t\t\t\timg.addEventListener('load', () => this.drawImageToCanvas(img, canvas, tint));\n\t\t\t}\n\t\t} else {\n\t\t\t// Fetch the new image\n\t\t\tlet img = new Image();\n\t\t\timg.isLoaded = false; // Flag as not loaded yet\n\t\t\timg.src = path;\n\t\t\timg.addEventListener('load', () => {\n\t\t\t\t// Draw to canvas on load\n\t\t\t\tthis.drawImageToCanvas(img, canvas, tint);\n\n\t\t\t\t// Save as loaded\n\t\t\t\timg.isLoaded = true;\n\t\t\t});\n\t\t\timg.addEventListener('error', () => {\n\t\t\t\t// Log error\n\t\t\t\tconsole.error('Error loading image:', path);\n\n\t\t\t\t// Remove the image from the cache to load it again\n\t\t\t\tdelete assets.imgCache[path];\n\t\t\t\tthis.deleteCanvas(path, width, height);\n\t\t\t});\n\n\t\t\t// Save image to cache\n\t\t\tthis.imgCache[path] = img;\n\t\t}\n\t}\n\n\t// Return the canvas\n\treturn canvas;\n};\nassets.drawImageToCanvas = function (img, canvas, tint) {\n\tlet ctx = canvas.getContext('2d');\n\n\t// Clear the canvas; this will overwrite any old image; for example, if an image `load` event is added multiple\n\t// times, then this canvas will be drawn to multiple times\n\tctx.clearRect(0, 0, canvas.width, canvas.height);\n\n\t// Draw the image\n\tctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n\n\t// Draw the tint\n\tif (tint) {\n\t\tctx.save();\n\t\t// ctx.globalCompositeOperation = \"source-atop\";\n\t\tctx.globalCompositeOperation = 'source-in';\n\t\tctx.fillStyle = tint;\n\t\tctx.fillRect(0, 0, canvas.width, canvas.height);\n\t\tctx.restore();\n\t}\n};\n\nassets.iconUrl = function (id) {\n\treturn `/img/icons/${id}.svg`;\n};\n\nassets.structureUrl = function (id) {\n\treturn `/img/structures/${id}.svg`;\n};\n\nassets.propUrl = function (id) {\n\treturn `/img/props/${id}.svg`;\n};\n\nassets.effectUrl = function (id) {\n\treturn `/img/effects/${id}.png`;\n};\n\nassets.shipUrl = function (id) {\n\treturn `/img/ships/${id}.svg`;\n};\n\nassets.asteroidUrl = function (id) {\n\treturn `/img/asteroids/${id}.svg`;\n};\n\nlet audioSprites = require('../config/audio-sprites.json');\nassets.sound =\n\tconfig.isClient &&\n\tnew Howl({\n\t\tsrc: audioSprites.urls,\n\t\tsprite: audioSprites.sprite,\n\t\tpool: 50\n\t});\nassets.positionalAudio = false;\nassets.soundListenerX = 0;\nassets.soundListenerY = 0;\nassets.soundRefDistance = 60;\nassets.soundMaxDistance = config.viewDistanceX / 2;\n\nassets.pannerAttr = {\n\tdistanceModel: 'linear',\n\trefDistance: assets.soundRefDistance,\n\tmaxDistance: assets.soundMaxDistance / 2\n};\n\nassets.playSound = function (id, volume = 1.0, x = null, y = null, loop = false) {\n\ttry {\n\t\t// Check if the sound should be played; if 0, then skip; we use the default volume if it's positional audio,\n\t\t// since the volume will be controlled by the audio engine\n\t\tlet skipSound = assets.positionalAudio\n\t\t\t? false\n\t\t\t: !loop && this.calculateSoundVolume(volume, x, y) < 0.01;\n\t\tif (skipSound) return;\n\n\t\t// Play the sound and save to the register\n\t\tlet soundId = this.sound.play(id);\n\n\t\t// Add panner attributes to audio if using positional audio\n\t\tif (assets.positionalAudio && x != null && y != null)\n\t\t\tthis.sound.pannerAttr(assets.pannerAttr, soundId);\n\n\t\t// Set the volume and position\n\t\tthis.soundVol(soundId, volume, x, y);\n\n\t\t// Loop the sound\n\t\tif (loop) this.sound.loop(true, soundId);\n\n\t\treturn soundId;\n\t} catch (e) {\n\t\tconsole.error('HowlerJS Error:', e);\n\t}\n};\n\nassets.calculateSoundVolume = function (baseVolume, x, y) {\n\tif (x != null && y != null) {\n\t\t// Get the distance from the listener\n\t\tlet distance = Math.sqrt(Math.pow(this.soundListenerY - y, 2) + Math.pow(this.soundListenerX - x, 2));\n\n\t\t// Calculate the volume based on distance\n\t\tlet distanceProgress =\n\t\t\t(distance - this.soundRefDistance) / (this.soundMaxDistance - this.soundRefDistance); // Volume based on distance\n\t\tdistanceProgress = 1 - Math.min(Math.max(distanceProgress, 0), 1);\n\n\t\t// Combine the volumes\n\t\treturn distanceProgress * baseVolume;\n\t} else {\n\t\t// Return the original volume\n\t\treturn baseVolume;\n\t}\n};\n\nassets.soundVol = function (id, volume = 1.0, x = null, y = null) {\n\tif (assets.positionalAudio) {\n\t\t// Set volume of audio\n\t\tthis.sound.volume(x, y, volume);\n\n\t\t// Set native position of audio\n\t\tif (x != null && y != null) this.sound.pos(x, y, 0, id);\n\t} else {\n\t\t// Calculate the positional volume and set the volume;\n\t\tlet adjustedVolume = this.calculateSoundVolume(volume, x, y);\n\t\tthis.sound.volume(adjustedVolume, id);\n\t}\n};\n\nassets.soundRate = function (rate, id) {\n\ttry {\n\t\tthis.sound.rate(rate, id);\n\t} catch (e) {\n\t\tconsole.error('HowlerJS Error:', e);\n\t}\n};\n\nassets.soundStop = function (id) {\n\ttry {\n\t\tthis.sound.stop(id);\n\t} catch (e) {\n\t\tconsole.error('HowlerJS Error:', e);\n\t}\n};\n\nassets.listenerPos = function (x, y) {\n\ttry {\n\t\tHowler.pos(x, y, 0);\n\t\tassets.soundListenerX = x;\n\t\tassets.soundListenerY = y;\n\t} catch (e) {\n\t\tconsole.error('HowlerJS Error:', e);\n\t}\n};\n\n// Play ambient\nif (config.isClient) {\n\t// Play ambient noise\n\tassets.ambientSoundId = assets.playSound('ambient', this.maxAmbientVolume, null, null, true);\n\tassets.drumSoundId = assets.playSound('drums', this.maxDrumsVolume, null, null, true);\n}\n\nmodule.exports = assets;\n","const translationsRaw = require('./translationsRaw');\n\n// Map the languages to the dictionary\nconst languages = {};\nfor (let lang of translationsRaw) {\n\t// Convert all Crowdl-style interpolations to i18n-style interpolations\n\tfor (let key in lang.data) {\n\t\tlet str = lang.data[key];\n\n\t\t// Replace the values\n\t\tfor (let i = 1; i <= 20; i++) {\n\t\t\tstr = str.replace(`$${i}`, `{${i - 1}}`);\n\t\t}\n\n\t\t// Save the new value\n\t\tlang.data[key] = str;\n\t}\n\n\t// Save the language\n\tlanguages[lang.language_id] = lang.data;\n}\n\nmodule.exports = languages;\n","module.exports = [\n\t{\n\t\tlanguage_id: 'en',\n\t\tdata: require('./langs/en.json'),\n\t\tcount: 149,\n\t\tpercentage: 100\n\t},\n\t{\n\t\tlanguage_id: 'ru',\n\t\tdata: require('./langs/ru.json'),\n\t\tcount: 112,\n\t\tpercentage: 75.1678\n\t},\n\t{\n\t\tlanguage_id: 'pt-BR',\n\t\tdata: require('./langs/pt-BR.json'),\n\t\tcount: 86,\n\t\tpercentage: 57.7181\n\t},\n\t{\n\t\tlanguage_id: 'pt',\n\t\tdata: require('./langs/pt.json'),\n\t\tcount: 86,\n\t\tpercentage: 57.7181\n\t},\n\t{\n\t\tlanguage_id: 'es-419',\n\t\tdata: require('./langs/es-419.json'),\n\t\tcount: 53,\n\t\tpercentage: 35.5705\n\t},\n\t{\n\t\tlanguage_id: 'zh',\n\t\tdata: require('./langs/zh.json'),\n\t\tcount: 149,\n\t\tpercentage: 100\n\t}\n];\n","const utils = require('../../utils');\nconst assets = require('../assets');\nconst settings = require('../settings');\n\n/**\n * @typedef {Object} ExplosionData\n * @property {number} x\n * @property {number} y\n * @property {number} size\n * @property {number} life\n * @property {boolean} isDead\n */\n\nclass ExplosionManager {\n\tconstructor(game) {\n\t\t/** @type {Game} */ this.game = game;\n\t\tthis.explosions = [];\n\t}\n\n\tspawnExplosion(x, y, size, speed = 80) {\n\t\tlet explosion;\n\t\tlet isNewExplosion = false;\n\n\t\t// Reuse an explosion\n\t\tfor (let deadExplosion of this.explosions) {\n\t\t\tif (deadExplosion.isDead) {\n\t\t\t\texplosion = deadExplosion;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Create new explosion\n\t\tif (explosion == null) {\n\t\t\texplosion = {};\n\t\t\tisNewExplosion = true;\n\t\t}\n\n\t\t// Assign values\n\t\texplosion.x = x;\n\t\texplosion.y = y;\n\t\texplosion.size = size;\n\t\texplosion.life = 0;\n\t\texplosion.isDead = false;\n\t\texplosion.speed = speed;\n\n\t\t// Insert if needed\n\t\tif (isNewExplosion) {\n\t\t\tthis.explosions.push(explosion);\n\t\t}\n\n\t\t// Play sound\n\t\tlet maxSmallSize = 50;\n\t\tlet isLarge = size > maxSmallSize;\n\t\tlet explosionMinVolumeSize = isLarge ? maxSmallSize : 0;\n\t\tlet explosionMaxVolumeSize = isLarge ? 300 : maxSmallSize;\n\t\tlet explosionMagnitude =\n\t\t\t(size - explosionMinVolumeSize) / (explosionMaxVolumeSize - explosionMinVolumeSize);\n\t\texplosionMagnitude = utils.clamp01(explosionMagnitude);\n\t\tlet explosionVolume = utils.lerp(0.3, 0.6, explosionMagnitude);\n\t\tlet explosionSpeed = utils.lerp(0.2, 1.5, 1 - explosionMagnitude);\n\t\tlet soundId = assets.playSound(\n\t\t\tisLarge ? 'explosion-large' : 'explosion-small',\n\t\t\texplosionVolume,\n\t\t\tx,\n\t\t\ty\n\t\t);\n\t\tassets.soundRate(explosionSpeed, soundId); // Speed up\n\t}\n\n\tgetScreenShake(x, y) {\n\t\tlet explosionSizeMultiplier = 5;\n\n\t\tlet shakeMagnitude = 0;\n\t\tfor (let explosion of this.explosions) {\n\t\t\tif (explosion.isDead) continue;\n\n\t\t\t// Get the distance\n\t\t\tlet dist = utils.dist(x, y, explosion.x, explosion.y);\n\t\t\tlet totalLife = explosion.size / explosion.speed;\n\t\t\tlet progress = 1 - explosion.life / totalLife; // Subtract form one, since it should be more intense at beginning\n\n\t\t\t// Get explosion size\n\t\t\tlet explosionSize = explosion.size * progress * explosionSizeMultiplier;\n\n\t\t\t// Add to magnitude\n\t\t\tshakeMagnitude += Math.max(explosionSize - dist, 0);\n\t\t}\n\n\t\treturn shakeMagnitude;\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t */\n\trender(ctx, dt) {\n\t\tfor (let explosion of this.explosions) {\n\t\t\tif (explosion.isDead) continue;\n\n\t\t\t// Get explosion process\n\t\t\texplosion.life += this.game.warpTime(explosion.x, explosion.y, 0, dt);\n\t\t\tlet totalLife = explosion.size / explosion.speed;\n\t\t\tlet progress = explosion.life / totalLife;\n\t\t\tif (progress > 1) {\n\t\t\t\texplosion.isDead = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Ease out function\n\t\t\tprogress = utils.easingFunctions.easeOutQuint(progress);\n\n\t\t\t// Get explosion size\n\t\t\tlet explosionSize = progress * explosion.size;\n\n\t\t\t// Draw explosion\n\t\t\tif (!settings.fancyExplosions) {\n\t\t\t\tlet innerRadius = Math.max(explosionSize - 20 * (1 - progress), 0);\n\t\t\t\tctx.save();\n\t\t\t\tctx.globalAlpha = 1 - progress;\n\t\t\t\tctx.translate(explosion.x, explosion.y);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(0, 0, innerRadius, 0, Math.PI * 2);\n\t\t\t\tctx.arc(0, 0, explosionSize, 0, Math.PI * 2);\n\t\t\t\tctx.fill('evenodd');\n\t\t\t\tctx.restore();\n\t\t\t} else {\n\t\t\t\tctx.save();\n\t\t\t\tctx.lineWidth = Math.min(20 * (1 - progress), explosionSize * 2);\n\t\t\t\tctx.translate(explosion.x, explosion.y);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(0, 0, explosionSize, 0, Math.PI * 2);\n\t\t\t\tctx.stroke();\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t}\n\t}\n}\n\nmodule.exports = ExplosionManager;\n","const utils = require('../../utils');\n\n/**\n * @typedef {Object} StarData\n * @property {number} x\n * @property {number} y\n * @property {number} velX\n * @property {number} velY\n * @property {number} alpha\n */\n\nclass StarField {\n\tconstructor(game) {\n\t\tthis.game = game;\n\t\tthis.stars = [];\n\n\t\tthis.prevViewportX = null;\n\t\tthis.prevViewportY = null;\n\n\t\tfor (let i = 0; i < 300; i++) {\n\t\t\tthis.addStar();\n\t\t}\n\t}\n\n\taddStar() {\n\t\tthis.stars.push({\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\tdepth: (Math.random() - 0.5) * 0.8,\n\t\t\tvelX: (Math.random() - 0.5) * 10,\n\t\t\tvelY: (Math.random() - 0.5) * 10,\n\t\t\talpha: 0.25 + Math.random() * 0.3\n\t\t});\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t * @param {number} width\n\t * @param {number} height\n\t * @param {number} viewportX\n\t * @param {number} viewportY\n\t */\n\trender(ctx, dt, width, height, viewportX, viewportY) {\n\t\t// Playing around with adaptive FPS\n\t\t// if (game.averageFPS > 50) {\n\t\t// for (let i = 0; i < 10; i++) {\n\t\t// this.addStar();\n\t\t// }\n\t\t// } else {\n\t\t// this.stars.length--;\n\t\t// }\n\t\t// console.log(this.stars.length);\n\n\t\t// Calculate edges\n\t\tlet leftEdge = viewportX - width / 2;\n\t\tlet rightEdge = viewportX + width / 2;\n\t\tlet topEdge = viewportY - height / 2;\n\t\tlet bottomEdge = viewportY + height / 2;\n\n\t\t// Determine if needs repositioning\n\t\tlet needsRecreation =\n\t\t\tthis.prevViewportX == null ||\n\t\t\tthis.prevViewportY == null ||\n\t\t\tMath.abs(this.prevViewportX - viewportX) > width / 2 ||\n\t\t\tMath.abs(this.prevViewportY - viewportY) > height / 2;\n\n\t\t// Update stars\n\t\tfor (let star of this.stars) {\n\t\t\t// Warp dt\n\t\t\tlet wdt = this.game.warpTime(star.x, star.y, 0, dt);\n\n\t\t\t// Move star\n\t\t\tstar.x += star.velX * wdt;\n\t\t\tstar.y += star.velY * wdt;\n\n\t\t\t// Adjust x and y position for parallax\n\t\t\tlet px = star.x + (viewportX - star.x) * star.depth;\n\t\t\tlet py = star.y + (viewportY - star.y) * star.depth;\n\n\t\t\t// Reposition star if out of range\n\t\t\tif (needsRecreation) {\n\t\t\t\tpx = utils.lerp(leftEdge, rightEdge, Math.random());\n\t\t\t\tpy = utils.lerp(topEdge, bottomEdge, Math.random());\n\t\t\t} else if (px < leftEdge || px > rightEdge || py < topEdge || py > bottomEdge) {\n\t\t\t\tif (Math.random() > 0.5) {\n\t\t\t\t\tstar.x = utils.lerp(leftEdge, rightEdge, Math.random());\n\t\t\t\t\tstar.y = Math.random() > 0.5 ? topEdge : bottomEdge;\n\t\t\t\t} else {\n\t\t\t\t\tstar.x = Math.random() > 0.5 ? leftEdge : rightEdge;\n\t\t\t\t\tstar.y = utils.lerp(topEdge, bottomEdge, Math.random());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Draw star\n\t\t\tctx.save();\n\t\t\tctx.globalAlpha = star.alpha;\n\t\t\tctx.fillRect(px - 2, py - 2, 4, 4);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Save previous viewport\n\t\tthis.prevViewportX = viewportX;\n\t\tthis.prevViewportY = viewportY;\n\t}\n}\n\nmodule.exports = StarField;\n","const utils = require('../../utils');\n\n/**\n * @typedef {Object} TextPopupData\n * @property {string} text\n * @property {boolean} isMultiline\n * @property {number} x\n * @property {number} y\n * @property {number} life\n * @property {boolean} isDead\n */\n\nclass TextPopupManager {\n\tconstructor(game) {\n\t\t/** @type {Game} */ this.game = game;\n\t\t/** @type {TextPopupData} */ this.texts = [];\n\n\t\tthis.moveSpeed = 80; // px/s\n\t}\n\n\tspawnText(string, x, y, icon = null, life = 2.5) {\n\t\tlet text;\n\t\tlet isNewText = false;\n\n\t\t// Reuse an explosion\n\t\tfor (let deadText of this.texts) {\n\t\t\tif (deadText.isDead) {\n\t\t\t\ttext = deadText;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Create new text\n\t\tif (text == null) {\n\t\t\ttext = {};\n\t\t\tisNewText = true;\n\t\t}\n\n\t\t// Assign values\n\t\ttext.text = string;\n\t\ttext.isMultiline = string.indexOf('\\n') !== -1;\n\t\ttext.icon = icon;\n\t\ttext.x = x;\n\t\ttext.y = y;\n\t\ttext.life = 0;\n\t\ttext.textLife = life;\n\t\ttext.isDead = false;\n\n\t\t// Insert if needed\n\t\tif (isNewText) {\n\t\t\tthis.texts.push(text);\n\t\t}\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t */\n\trender(ctx, dt) {\n\t\tctx.save();\n\t\tlet fontSize = 40;\n\t\tctx.font = utils.generateFont(fontSize);\n\t\tctx.textAlign = 'center';\n\n\t\tfor (let text of this.texts) {\n\t\t\tif (text.isDead) continue;\n\n\t\t\t// Get text progress\n\t\t\ttext.life += this.game.warpTime(text.x, text.y, 0, dt);\n\t\t\tlet progress = text.life / text.textLife;\n\t\t\tif (progress > 1) {\n\t\t\t\ttext.isDead = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Ease out function\n\t\t\tprogress = utils.easingFunctions.easeInQuint(progress);\n\n\t\t\tctx.save();\n\n\t\t\t// Draw text\n\t\t\tctx.globalAlpha = 1 - progress;\n\t\t\tlet textY = text.y - this.moveSpeed * text.life;\n\t\t\tlet textWidth = ctx.measureText(text.text).width;\n\t\t\tif (text.isMultiline) {\n\t\t\t\tutils.fillMultilineText(ctx, text.text, text.x, textY);\n\t\t\t} else {\n\t\t\t\tctx.fillText(text.text, text.x, textY);\n\t\t\t}\n\n\t\t\t// Draw the icon\n\t\t\tif (text.icon) {\n\t\t\t\tlet iconSize = fontSize * 0.8;\n\t\t\t\tutils.drawImage(\n\t\t\t\t\tctx,\n\t\t\t\t\ttext.icon,\n\t\t\t\t\ttext.x - textWidth / 2 - iconSize / 2 - 10,\n\t\t\t\t\ttextY,\n\t\t\t\t\ticonSize,\n\t\t\t\t\ticonSize\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\tctx.restore();\n\t}\n}\n\nmodule.exports = TextPopupManager;\n","const config = require('../config/config');\n\nconst settings = {\n\t// Preconfigured settings\n\tsettings: {\n\t\tmute: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: false,\n\t\t\tonChange: value => {\n\t\t\t\tconst { Howler } = require('howler');\n\t\t\t\tHowler.mute(value);\n\t\t\t}\n\t\t},\n\t\tmuteAmbient: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: false,\n\t\t\tonChange: value => {\n\t\t\t\tconst assets = require('../client/assets');\n\t\t\t\tassets.sound.mute(value, assets.ambientSoundId);\n\t\t\t}\n\t\t},\n\t\t// positionalAudio: {\n\t\t// type: \"boolean\",\n\t\t// defaultValue: false,\n\t\t// onChange: value => {\n\t\t// const assets = require(\"./assets\");\n\t\t// assets.positionalAudio = value;\n\t\t// }\n\t\t// },\n\n\t\tnativeResolution: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: isiOS()\n\t\t},\n\n\t\tdirectionalMovement: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: false\n\t\t},\n\t\trss: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: false\n\t\t},\n\t\tfancyPlanets: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true\n\t\t},\n\t\tplanetProps: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true\n\t\t},\n\t\tstars: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true\n\t\t},\n\t\tspaceDust: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true\n\t\t},\n\t\tfancyExplosions: {\n\t\t\ttype: 'boolean',\n\t\t\tdefaultValue: true\n\t\t}\n\t},\n\n\t// Getters and setters\n\tmakeKey(key) {\n\t\treturn `microgravity:${key}`;\n\t},\n\n\thas(key) {\n\t\treturn localStorage.getItem(this.makeKey(key)) != null;\n\t},\n\n\tgetBoolean(key, defaultValue) {\n\t\tlet value = localStorage.getItem(this.makeKey(key));\n\t\tif (value == null) {\n\t\t\treturn defaultValue;\n\t\t} else {\n\t\t\treturn value === 'true';\n\t\t}\n\t},\n\n\tsetBoolean(key, value) {\n\t\tlocalStorage.setItem(this.makeKey(key), value ? 'true' : 'false');\n\t},\n\n\tgetString(key, defaultValue) {\n\t\tlet value = localStorage.getItem(this.makeKey(key));\n\t\tif (value == null) {\n\t\t\treturn defaultValue;\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t},\n\n\tsetString(key, value) {\n\t\tlocalStorage.setItem(this.makeKey(key), value);\n\t}\n\n\t// Reset settings\n\t// resetSettings() {\n\t// for (let settingId in this.settings) {\n\t// this[settingId] = this.settings[settingId].defaultValue;\n\t// }\n\t// }\n};\n\n// Add quick getters/setters for settings\nif (config.isClient) {\n\tfor (let settingId in settings.settings) {\n\t\tlet settingData = settings.settings[settingId];\n\n\t\t// Define getter and setter\n\t\tObject.defineProperty(settings, settingId, {\n\t\t\tget() {\n\t\t\t\t// Return the data\n\t\t\t\tswitch (settingData.type) {\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\t\treturn settings.getBoolean(settingId, settingData.defaultValue);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error(`Unknown value type ${settingData.type}.`);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tset(value) {\n\t\t\t\t// Set the data\n\t\t\t\tswitch (settingData.type) {\n\t\t\t\t\tcase 'boolean':\n\t\t\t\t\t\tsettings.setBoolean(settingId, value);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error(`Unknown value type ${settingData.type}.`);\n\t\t\t\t}\n\n\t\t\t\t// Call the setter\n\t\t\t\tif (settingData.onChange) settingData.onChange(value);\n\n\t\t\t\t// Broadcast the event\n\t\t\t\tlet event = new Event(`${settingId}Change`);\n\t\t\t\tdocument.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\n\t\t// Call default on change after timeout\n\t\tif (settingData.onChange) settingData.onChange(settings[settingId]);\n\t}\n}\n\nfunction isiOS() {\n\t// https://stackoverflow.com/a/9039885/2016800\n\treturn config.isClient && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nmodule.exports = settings;\n","const Vue = require('vue/dist/vue.js');\nconst resources = require('../../config/resources');\n\nmodule.exports = Vue.component('resources', {\n\tprops: {\n\t\tvalues: Array,\n\t\thideEmpty: { type: Boolean, default: false }\n\t},\n\tmethods: {\n\t\tresourceData(index) {\n\t\t\treturn resources.resources[index];\n\t\t}\n\t},\n\tcomputed: {\n\t\tadjustedValues() {\n\t\t\treturn this.values.map(r => (typeof r === 'number' ? Math.floor(r) : r));\n\t\t}\n\t},\n\ttemplate: `\n \n \n \n `\n});\n","const bullets = {};\n\nbullets.bullets = [\n\t/* Normal Weapons */\n\t{\n\t\tid: 'machine-gun',\n\t\tbulletSpeed: 1300,\n\t\tdamage: 0.2,\n\t\tvolume: 0.3\n\t},\n\t{\n\t\tid: 'shotgun',\n\t\tbulletSpeed: 1600,\n\t\tdamage: 0.2,\n\t\ttrailLength: 10,\n\t\tlife: 0.35\n\t},\n\t{\n\t\tid: 'minigun',\n\t\tbulletSpeed: 1600,\n\t\tdamage: 0.15,\n\t\tlife: 1.0,\n\t\tvolume: 0.25\n\t},\n\t{\n\t\tid: 'sniper',\n\t\ttrailLength: 60,\n\t\tbulletSpeed: 3000,\n\t\tdamage: 0.9\n\t},\n\t{\n\t\tid: 'bomb',\n\t\tcheckCircle: true,\n\t\tradius: 15,\n\t\tbulletSpeed: -250,\n\t\tbulletDrag: 0.4,\n\t\tdamage: 0,\n\t\tlife: 5,\n\t\tpulseInterval: 0.7,\n\t\texplosionRadius: 150,\n\t\texplosionDamage: 2.0,\n\t\texplosionVelocity: 750,\n\t\trenderType: 'circle'\n\t},\n\t{\n\t\tid: 'anti-follow',\n\t\tcheckCircle: true,\n\t\tradius: 8,\n\t\tbulletSpeed: 400,\n\t\tbulletDrag: 2,\n\t\tdamage: 0.15,\n\t\tlife: 3,\n\t\tpulseInterval: 0.3,\n\t\trenderType: 'circle',\n\t\tvolume: 0.3\n\t},\n\t{\n\t\tid: 'missile',\n\t\t// checkCircle: true,\n\t\tradius: 10,\n\t\ttrailLength: 60,\n\t\tbulletSpeed: 100,\n\t\tbulletAcceleration: 3000,\n\t\tbulletAccelerationDelay: 0.25,\n\t\tlife: 1.3,\n\t\tdamage: 0.5,\n\t\texplosionRadius: 100,\n\t\texplosionDamage: 0.8,\n\t\texplosionVelocity: 250,\n\t\trenderType: 'triangle'\n\t},\n\t{\n\t\tid: 'nuke',\n\t\tcheckCircle: true,\n\t\tradius: 40,\n\t\tbulletSpeed: -50,\n\t\tbulletDrag: 0.0,\n\t\tdamage: 0,\n\t\tlife: 120,\n\t\tpulseInterval: 2.0,\n\t\tblinkInterval: 0.2,\n\t\texplosionRadius: 2000,\n\t\texplosionDamage: 50.0,\n\t\texplosionVelocity: 2000,\n\t\texplosionSpeed: 200, // Render speed\n\t\trenderType: 'circle',\n\t\trenderColor: '#EBD820',\n\t\trenderIcon: 'nuke'\n\t},\n\n\t/* Bot Weapons */\n\t{\n\t\tid: 'alien-gun',\n\t\tbulletSpeed: 1100,\n\t\ttrailLength: 10,\n\t\tdamage: 0.15,\n\t\tvolume: 0.2\n\t}\n];\n\nfor (let bullet of bullets.bullets) {\n\t// Add camel case ID\n\tlet normalizedId = '';\n\tlet nextCaps = false;\n\tfor (let i = 0; i < bullet.id.length; i++) {\n\t\tlet char = bullet.id[i];\n\t\tif (char === '-') {\n\t\t\tnextCaps = true;\n\t\t} else {\n\t\t\tnormalizedId += nextCaps ? char.toUpperCase() : char;\n\t\t\tnextCaps = false;\n\t\t}\n\t}\n\tbullet.normalizedId = normalizedId;\n}\n\nmodule.exports = bullets;\n","let config = {};\nmodule.exports = config;\n\nconfig.init = function(isServer) {\n\tconfig.isClient = !isServer;\n\tconfig.isServer = isServer;\n\n\tif (config.isServer) {\n\t\tconfig.isProd = !!process.env.IS_PROD;\n\t} else {\n\t\tconfig.isProd = (\n\t\t\tlocation.hostname !== '127.0.0.1' &&\n\t\t\tlocation.hostname !== 'localhost' &&\n\t\t\t!location.hostname.startsWith('192.168.')\n\t\t);\n\t}\n\n\tif (config.isServer) {\n\t\tconfig.gameMode = process.env.RIVET_GAME_MODE_NAME || 'classic';\n\t} else {\n\t\tconfig.gameMode = 'classic';\n\t}\n\tconfig.aliens = config.gameMode == 'aliens';\n\n\tconfig.pingInterval = 2.5;\n\tconfig.pingTimeout = 10;\n\tconfig.kickTimeout = 60 * 3; // Kick after 3 idle minutes\n\n\t/*** Randomness ***/\n\t/*\n\tGenerate with:\n\tlet values = [];\n\tfor (let i = 0; i < 128; i++) {\n\t\tvalues.push(Math.random());\n\t}\n\tconsole.log(values.toString());\n\t */\n\t/**\n\t * This is an array of constant values used to generate consistent data quickly without using seeds. This is used for\n\t * things like trees on planets. Each array indicates a different set of values to loop through.\n\t * @type {number[]}\n\t */\n\tconfig.randomConsts = [\n\t\t[\n\t\t\t0.6413402959602239, 0.3028184639463496, 0.6787375165688607, 0.6776693213095535, 0.3847246589362867,\n\t\t\t0.027397588730660782, 0.7259490302031402, 0.5677868343045951, 0.5976937680863785, 0.12839211045483845,\n\t\t\t0.689201603052324, 0.2188242167636545, 0.09958619582026018, 0.42946762491169377, 0.7595382119882577,\n\t\t\t0.28128165313945197, 0.2998674713378464, 0.5182582756409906, 0.3429676148169738, 0.44308336162020145,\n\t\t\t0.8186347834935419, 0.6098036519343939, 0.22010976836054108, 0.3789298232710543, 0.3991682525938647,\n\t\t\t0.7384182043892029, 0.08171997575752643, 0.8655280484902077, 0.4973084591477881, 0.17019277396594257,\n\t\t\t0.5066278964978523, 0.3331983088464956, 0.36065762849089, 0.11178494218160062, 0.6848831383322707,\n\t\t\t0.6393438643426221, 0.17847290318694564, 0.4490047084483577, 0.5365581938357227, 0.8469239763870686,\n\t\t\t0.12923636082523182, 0.9915312263841627, 0.18241282675758352, 0.643493730434505, 0.07830984821794851,\n\t\t\t0.43688809716433186, 0.048394165938528966, 0.5818226593068818, 0.4953637139753082,\n\t\t\t0.46074098045693446, 0.5729332535361737, 0.30539414698431155, 0.9391105124825241, 0.09388595028195912,\n\t\t\t0.9683550990030667, 0.9005829102627172, 0.3257794775545564, 0.6273744901618035, 0.9513151172632788,\n\t\t0.19572816748315036, 0.18439876286781964, 0.4227487351173509, 0.6597378769299747, 0.16569732814732463,\n\t\t0.7360093877613811, 0.8992571990680671, 0.42896463318530964, 0.07566554404424242, 0.09906802957300043,\n\t\t0.40289317120833523, 0.44785216606097045, 0.6188208472542067, 0.5005305315658966, 0.44133966263500546,\n\t\t0.5005051575549044, 0.5886300173244257, 0.12018990689669651, 0.9204503124265837, 0.11048584270603756,\n\t\t0.890552958928247, 0.07029702927455683, 0.5124290688699877, 0.24177017469048945, 0.28358142686518883,\n\t\t0.20385827607537754, 0.6393247502299588, 0.15794318568156918, 0.06752126287338811, 0.8202316038266086,\n\t\t0.676393977627354, 0.42558673527304935, 0.9929114290491228, 0.39625682329301526, 0.8118084558253025,\n\t\t\t0.9313846226633351, 0.32497909298832894, 0.6238389197151089, 0.31019913912951247, 0.821088180215436,\n\t\t\t0.6720448545692104, 0.25383165543286745, 0.13905089162734008, 0.589932047087321, 0.3061075037031802,\n\t\t\t0.6320123587923077, 0.404975912203684, 0.8039038964266259, 0.7635448429325833, 0.9768501538314343,\n\t\t\t0.4286993406097859, 0.2984812055525399, 0.404680792173836, 0.3518793288415587, 0.6223756181947575,\n\t\t\t0.300850029139335, 0.2895408722213919, 0.04566061886120876, 0.35778812593700615, 0.5948430475925759,\n\t\t\t0.9566174981791038, 0.7001136047869223, 0.37378661477881403, 0.028210090692900813, 0.8965451423096198,\n\t\t\t0.4579890639347428, 0.6988072312115261, 0.5232814879868779, 0.24462170167151487\n\t\t],\n\t\t[\n\t\t\t0.8474171618950996, 0.0176200744944639, 0.008510129929316212, 0.6975100390546751, 0.9536520540655766,\n\t\t\t0.5482433862423919, 0.9374108121666846, 0.46425235821877275, 0.5393489585475619, 0.3669070804331944,\n\t\t\t0.1849129953403248, 0.7988978505823108, 0.2142809495653779, 0.009069514298958303, 0.11282213715857714,\n\t\t\t0.5225768741651686, 0.7316170720086783, 0.4848129992221417, 0.5972613269338518, 0.08021996637516948,\n\t\t\t0.8216111941379036, 0.606769520772946, 0.2535379572694727, 0.653595927006307, 0.5017498911590228,\n\t\t\t0.8922301522001408, 0.2941617830542962, 0.9754738193935086, 0.45504025024835326, 0.9177722235588948,\n\t\t\t0.43990922003537913, 0.051326102538642226, 0.5757051763585268, 0.33390216017312535,\n\t\t\t0.6673808839210835, 0.21026562155759376, 0.0872312213901163, 0.20324245884330439, 0.4691602731915583,\n\t\t\t0.26134777160020906, 0.6744448698575038, 0.4975106303587187, 0.2100522029997991, 0.06219842486753602,\n\t\t\t0.24288971737839282, 0.8685636153485659, 0.47690556340575907, 0.7652232806564445, 0.6310774338615222,\n\t\t\t0.2699988355033871, 0.6065987426778294, 0.5543958801521702, 0.9918575346089615, 0.6849759527353858,\n\t\t\t0.9373326498500201, 0.8836082386583965, 0.8067566006808442, 0.933428286352088, 0.15630469691967708,\n\t\t\t0.007694692734161013, 0.8468189212676454, 0.8333581680271929, 0.9266562093388258, 0.3741894026428565,\n\t\t\t0.6866360020793649, 0.5131473893706218, 0.5544929170136321, 0.9511367049039987, 0.02391663046631276,\n\t\t\t0.48394947169359637, 0.3519847522815365, 0.1575974274257721, 0.5378967624962216, 0.5334995877246558,\n\t\t\t0.9295729482946173, 0.9049432881562396, 0.8136389358414593, 0.4053912743381065, 0.25494644379606535,\n\t\t\t0.3399426384438049, 0.3105136333450791, 0.997178077207312, 0.19960720583345615, 0.061031237586925746,\n\t\t\t0.4516221462866046, 0.8621292747103078, 0.7342500629274424, 0.49303768561871, 0.14386875892546858,\n\t\t\t0.08803243133001248, 0.7017686102389193, 0.9762978107292286, 0.3789656019750147, 0.6528970922088888,\n\t\t\t0.7129431297966202, 0.4307781892616316, 0.9601043126955733, 0.5055827084858748, 0.34995987593150235,\n\t\t\t0.1421092797622483, 0.4017870583760452, 0.7517604511490088, 0.5951519307694033, 0.41351214980131323,\n\t\t\t0.5130883094023855, 0.16413105416044926, 0.22052622902346974, 0.4144332562556352, 0.9995023421115043,\n\t\t\t0.9603316338439671, 0.763699451060031, 0.4875666926948321, 0.09615393140267425, 0.7936846389530079,\n\t\t\t0.8160018497471286, 0.190452654810775, 0.9658323259183741, 0.5285723499943864, 0.8307039474222218,\n\t\t\t0.7436798147197701, 0.8212036590366756, 0.08056223199775059, 0.9868141750648798, 0.9255093355866799,\n\t\t\t0.2317552309127071, 0.7386700590603967, 0.8342035040441838, 0.8688487426129476\n\t\t],\n\t\t[\n\t\t\t0.7429991401578113, 0.9040018287705649, 0.29438290297444225, 0.5632463232485561, 0.2059485874667566,\n\t\t\t0.8522189026772815, 0.2511639276256763, 0.07284460684010696, 0.7017406089506877, 0.3383583642084176,\n\t\t\t0.27527280422050393, 0.4964085137092955, 0.46211775900753116, 0.17156825375999252,\n\t\t\t0.30517943346908094, 0.86640247781982, 0.6136744132461076, 0.1753820978902969, 0.8206394611139742,\n\t\t\t0.16922562871613822, 0.5628221254628187, 0.5727875464075258, 0.6137243085483084, 0.27116743350443095,\n\t\t\t0.28659211079631386, 0.9664035967766882, 0.14752333685197505, 0.5708962230618833, 0.18069456439624965,\n\t\t\t0.7532766140862994, 0.7328970608068761, 0.40826732719864034, 0.3561988263504472, 0.512243933020609,\n\t\t\t0.34219596295780796, 0.7100365006157305, 0.699129364229595, 0.8820787598410547, 0.8298051455510169,\n\t\t\t0.5631584472803475, 0.9809151559511076, 0.5160172075543243, 0.4294082057888411, 0.025202046422966973,\n\t\t\t0.9921816154161469, 0.21124371553578558, 0.12809703958171625, 0.08347262110589715,\n\t\t\t0.12060846672319103, 0.2405869102379854, 0.45069916980142133, 0.45638284016135433,\n\t\t\t0.45997839457277534, 0.39401288521606537, 0.47724968538031454, 0.6134688292089234, 0.9951846754449989,\n\t\t\t0.391796469461287, 0.04468421667250344, 0.7758731418836833, 0.9754089413180855, 0.9533802542090766,\n\t\t\t0.5276116750909576, 0.21251504636392893, 0.4235635720289652, 0.5048414150549341, 0.02414620286714575,\n\t\t\t0.8740844238120014, 0.6865293564227886, 0.6974280274996767, 0.869269054127719, 0.9934343894442128,\n\t\t\t0.36422416781811906, 0.4962834294684795, 0.28765390569731486, 0.519954288845121, 0.6835864262383722,\n\t\t\t0.5352077950299394, 0.21939952435872145, 0.8806650957346418, 0.32975525629017755, 0.6864332253705572,\n\t\t\t0.9712148355735499, 0.5181398641374182, 0.3977725681941693, 0.5819986531973571, 0.5972908111608821,\n\t\t\t0.20445127232151838, 0.8726011799896705, 0.6280326879361111, 0.1699848546977063, 0.7054034553696085,\n\t\t\t0.6595810794022878, 0.0005108050375470796, 0.037788905308618226, 0.5873779438207714,\n\t\t\t0.22582585522464926, 0.2014247696420044, 0.30759076298664256, 0.05496557516349876, 0.5808259593382219,\n\t\t\t0.19826131032389993, 0.2301091700482647, 0.9843421070439045, 0.06841226493361119, 0.4120636711601797,\n\t\t\t0.3685888024778803, 0.6072359796497633, 0.6268556011561486, 0.7105261449333216, 0.9740641875531015,\n\t\t\t0.00482633931635279, 0.48525399298100913, 0.6803535002992889, 0.8139706994161484, 0.4053265249426312,\n\t\t\t0.47297243654522547, 0.26623318279783836, 0.4607606927651493, 0.9404714393799807, 0.7950949441344388,\n\t\t\t0.38213844274986397, 0.20907230927835663, 0.874216549816843, 0.6238085075591833, 0.04513913058537322,\n\t\t\t0.360654940862581, 0.7629827904048572\n\t\t],\n\t\t[\n\t\t\t0.5014821600331032, 0.4737240839341339, 0.6662847158283958, 0.0168188604602868, 0.7853266671771386,\n\t\t\t0.6963905169394, 0.03152276456622616, 0.2815615074319491, 0.1314530588746987, 0.2909421130754217,\n\t\t\t0.3519861914218043, 0.14767550535999674, 0.9701808776160312, 0.7934641795258321, 0.43801252388531653,\n\t\t\t0.4296831161661232, 0.6031704305189365, 0.17350995523413704, 0.0644531825675958, 0.8321477078464967,\n\t\t\t0.6180724740349559, 0.029552666356638335, 0.09774521501846234, 0.543138557479593, 0.3599852521330955,\n\t\t\t0.2672406961828311, 0.32669127969346823, 0.22378374103565246, 0.6606987395071602, 0.03141435462478159,\n\t\t\t0.006085321254548637, 0.5607811721434659, 0.07507544708191749, 0.5688744872641931, 0.4310144406742251,\n\t\t\t0.14860776616935722, 0.3372224097987573, 0.25245236551939354, 0.9338674501482145, 0.6543277526734108,\n\t\t\t0.7341461197871504, 0.4369807999165327, 0.6020984886395906, 0.36384133361884907, 0.20698351469764686,\n\t\t\t0.4954930465809799, 0.830343363969297, 0.73122031915807, 0.7036616432034575, 0.4323396752119759,\n\t\t\t0.6548103018497333, 0.24584506656835559, 0.47630877681638406, 0.3622219461147611, 0.09133172966384495,\n\t\t\t0.5981407321893595, 0.3302719991250791, 0.9829631129682037, 0.4287486340866391, 0.664460532009858,\n\t\t\t0.4248556293384631, 0.5196425018497646, 0.49878604341642174, 0.3705462956784813, 0.1814016917766248,\n\t\t\t0.6742298460793703, 0.8675671067863997, 0.2248383737804336, 0.31119000730067103, 0.39573136686712673,\n\t\t\t0.0304697682865418, 0.5903161740887048, 0.7382785472877078, 0.5568444272494144, 0.5218140233410973,\n\t\t\t0.4643257274772832, 0.5215036207623305, 0.7978805597771157, 0.04470690965794333, 0.5324780675405607,\n\t\t\t0.832077114166561, 0.9791086225025536, 0.08204566615719577, 0.0867847188682076, 0.5879676883584841,\n\t\t\t0.3285421984819774, 0.3034586713950531, 0.9327273454029084, 0.4298056676416848, 0.9662316530200339,\n\t\t\t0.18783120697365607, 0.014499629884014764, 0.2120111680055532, 0.5641202136476435, 0.4597762848769067,\n\t\t\t0.728117857295477, 0.9442865471392896, 0.17943798971516722, 0.3690358571010046, 0.40578302461964566,\n\t\t\t0.17929957856170864, 0.8872746705035557, 0.4582171737079004, 0.29811241416521606, 0.7132319365414637,\n\t\t\t0.7283314831748589, 0.8034981173311813, 0.028263918190067905, 0.02248016578691958, 0.3521093060344713,\n\t\t\t0.720556780714795, 0.5217067169912775, 0.41810493117301273, 0.2796357427464997, 0.5264917813758851,\n\t\t\t0.6560938856051337, 0.18697062830748812, 0.8679357338275853, 0.0643066020517471, 0.7389573423049476,\n\t\t\t0.5340647525463096, 0.19774349257836477, 0.6905037220047225, 0.9430740461011082, 0.32566426286035677,\n\t\t\t0.18206010005212447, 0.14304889059462922, 0.08391390630007867\n\t\t],\n\t\t[\n\t\t\t0.480871551893969, 0.7149606626443883, 0.6294711987498576, 0.28802744985725015, 0.6229132378721074,\n\t\t\t0.038390466892099795, 0.3057856622971391, 0.9333190729901133, 0.4155392894678882, 0.1946630760894883,\n\t\t\t0.25419743713911247, 0.43889935287000337, 0.8789657610246133, 0.8289746520422634, 0.9843416343354987,\n\t\t\t0.607434699940381, 0.6573919865941698, 0.8827782409957685, 0.9229238273007352, 0.3719502261778156,\n\t\t\t0.03242249897175986, 0.8320459923375405, 0.38076038095931186, 0.45907558752590183,\n\t\t\t0.17982004587681621, 0.9720220279704037, 0.23202746309242284, 0.4507713514783447, 0.13626239517755878,\n\t\t\t0.971865261740509, 0.04159187484737026, 0.5421370973172464, 0.6063920234195377, 0.38835553222592933,\n\t\t\t0.9537213549197916, 0.9097987718577274, 0.9598498344568176, 0.7236667197407334, 0.62346579235326,\n\t\t\t0.09199897027141057, 0.1722084059968616, 0.7839415949711612, 0.20553238535872898, 0.6493524582266454,\n\t\t\t0.2437960893877018, 0.9659795323637805, 0.40965121051936393, 0.20341864154501743, 0.6921478318315655,\n\t\t\t0.4406092074153556, 0.35441767767775545, 0.5228935103176033, 0.4474317693055545, 0.8358030261790057,\n\t\t\t0.24678858636325263, 0.21795066423918708, 0.9721258889205913, 0.5286707037072833, 0.4392641948130025,\n\t\t\t0.8339010613473623, 0.34043668782975867, 0.820063390064752, 0.21680643750306317, 0.655789407651844,\n\t\t\t0.30121313073847955, 0.5418326439002061, 0.5171918611901258, 0.7501744291390529, 0.8743641817878216,\n\t\t\t0.7570830127589598, 0.5541830457302661, 0.8040952712749765, 0.795306279498827, 0.7510227916768404,\n\t\t\t0.3144684634108261, 0.6877329500842042, 0.7336545747752465, 0.1785972582572537, 0.6645152757205306,\n\t\t\t0.5838719714299805, 0.42385774922068165, 0.26226409204002543, 0.3700410066722515, 0.1350114577767645,\n\t\t\t0.6852082174378153, 0.7895289954682407, 0.5714655478223283, 0.8006567924692474, 0.5539661993660667,\n\t\t\t0.36972002207132904, 0.7938090541476377, 0.18730882127725335, 0.4181311133414516, 0.6629970723156882,\n\t\t\t0.3949194129038178, 0.61977694827445, 0.7510312143017848, 0.2042679662991871, 0.5642610921139006,\n\t\t\t0.9434474209975086, 0.8050756987793304, 0.8653380854218484, 0.15413760165408608, 0.3091254115139288,\n\t\t\t0.487449589238669, 0.9419453443677546, 0.3051511207055464, 0.6553876669396306, 0.10835531372399942,\n\t\t\t0.9784861264179887, 0.967731012627991, 0.6391483720520303, 0.7568780697179818, 0.7466404421394137,\n\t\t\t0.0956303937716918, 0.5962338161570011, 0.18277446277619158, 0.7835189464721697, 0.39927915564345784,\n\t\t\t0.0895298091687633, 0.801267698461485, 0.6041269236285751, 0.6093431332611379, 0.16053916313016026,\n\t\t\t0.4150287966879149, 0.6459624061791043, 0.6107650252823076, 0.37703732933379563\n\t\t],\n\t\t[\n\t\t\t0.39966186431120065, 0.51871600423841, 0.3594444739966056, 0.6811943470815855, 0.7846322527967768,\n\t\t\t0.7416621002215027, 0.9626834380645266, 0.9562858649884025, 0.22511812426792877, 0.5197958019618214,\n\t\t\t0.26252031587684677, 0.6704852706630622, 0.6853790579314529, 0.8813478483303046, 0.257983592266557,\n\t\t\t0.6411518156327041, 0.2458698582397949, 0.42632033655798596, 0.11030843157009196, 0.16014141308076413,\n\t\t\t0.39963845520511776, 0.06758176093880386, 0.5267705803739349, 0.9929524088252117, 0.8629497973924418,\n\t\t\t0.09236422352053197, 0.3747766191390387, 0.8791369968366696, 0.4466043489985285, 0.3375494164060171,\n\t\t\t0.9279695794278884, 0.07930964353834669, 0.42229882331531754, 0.7084952140420437, 0.9205041705794543,\n\t\t\t0.13922571478069035, 0.879106035751962, 0.8125444856062662, 0.970381893166768, 0.6830872866810973,\n\t\t\t0.22373599702537228, 0.8507185806149358, 0.22423071893312807, 0.564288535241491, 0.26673531245662674,\n\t\t\t0.35823110693272064, 0.16580127822895374, 0.5978811112954125, 0.5263438332327475, 0.24351356379341427,\n\t\t\t0.48130461699462135, 0.11414699159738562, 0.03211076997538753, 0.3692546572046478, 0.2724789952615889,\n\t\t\t0.7034654743881592, 0.15760824500636605, 0.20057532459886152, 0.6648933759102058, 0.8214114178178462,\n\t\t\t0.7898627423796174, 0.3323732157618988, 0.003485539435267082, 0.7097316900189978, 0.8056147821588509,\n\t\t\t0.02374097161432176, 0.7843456988348447, 0.2883611423994199, 0.8520867957220926, 0.8473677854794228,\n\t\t\t0.12795461437134859, 0.7718554143648544, 0.6673641231306449, 0.03771545455350567, 0.3734924821073067,\n\t\t\t0.9884874333086575, 0.3970022463736784, 0.17039194993966333, 0.9349507316115375, 0.7943396683286201,\n\t\t\t0.12408211948265802, 0.8331645100327894, 0.987106595255989, 0.2942817039517278, 0.47868313616568736,\n\t\t\t0.8689375294100081, 0.3228296438984346, 0.3228269968982129, 0.05083895496608326, 0.1694699133811406,\n\t\t\t0.9945330464951008, 0.15208991201051236, 0.3309166339814891, 0.24596681562129308, 0.4000671506409528,\n\t\t\t0.5800257688515065, 0.43852171299417875, 0.5643477032281476, 0.7010285314996367, 0.9972281270047576,\n\t\t\t0.28535806888506277, 0.6701558126027072, 0.2904950373123558, 0.07179755300768487, 0.7381864897562052,\n\t\t\t0.8185775704174538, 0.3925927054486553, 0.7554306182587625, 0.9295195887702323, 0.3343192170641256,\n\t\t\t0.6123179486930994, 0.5149824347192462, 0.8949986720440801, 0.37605798309259253, 0.20058015418683928,\n\t\t\t0.11283378020491752, 0.24742620252761793, 0.3133620949631586, 0.9732251286641922, 0.07174133364105173,\n\t\t\t0.20841334943074807, 0.5532716106471807, 0.351681946466472, 0.395302306994612, 0.5262637736140847,\n\t\t\t0.08713280463817297, 0.4427212337026798, 0.9720044581061125\n\t\t],\n\t\t[\n\t\t\t0.234383677830156, 0.5449564145587726, 0.04336807171980239, 0.5129056102424439, 0.47947502650273277,\n\t\t\t0.2639308805610141, 0.006992489134664659, 0.2931998312059547, 0.3054008446228076, 0.7512255598395854,\n\t\t\t0.16965839645056535, 0.5599408032921172, 0.4271851276458256, 0.415719191399502, 0.7196487500918205,\n\t\t\t0.5507730549629946, 0.131381700371759, 0.3058385003194195, 0.541805432324634, 0.9667272836236582,\n\t\t\t0.4502326280130651, 0.041660856254056355, 0.08028513427355422, 0.4850328505481216, 0.6701674137970624,\n\t\t\t0.21918534990192473, 0.36109445505673476, 0.2604190571753551, 0.5790545755591654, 0.5545646145461713,\n\t\t\t0.29268463757316976, 0.24808842037423884, 0.9448258334793738, 0.3680165646020037, 0.08493120803286014,\n\t\t\t0.29939108698280936, 0.2857103196314785, 0.14543663415118746, 0.7791030278931999, 0.9463116280252866,\n\t\t\t0.7621602578794346, 0.5523768340600224, 0.09783706802797831, 0.8038123574518414, 0.010929472363646608,\n\t\t\t0.010756633036905328, 0.42729706485393715, 0.43352449059563414, 0.5138023501581761,\n\t\t\t0.6104663002772222, 0.653683608756594, 0.42844592171651197, 0.002451921883457109, 0.7126956994480751,\n\t\t\t0.6808247080915868, 0.7207910143106755, 0.4410533783759727, 0.6524039423225452, 0.09601776516862448,\n\t\t\t0.07275553212086994, 0.08668471807346245, 0.9671882289192422, 0.9250896789526735, 0.441611597872688,\n\t\t\t0.7384911638417204, 0.6674091353768796, 0.34296589578736114, 0.9045102290792559, 0.30197408800281855,\n\t\t\t0.3209367938823702, 0.9082734536474493, 0.3004638211755837, 0.16893140434294174, 0.6018798024416168,\n\t\t\t0.7439461281588553, 0.7377427103262657, 0.8496239925655338, 0.1970952900134313, 0.9353582205689679,\n\t\t\t0.676366322322389, 0.9113856653375583, 0.24601519224888913, 0.1761765663480095, 0.9815049245935574,\n\t\t\t0.6724236153281176, 0.31275893870891314, 0.5981354773265684, 0.3689659798396807, 0.5689660576504878,\n\t\t\t0.3612757597975442, 0.10254730950504709, 0.2555531841659737, 0.7799002386988672, 0.15672473585892566,\n\t\t\t0.6441569022384503, 0.6870038549741149, 0.9827122615737669, 0.2363942954906435, 0.1271748097593921,\n\t\t\t0.5461047091509763, 0.9970607276232737, 0.14339248160755136, 0.1065846662895209, 0.5207487878800328,\n\t\t\t0.8124188963393113, 0.5280773948936999, 0.8055016813785536, 0.35409045545208206, 0.9647316162614097,\n\t\t\t0.22826190536210111, 0.5111963451574626, 0.7062848327761746, 0.9474557342559597, 0.9627317518227052,\n\t\t\t0.9926490887269561, 0.7094691174506162, 0.7145874525587141, 0.4058290315527613, 0.09359907137676005,\n\t\t\t0.2312966041475295, 0.23454118841894456, 0.29733488413341935, 0.003174969491299695,\n\t\t\t0.4223794066822042, 0.9579180867027353, 0.9947109003906855, 0.46751409066216465, 0.7342409809336481\n\t\t],\n\t\t[\n\t\t\t0.03336698876913391, 0.6207285156343896, 0.8092737524360192, 0.8934836695543857, 0.5863820893104956,\n\t\t\t0.5425494709846788, 0.14831157785440552, 0.6319954355071236, 0.19753155224413943, 0.947072222303714,\n\t\t\t0.9792139225732848, 0.993040684138103, 0.6977562074245816, 0.2789846096855624, 0.12882488138619208,\n\t\t\t0.4368291395127182, 0.15918466752082172, 0.8614980118224584, 0.34957750518936614, 0.3870323748075477,\n\t\t\t0.010348918315776334, 0.620810270348245, 0.8410957196952515, 0.19020629975843106, 0.538086825234672,\n\t\t\t0.30178631321551674, 0.8914697010409542, 0.2326843265355938, 0.06327961025428319, 0.858947169901825,\n\t\t\t0.24853391267708957, 0.8674084556319144, 0.39383837224527896, 0.19071193357949623, 0.5175001949524165,\n\t\t\t0.8381931177606918, 0.1996566487837752, 0.3102574261012523, 0.20402181565790944, 0.8169171734004008,\n\t\t\t0.6272876300821655, 0.4591139151852799, 0.232813457533682, 0.5330371864307903, 0.814985808908931,\n\t\t\t0.6569484902534584, 0.2187067425642637, 0.9441095759404117, 0.020767964225411495, 0.1742609556027115,\n\t\t\t0.381745805216293, 0.10270534056860448, 0.02218384287290842, 0.8151079560012993, 0.5164237795690831,\n\t\t\t0.8249840565031561, 0.5133964045331298, 0.2287624437826692, 0.28429109593516744, 0.9559443203700742,\n\t\t\t0.8844015249179118, 0.024722332614394604, 0.9446031098908689, 0.6459593482838701, 0.8648814133181197,\n\t\t\t0.7551818454278663, 0.38313335158296935, 0.9590974915911765, 0.40254036110524694, 0.05762548673478429,\n\t\t\t0.7629172659377028, 0.144755504851233, 0.05474831958729687, 0.692796986737743, 0.2259538941299375,\n\t\t\t0.42253853302824296, 0.42576869869334844, 0.5152402517053687, 0.8689788889443955, 0.36620843578251816,\n\t\t\t0.12524925316055424, 0.7684664713460927, 0.5891592404947019, 0.7523762036950374, 0.10122025521966638,\n\t\t\t0.18101177501314636, 0.8973005487125723, 0.12075086430821447, 0.6083092187147761, 0.5473251534285544,\n\t\t\t0.19516250386976064, 0.004982843889805633, 0.2747785482288636, 0.13109768585554993,\n\t\t\t0.4400504117312063, 0.42411311078628877, 0.7338278598847459, 0.31216716590987126, 0.3155208505343543,\n\t\t\t0.5951803337226056, 0.7838770729644713, 0.7909657337316263, 0.745601507388163, 0.5823170991033464,\n\t\t\t0.3023537792118165, 0.10173319061741948, 0.09906776989539678, 0.11816312641765436, 0.7574606245159539,\n\t\t\t0.6537162010642967, 0.9573432260466113, 0.39726982611101036, 0.8197693392268399, 0.07493951553943035,\n\t\t\t0.2041050135491116, 0.18293630816584816, 0.6026022584013391, 0.25835848748413337, 0.00601984866800942,\n\t\t\t0.7379124142621731, 0.9127352629401742, 0.6281481626873935, 0.8679926785302836, 0.5383550460224571,\n\t\t\t0.8937130229144234, 0.3148683370218659, 0.5836111591992907, 0.10358479024198242\n\t\t]\n\t];\n\n\t/*** Map ***/\n\tconfig.mapSize = 30000;\n\tconfig.mapRadius = config.mapSize / 2;\n\tconfig.viewDistanceY = 1600;\n\tconfig.viewDistanceX = config.viewDistanceY * 2.5;\n\tconfig.viewportHeight = config.viewDistanceY * 0.9;\n\n\tconfig.debugLayer = false;\n\n\t/*** Planets ***/\n\tconfig.centerPlanetRadius = 3200;\n\tconfig.centerPlanetAtmosphereSize = 600;\n\tconfig.centerPlanetResourceMap = 15000;\n\tconfig.centerPlanetResourceGenRate = 100;\n\n\tconfig.planetCount = config.aliens ? 6 : 36;\n\tconfig.minPlanetRadius = config.aliens ? 1500 : 750;\n\tconfig.maxPlanetRadius = config.aliens ? 3500 : 2600;\n\tconfig.minPlanetAtmosphereSize = 300;\n\tconfig.planetTotalResourceMaxMin = 2500;\n\tconfig.planetTotalResourceMaxMax = 10000;\n\tconfig.planetTotalRegenRateMin = 12;\n\tconfig.planetTotalRegenRateMax = 60;\n\n\tconfig.wormholes = {\n\t\t20: 1.85,\n\t\t25: 0.4,\n\t\t30: 1.5,\n\t\t34: 0.05\n\t};\n\n\t/*** Bots ***/\n\tconfig.botCount = config.aliens ? 200 : 20;\n\n\t/*** Players ***/\n\tconfig.maxPlayers = 50;\n\tconfig.maxPlayersHard = 60;\n\tconfig.playerDeathScoreLoss = 0.1;\n\n\tconfig.playerNamePrefixes = [\n\t\t'Spaceman',\n\t\t'Pilot',\n\t\t'Astronaut',\n\t\t'Cosmonaut',\n\t\t'Rocketeer',\n\t\t'Trooper',\n\t\t'Captain'\n\t];\n\tconfig.playerDamagePerVelocity = 1 / 16000;\n\tconfig.playerAcceleration = 1500;\n\tconfig.playerSprintingAcceleration = 3500;\n\tconfig.playerMaxVelocity = 500;\n\tconfig.playerMaxSprintVelocity = 700;\n\tconfig.playerDrag = 3.5;\n\tconfig.sprintTime = 3.0;\n\n\tconfig.maxScreenShake = 40;\n\tconfig.maxScreenShakeReduced = 10;\n\n\tconfig.energyLossOnDeath = 0.05;\n\tconfig.ammoLossOnDeath = 0.25;\n\tconfig.resourceLossOnDead = 0.5;\n\n\tconfig.adBlockReward = 750;\n\tconfig.discordReward = 1000;\n\n\tconfig.ships = [\n\t\t{ id: 'ship-0' },\n\t\t{ id: 'ship-1' },\n\t\t{ id: 'ship-2' },\n\t\t{ id: 'ship-instagram', fireDistance: 1.2, reward: 'instagram' },\n\t\t{ id: 'ship-twitch', reward: 'twitch' },\n\t\t{ id: 'ship-twitter', fireDistance: 1.2, reward: 'twitter' },\n\t\t{ id: 'alien', reward: 'adblock' }\n\t];\n\tconfig.shipFills = [\n\t\t{ value: '#ffffff' },\n\t\t{ value: '#7e7e7e' },\n\t\t{ value: '#212121' },\n\t\t{ value: '#E54D69' },\n\t\t{ value: '#FD9F4D' },\n\t\t{ value: '#57D1FF' },\n\t\t{ value: '#3BD793' },\n\t\t{ value: '#F547BB' },\n\t\t{ value: '#EFED69' }\n\t];\n\tconfig.shipForId = function (id) {\n\t\treturn config.ships[this.shipIndexForId(id)];\n\t};\n\tconfig.shipIndexForId = function (id) {\n\t\treturn config.ships.findIndex(s => s.id === id);\n\t};\n\n\tconfig.flatColors = [\n\t\t// From: https://flatuicolors.com/\n\t\t'#55efc4',\n\t\t'#81ecec',\n\t\t'#74b9ff',\n\t\t'#a29bfe',\n\t\t'#ffeaa7',\n\t\t'#fab1a0',\n\t\t'#ff7675',\n\t\t'#fd79a8',\n\t\t'#00b894',\n\t\t'#00cec9',\n\t\t'#0984e3',\n\t\t'#6c5ce7',\n\t\t'#fdcb6e',\n\t\t'#e17055',\n\t\t'#d63031',\n\t\t'#e84393'\n\t];\n\n\tconfig.quantize01 = { min: 0, max: 1, bits: 7 };\n\tconfig.maxRadius = config.centerPlanetRadius;\n\tconfig.minimapPositionBits = 7;\n\tconfig.minimapRadiusBits = 7;\n\tconfig.minimapMaxRadius = config.maxRadius; // There can't be a larger entity than the center planet\n\n\t// https://www.desmos.com/calculator/sxti4a3hi3\n\tconfig.rankTarget = 70000; // How many points you need to have the rank of `rankScale`\n\tconfig.rankScale = 11; // Level at which the `rankTarget` will give you\n\tconfig.rankExponential = 2.4;\n\n\tconfig.pointRewardTypes = {\n\t\tASTEROID_LARGE: 0,\n\t\tASTEROID_SMALL: 1,\n\t\tPLAYER_KILL: 2,\n\t\tFACTORY: 3,\n\t\tCITY: 4\n\t};\n\n\tconfig.pointRewards = {\n\t\tASTEROID_LARGE: 16,\n\t\tASTEROID_SMALL: 8,\n\t\tBOT_KILL: 150,\n\t\tCITY_PER_SECOND: 2\n\t};\n\n\tconfig.notificationTypes = {\n\t\tPLAYER_KILL: 0,\n\t\tDEATH: 1,\n\t\tSTRUCTURE_DESTROYED: 2,\n\t\tSTRUCTURE_PLACE_CONFLICT: 3,\n\t\tCANT_AFFORD: 4,\n\t\tJUST_STOP: 5,\n\t\tTOO_MANY_STRUCTURES: 6,\n\t\tRANK_UP: 7\n\t};\n\n\t/*** Structures ***/\n\tconfig.structureConstructionTime = 2.0;\n\n\tconfig.mineAndFactoryTransferOnDeath = 0.75;\n\n\t/*** Asteroids ***/\n\tconfig.asteroidCount = 400;\n\tconfig.asteroidShapes = [\n\t\t[\n\t\t\t[-0.4, -1],\n\t\t\t[0.05, -0.6],\n\t\t\t[0.5, -1],\n\t\t\t[1, -0.6],\n\t\t\t[0.7, 0],\n\t\t\t[1, 0.4],\n\t\t\t[0.3, 1],\n\t\t\t[-0.55, 1],\n\t\t\t[-1, 0.65],\n\t\t\t[-1, -0.6],\n\t\t\t[-0.4, -1]\n\t\t],\n\t\t[\n\t\t\t[-0.82, -0.62],\n\t\t\t[-0.36, -1],\n\t\t\t[0.09, -0.62],\n\t\t\t[0.36, -1],\n\t\t\t[1, -0.62],\n\t\t\t[0.36, -0.24],\n\t\t\t[1, 0.24],\n\t\t\t[0.36, 1],\n\t\t\t[-0.36, 0.71],\n\t\t\t[-0.55, 0.9],\n\t\t\t[-1, 0.43],\n\t\t\t[-0.73, -0.05],\n\t\t\t[-0.82, -0.62]\n\t\t],\n\t\t[\n\t\t\t[-0.4, -1],\n\t\t\t[-1, -0.5],\n\t\t\t[-0.7, 0],\n\t\t\t[-1, 0.5],\n\t\t\t[-0.5, 1],\n\t\t\t[-0.3, 0.8],\n\t\t\t[0.4, 1],\n\t\t\t[1, 0.25],\n\t\t\t[0.4, -0.25],\n\t\t\t[1, -0.5],\n\t\t\t[0.5, -1],\n\t\t\t[0.05, -0.7],\n\t\t\t[-0.4, -1]\n\t\t],\n\t\t[\n\t\t\t[-0.4, -1],\n\t\t\t[-1, -0.5],\n\t\t\t[-0.7, 0],\n\t\t\t[-1, 0.5],\n\t\t\t[-0.5, 1],\n\t\t\t[-0.3, 0.8],\n\t\t\t[0.4, 1],\n\t\t\t[1, 0.25],\n\t\t\t[0.4, -0.25],\n\t\t\t[1, -0.5],\n\t\t\t[0.5, -1],\n\t\t\t[0.05, -0.7],\n\t\t\t[-0.4, -1]\n\t\t]\n\t];\n\tconfig.asteroidMinResources = 10;\n\tconfig.asteroidSmallMaxResources = 100;\n\tconfig.asteroidLargeMaxResources = 400;\n\tconfig.maxAsteroidRotateSpeed = Math.PI * 0.75;\n\n\t/*** Walls ***/\n\tconfig.minWallConnectRadius = 200;\n\tconfig.maxWallConnectRadius = 600;\n\tconfig.connectedWallCount = 2; // How many walls to try to connect to\n\n\t/*** Messages ***/\n\t// Messages from client -> server\n\tconfig.clientMessages = {\n\t\tINIT: 14,\n\t\tJOIN: 0,\n\t\tINPUT: 1,\n\t\tSWITCH_WEAPON: 3,\n\t\tPURCHASE_STRUCTURE: 5,\n\t\tMESSAGE: 6,\n\t\tPING: 7,\n\t\tCREATE_ALLIANCE: 8,\n\t\tLEAVE_ALLIANCE: 9,\n\t\tJOIN_ALLIANCE: 10,\n\t\tKICK_MEMBER: 11,\n\t\tRESOLVE_JOIN_REQUEST: 13,\n\t\tSTRUCTURE_ACTION: 12,\n\t\tCHOOSE_UPGRADE: 15\n\t\t// Next is 16\n\t};\n\n\t// Messages from server -> client\n\tconfig.serverMessages = {\n\t\tPRE_INIT: 0,\n\t\tINIT: 13,\n\t\tUPDATE: 1,\n\t\tLEADERBOARD: 2,\n\t\tMINIMAP: 3,\n\t\tWEAPONS: 4,\n\t\tSTRUCTURES: 14,\n\t\tTEXT_POPUP: 5,\n\t\tMESSAGE: 6,\n\t\tPING: 7,\n\t\tNOTIFICATION: 8,\n\t\tALLIANCE_LIST: 9,\n\t\tALLIANCE_DATA: 10,\n\t\tALLIANCE_JOIN_REQUEST: 12,\n\t\tRESOURCES: 11,\n\t\tUPGRADE_OPTIONS: 15\n\t\t// Next is 16\n\t};\n\n\tconfig.activeMenu = {\n\t\tINFO: 0,\n\t\tFRIENDS: 1,\n\t\tACCOUNT: 2\n\t};\n\n\t/*** Vignette ***/\n\tconfig.defaultVignette = [0, 0, 0, 0.3];\n\tconfig.defaultVIgnetteDistance = 0.2;\n\tconfig.lowHealthVignette = [100, 0, 0, 0.7]; // 0.7 alpha, since 0.3 alpha is added in the heart rate\n\tconfig.lowHealthVignetteDistance = 0.9;\n\tconfig.killVignette = [255, 255, 255, 0.2];\n\tconfig.killVignetteDistance = 0.5;\n\n};\n\n","const planets = {};\n\nplanets.planets = [\n\t{\n\t\tinnerColor: '#D0D390',\n\t\touterColor: '#5FBF6F',\n\t\tprops: ['mountain-1', 'maple-tree', 'maple-tree']\n\t},\n\t{\n\t\tinnerColor: '#CCD164',\n\t\touterColor: '#A99B42',\n\t\tprops: ['sahara-tree']\n\t},\n\t{\n\t\tinnerColor: '#11B855',\n\t\touterColor: '#358339',\n\t\tprops: ['pine-tree', 'pine-tree', 'mountain-1']\n\t},\n\t{\n\t\tinnerColor: '#E5E5E5',\n\t\touterColor: '#C6C6C6',\n\t\tprops: ['glacier-1', 'glacier-2']\n\t},\n\t{\n\t\tinnerColor: '#11B6B8',\n\t\touterColor: '#356683',\n\t\tprops: ['glacier-1', 'glacier-2']\n\t},\n\t{\n\t\tinnerColor: '#FFAC7F',\n\t\touterColor: '#BF885F',\n\t\tprops: ['dunes-1', 'sahara-tree']\n\t}\n];\n\nplanets.props = {\n\t'maple-tree': {\n\t\tsizes: [96, 128]\n\t},\n\t'sahara-tree': {\n\t\tsizes: [96, 128]\n\t},\n\t'pine-tree': {\n\t\tsizes: [64, 96, 128, 160]\n\t},\n\t'mountain-1': {\n\t\tsizes: [192, 256]\n\t},\n\t'glacier-1': {\n\t\tsizes: [192]\n\t},\n\t'glacier-2': {\n\t\tsizes: [192]\n\t},\n\t'dunes-1': {\n\t\tsizes: [128, 192]\n\t}\n};\n\nmodule.exports = planets;\n","const resources = {};\n\nresources.types = {\n\tOIL: 0,\n\tALUMINIUM: 1,\n\tURANIUM: 2\n};\n\nresources.resources = [\n\t{\n\t\tid: 'oil',\n\t\tname: 'Oil',\n\t\ticon: 'oil',\n\t\tmineIcon: 'oil-rig-1',\n\t\tfactoryPrice: [0, 150, 150],\n\t\tgenerationRate: 20,\n\t\tlaborDemand: 20\n\t},\n\t{\n\t\tid: 'aluminium',\n\t\tname: 'Aluminium',\n\t\ticon: 'aluminium',\n\t\tmineIcon: 'aluminium-mine-1',\n\t\tfactoryPrice: [150, 0, 150],\n\t\tgenerationRate: 10,\n\t\tlaborDemand: 40\n\t},\n\t{\n\t\tid: 'uranium',\n\t\tname: 'Uranium',\n\t\ticon: 'uranium',\n\t\tmineIcon: 'uranium-mine-1',\n\t\tfactoryPrice: [150, 150, 0],\n\t\tgenerationRate: 5,\n\t\tlaborDemand: 60\n\t}\n];\n\nresources.mineMaxCount = 5000;\n\nmodule.exports = resources;\n","const weapons = require('./weapons');\nconst resources = require('./resources');\nconst utils = require('../utils');\n\n/**\n * @typedef {Object} ItemData\n * @property {string} id\n * @property {string} slot\n * @property {number} index\n * @property {string} name\n * @property {string} group\n * @property {string} icon\n * @property {?string} image\n * @property {boolean} planetItem\n * @property {Object} prototype\n * @prototype {number[]} price\n * @prototype {number} price\n */\n\nlet structures = {};\n\nstructures.actions = {\n\tTOGGLE_SHARING: 0,\n\tDEPOSIT: 1,\n\tCOLLECT: 2,\n\tDEMOLISH: 3\n};\n\n// Structure groups\nstructures.groups = [\n\t{\n\t\tid: 'planet'\n\t},\n\t{\n\t\tid: 'mine'\n\t},\n\t{\n\t\tid: 'factory'\n\t},\n\t{\n\t\tid: 'defense'\n\t}\n];\n\n// Add translations\nfor (let group of structures.groups) {\n\tObject.defineProperty(group, 'name', {\n\t\tget() {\n\t\t\treturn utils.translate(`group-${this.id}`);\n\t\t}\n\t});\n}\n\n/** @type {ItemData[]} */\nstructures.structures = [\n\t/* Civilian */\n\t{\n\t\tid: 'city',\n\t\tslot: 'city',\n\t\tgroup: 'planet',\n\t\timage: 'city-1',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/City'),\n\t\tprice: [250, 250, 0],\n\t\tlimit: 50\n\t},\n\t{\n\t\tid: 'launch-pad',\n\t\tslot: 'launch-pad',\n\t\tgroup: 'planet',\n\t\timage: 'launch-1',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/LaunchPad'),\n\t\tprice: [200, 1000, 50],\n\t\tlimit: 1\n\t},\n\n\t/* Defenses */\n\t{\n\t\tid: 'ied',\n\t\tslot: 'ied',\n\t\tgroup: 'defense',\n\t\timage: 'ied-1',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/IED'),\n\t\tprice: [50, 10, 100],\n\t\tlimit: 100\n\t},\n\t{\n\t\tid: 'trap',\n\t\tslot: 'trap',\n\t\tgroup: 'defense',\n\t\timage: 'trap',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Trap'),\n\t\tprice: [50, 10, 100],\n\t\tlimit: 15\n\t},\n\t{\n\t\tid: 'boost-pad',\n\t\tslot: 'boost-pad',\n\t\tgroup: 'defense',\n\t\timage: 'boost-pad',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/BoostPad'),\n\t\tprice: [50, 10, 100],\n\t\tlimit: 20\n\t},\n\n\t/* Wall */\n\t{\n\t\tid: 'wall',\n\t\tslot: 'wall',\n\t\tgroup: 'defense',\n\t\timage: 'wall-1',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Wall'),\n\t\tprice: [60, 30, 0],\n\t\tlimit: 150\n\t},\n\t{\n\t\tid: 'wall-strong',\n\t\tslot: 'wall',\n\t\tgroup: 'defense',\n\t\timage: 'wall-2',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Wall'),\n\t\tprice: [100, 150, 0],\n\t\tlimit: 150\n\t},\n\t{\n\t\tid: 'ground-wall',\n\t\tslot: 'ground-wall',\n\t\tgroup: 'defense',\n\t\timage: 'ground-wall',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Wall'),\n\t\tprice: [200, 100, 10],\n\t\tlimit: 25\n\t},\n\n\t/* Turrets */\n\t{\n\t\tid: 'machine-gun-turret',\n\t\tslot: 'turret-fast',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [200, 350, 350],\n\t\tweaponId: 'machine-gun',\n\t\tlimit: 10\n\t},\n\t{\n\t\tid: 'missile-turret',\n\t\tslot: 'turret-slow',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [500, 500, 200],\n\t\tweaponId: 'missile',\n\t\tlimit: 10\n\t},\n\t{\n\t\tid: 'sniper-turret',\n\t\tslot: 'turret-slow',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [500, 200, 500],\n\t\tweaponId: 'sniper',\n\t\tlimit: 10\n\t},\n\t{\n\t\tid: 'minigun-turret',\n\t\tslot: 'turret-fast',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [200, 1000, 600],\n\t\tweaponId: 'minigun',\n\t\tlimit: 10\n\t},\n\t{\n\t\tid: 'super-minigun-turret',\n\t\tslot: 'turret-fast',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: false,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [6000, 8000, 10000],\n\t\tweaponId: 'super-minigun',\n\t\tlimit: 10\n\t},\n\n\t/* Ground Turrets */\n\t{\n\t\tid: 'ground-missile-turret',\n\t\tslot: 'ground-turret',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [1000, 1000, 500],\n\t\tweaponId: 'missile',\n\t\tlimit: 15\n\t},\n\t{\n\t\tid: 'ground-minigun-turret',\n\t\tslot: 'ground-turret',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [2000, 1000, 2000],\n\t\tweaponId: 'minigun',\n\t\tlimit: 15\n\t},\n\n\t{\n\t\tid: 'ground-sniper-turret',\n\t\tslot: 'ground-turret',\n\t\tgroup: 'defense',\n\t\timage: 'turret',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Turret'),\n\t\tprice: [4000, 2000, 4000],\n\t\tweaponId: 'sniper',\n\t\tlimit: 15\n\t},\n\n\t/* Misc */\n\t{\n\t\tid: 'planet-sign',\n\t\tslot: 'planet-sign',\n\t\tgroup: 'planet',\n\t\timage: 'city-1',\n\t\tplanetItem: true,\n\t\tspecial: true,\n\t\tgetPrototype: () => require('../entities/structures/Sign'),\n\t\tprice: [0, 0, 0],\n\t\tlimit: 15\n\t},\n\t{\n\t\tid: 'space-sign',\n\t\tslot: 'space-sign',\n\t\tgroup: 'planet',\n\t\timage: 'city-1',\n\t\tplanetItem: false,\n\t\tspecial: true,\n\t\tgetPrototype: () => require('../entities/structures/Sign'),\n\t\tprice: [0, 0, 0],\n\t\tlimit: 15\n\t},\n\t{\n\t\tid: 'planet-flag',\n\t\tslot: 'planet-flag',\n\t\tgroup: 'planet',\n\t\timage: 'city-1',\n\t\tplanetItem: true,\n\t\tspecial: true,\n\t\tgetPrototype: () => require('../entities/structures/Flag'),\n\t\tprice: [0, 0, 0],\n\t\tlimit: 5\n\t}\n];\n\n// Mining structures\nlet mineStructures = [];\nfor (let resource of resources.resources) {\n\tmineStructures.push({\n\t\tid: `${resource.id}-mine`,\n\t\tslot: `${resource.id}-mine`,\n\t\tgroup: 'mine',\n\t\timage: resource.mineIcon,\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Mine'),\n\t\tprice: resource.factoryPrice,\n\t\tlimit: 50,\n\t\tresource: resource,\n\t\tmineRadius: resource.name === 'Oil' ? 64 : 96\n\t});\n}\nstructures.structures.push(...mineStructures);\n\n// Add factory structures\nlet weaponFactoryStructures = [];\nfor (let i = 0; i < weapons.weapons.length; i++) {\n\tlet weapon = weapons.weapons[i];\n\tif (weapon.maxAmmo === -1) continue; // Don't generate infinite ammo\n\tweaponFactoryStructures.push({\n\t\tid: `${weapon.id}-factory`,\n\t\tslot: `${weapon.id}-factory`,\n\t\tgroup: 'factory',\n\t\timage: 'factory-1',\n\t\tplanetItem: true,\n\t\tgetPrototype: () => require('../entities/structures/Factory'),\n\t\tprice: weapon.factoryPrice,\n\t\tlimit: weapon.id === 'nuke' ? 1 : 5,\n\t\tweaponIndex: i\n\t});\n}\nstructures.structures.push(...weaponFactoryStructures);\n\n// List of slots (created by structures)\nstructures.slots = [];\n\n// Add getters\nfor (let i = 0; i < structures.structures.length; i++) {\n\tlet structure = structures.structures[i];\n\n\t// Get the structure index\n\tstructure.index = i;\n\n\t// Save the slot\n\tif (structures.slots.indexOf(structure.slot) === -1) {\n\t\tstructures.slots.push(structure.slot);\n\t}\n\tstructure.slotIndex = structures.slots.indexOf(structure.slot);\n\n\t// Prototype cache\n\tObject.defineProperty(structure, 'prototype', {\n\t\tget() {\n\t\t\tif (!this._prototype) {\n\t\t\t\tthis._prototype = this.getPrototype();\n\t\t\t}\n\t\t\treturn this._prototype;\n\t\t}\n\t});\n\n\t// Get the group\n\tstructure.groupObj = structures.groups[structures.groups.findIndex(g => g.id === structure.group)];\n\n\t// Add default translation if needed\n\tif (!structure.name) {\n\t\tif (structure.id.endsWith('-turret')) {\n\t\t\t// Turret name\n\t\t\tObject.defineProperty(structure, 'name', {\n\t\t\t\tget() {\n\t\t\t\t\treturn utils.translate(\n\t\t\t\t\t\tstructure.id.startsWith('ground-') ? `structure-ground-turret` : 'structure-turret',\n\t\t\t\t\t\tweapons.weaponForId(this.weaponId).name\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (structure.id.endsWith('-factory')) {\n\t\t\t// Factory name\n\t\t\tObject.defineProperty(structure, 'name', {\n\t\t\t\tget() {\n\t\t\t\t\treturn utils.translate('structure-factory', weapons.weapons[this.weaponIndex].name);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Generic name\n\t\t\tObject.defineProperty(structure, 'name', {\n\t\t\t\tget() {\n\t\t\t\t\treturn utils.translate(`structure-${this.id}`);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\n// Add utility\nstructures.structureForId = function (id) {\n\treturn structures.structures[structures.structureIndexForId(id)];\n};\n\nstructures.structureIndexForId = function (id) {\n\treturn structures.structures.findIndex(s => s.id === id);\n};\n\nstructures.groupForId = function (id) {\n\treturn structures.groups[structures.groups.findIndex(g => g.id === id)];\n};\n\n// Default owned structures\nlet testingStructures = [];\nstructures.defaultOwned = [\n\t'city',\n\t'oil-mine',\n\t'aluminium-mine',\n\t'uranium-mine',\n\t'minigun-factory',\n\t'bomb-factory',\n\t'wall',\n\t'machine-gun-turret',\n\t...testingStructures\n].map(id => structures.structureIndexForId(id));\n\n// Warn if has testing structures\nif (testingStructures.length > 0) {\n\tconsole.warn('Has testing structures.');\n}\n\nmodule.exports = structures;\n","const structures = require('./structures');\nconst assets = require('../client/assets');\n\nconst upgrades = {};\n\nupgrades.upgrades = [\n\t[\n\t\t{ structureId: 'launch-pad' },\n\t\t{ structureId: 'shotgun-factory' },\n\t\t{ structureId: 'super-minigun-factory' }\n\t],\n\t[\n\t\t{ moveSpeed: 1.15, label: 'upgrade-move-speed' },\n\t\t{ boostSpeed: 1.2, label: 'upgrade-boost-speed' },\n\t\t{ boostAmount: 1.4, label: 'upgrade-boost-fuel' }\n\t], // Testing Tier\n\t[\n\t\t{ bombInterval: 0.65, bombAmmo: 1.5, label: 'upgrade-bomb' },\n\t\t{\n\t\t\tmachineGunInterval: 0.9,\n\t\t\tminigunInterval: 0.9,\n\t\t\tminigunAmmo: 2,\n\t\t\tsuperMinigunAmmo: 4,\n\t\t\tlabel: 'upgrade-minigun'\n\t\t},\n\t\t{ structureId: 'ground-sniper-turret' }\n\t], // Tier 1 // { buildTime: 0.1 }\n\t[\n\t\t{ collisionDamage: 1 / 1400, label: 'upgrade-collision-damage' },\n\t\t{ viewDistance: 1.05, label: 'upgrade-view-distance' },\n\t\t{ structureId: 'ground-missile-turret' }\n\t], // Tier 2 // { cityPopulation: 1.5 }\n\t[{ structureId: 'missile-factory' }, { structureId: 'sniper-turret' }, { structureId: 'ground-wall' }],\n\t[{ structureId: 'sniper-factory' }, { structureId: 'wall-strong' }, { structureId: 'missile-turret' }],\n\t[\n\t\t{ missileInterval: 0.75, missileAmmo: 1.5, label: 'upgrade-missile' },\n\t\t{\n\t\t\tmachineGunDamage: 1.08,\n\t\t\tminigunDamage: 1.1,\n\t\t\tlabel: 'upgrade-machine-gun'\n\t\t},\n\t\t{ structureId: 'ied' }\n\t], // Tier 3 // { cost: 0.9 }\n\t[\n\t\t{ structureId: 'anti-follow-factory' },\n\t\t{ structureId: 'minigun-turret' },\n\t\t{ structureId: 'ground-minigun-turret' }\n\t],\n\t[\n\t\t{ structureId: 'super-minigun-turret' },\n\t\t{ explosionRadius: 1.5, label: 'upgrade-explosion-radius' },\n\t\t{\n\t\t\tmachineGunLife: 1.05,\n\t\t\tminigunLife: 1.05,\n\t\t\tshotgunLife: 1.3,\n\t\t\tlabel: 'upgrade-weapon-range'\n\t\t}\n\t], // Tier 4 // { turretBulletLife: 1.5 }\n\t[{ structureId: 'heal-factory' }, { structureId: 'teleport-factory' }, { structureId: 'shield-factory' }],\n\t[{ structureId: 'boost-pad' }, { structureId: 'trap' }],\n\t[\n\t\t{ structureId: 'nuke-factory' },\n\t\t{\n\t\t\tshotgunAmmo: 3,\n\t\t\tminigunAmmo: 3,\n\t\t\tantiFollowAmmo: 3,\n\t\t\tsniperAmmo: 3,\n\t\t\tlabel: 'upgrade-tripple-ammo'\n\t\t}\n\t] // Tier 5 // { /* Max turret max count */ }\n];\n\n// Check if any structures are missing\nstructureLoop: for (let structure of structures.structures) {\n\t// Skip special structures\n\tif (structure.special) continue;\n\n\t// Skip if in default owned\n\tif (structures.defaultOwned.indexOf(structure.index) !== -1) continue;\n\n\t// Try to find a matching upgrade\n\tfor (let upgradeOptions of upgrades.upgrades) {\n\t\tfor (let upgrade of upgradeOptions) {\n\t\t\tif (upgrade.structureId === structure.id) {\n\t\t\t\tcontinue structureLoop;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Log that it's missing\n\tconsole.warn(`Missing upgrade for structure ${structure.id}.`);\n}\n\n// Put perks in to an array for easy indexing\nupgrades.perks = [];\nfor (let options of upgrades.upgrades) {\n\tfor (let upgrade of options) {\n\t\tif (upgrade.structureId == null && upgrades.perks.indexOf(upgrade)) {\n\t\t\tupgrades.perks.push(upgrade);\n\t\t}\n\t}\n}\n\n// Process upgrades\nfor (let upgradeOptions of upgrades.upgrades) {\n\tfor (let upgrade of upgradeOptions) {\n\t\tif (upgrade.structureId) {\n\t\t\t// Get the structure object\n\t\t\tupgrade.structure = structures.structureForId(upgrade.structureId);\n\t\t\tif (upgrade.structure == null) throw new Error(`Invalid structure ID ${upgrade.structureId}.`);\n\n\t\t\t// Set the icon\n\t\t\tupgrade.icon = assets.structureUrl(upgrade.structure.image);\n\t\t} else {\n\t\t\t// Add the ID of the perk\n\t\t\tupgrade.perkIndex = upgrades.perks.indexOf(upgrade);\n\t\t}\n\t}\n}\n\nmodule.exports = upgrades;\n","const Bullet = require('../entities/Bullet');\nconst utils = require('../utils');\n\n/**\n * @typedef {Object} WeaponData\n * @property {string} id\n * @property {string} name\n * @property {?boolean} isPowerup - If it doesn't actually do any damage.\n * @property {?boolean} botWeapon - If a bot may use this weapon.\n * @property {string} icon\n * @property {number} maxAmmo\n * @property {number} fireInterval\n * @property [number} kickback\n * @property {?boolean} immediateFire - If the weapon should be able to fire immediately when selected.\n * @property {?string} bulletId\n * @property fire\n */\n\nlet weapons = {};\n\n/** @type {WeaponData[]} */\nweapons.weapons = [\n\t/* Damage Weapons */\n\t{\n\t\tid: 'machine-gun',\n\t\ticon: 'machine-gun',\n\t\tfactoryPrice: [0, 0, 0],\n\t\tbulletResources: [0, 0, 0],\n\t\tgenerationRate: 1,\n\t\tmaxAmmo: -1,\n\t\tfireInterval: 0.25,\n\t\tkickback: 0.02,\n\t\tbulletId: 'machine-gun',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'machine-gun');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'shotgun',\n\t\ticon: 'shotgun',\n\t\tfactoryPrice: [0, 100, 0],\n\t\tbulletResources: [15, 0, 0],\n\t\tgenerationRate: 2,\n\t\tlaborDemand: 40,\n\t\tmaxAmmo: 100,\n\t\tfireInterval: 0.5,\n\t\tkickback: 0.25,\n\t\tbulletId: 'shotgun',\n\t\tfire: (shooter, t) => {\n\t\t\tlet angleRange = Math.PI * 0.1;\n\t\t\tlet bulletCount = 5;\n\t\t\tlet bullets = [];\n\t\t\tfor (let i = 0; i < bulletCount; i++) {\n\t\t\t\t// Calculate angle offset to give shotgun effect\n\t\t\t\tlet angleProgress = i / (bulletCount - 1);\n\t\t\t\tlet angleOffset = angleRange * (angleProgress - 0.5);\n\n\t\t\t\t// Fire bullet\n\t\t\t\tlet b = new Bullet(shooter.game, 'shotgun');\n\t\t\t\tb.angleOffset = angleOffset;\n\t\t\t\tb.fireFrom(shooter, t);\n\t\t\t\tbullets.push(b);\n\t\t\t}\n\t\t\treturn bullets;\n\t\t}\n\t},\n\t{\n\t\tid: 'minigun',\n\t\ticon: 'minigun',\n\t\tfactoryPrice: [0, 100, 50],\n\t\tbulletResources: [3, 4, 0],\n\t\tgenerationRate: 20,\n\t\tlaborDemand: 60,\n\t\tmaxAmmo: 1500,\n\t\tfireInterval: 0.1,\n\t\tkickback: 0.04,\n\t\tbulletId: 'minigun',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'minigun');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'bomb',\n\t\ticon: 'bomb',\n\t\tfactoryPrice: [50, 100, 0],\n\t\tbulletResources: [0, 20, 10],\n\t\tgenerationRate: 0.7,\n\t\tlaborDemand: 50,\n\t\tmaxAmmo: 30,\n\t\tfireInterval: 2,\n\t\tbulletId: 'bomb',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'bomb');\n\t\t\tb.fireFrom(shooter, t, true);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'missile',\n\t\ticon: 'missile',\n\t\tfactoryPrice: [150, 250, 100],\n\t\tbulletResources: [20, 15, 25],\n\t\tgenerationRate: 0.5,\n\t\tlaborDemand: 80,\n\t\tmaxAmmo: 30,\n\t\tfireInterval: 0.8,\n\t\tbulletId: 'missile',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'missile');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'sniper',\n\t\ticon: 'sniper',\n\t\tfactoryPrice: [150, 250, 150],\n\t\tbulletResources: [0, 20, 20],\n\t\tgenerationRate: 0.4,\n\t\tlaborDemand: 95,\n\t\tmaxAmmo: 20,\n\t\tfireInterval: 1.2,\n\t\tkickback: 1,\n\t\tbulletId: 'sniper',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'sniper');\n\t\t\tb.trailLength = 60;\n\t\t\tb.bulletSpeed = 2000;\n\t\t\tb.damage = 0.9;\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'anti-follow',\n\t\ticon: 'bomb',\n\t\tfactoryPrice: [200, 350, 200],\n\t\tbulletResources: [20, 20, 40],\n\t\tgenerationRate: 0.9,\n\t\tlaborDemand: 110,\n\t\tmaxAmmo: 100,\n\t\tfireInterval: 0.2,\n\t\tkickback: -0.15,\n\t\tbulletId: 'anti-follow',\n\t\tfire: (shooter, t) => {\n\t\t\tlet angleOffset = Math.PI * 0.05;\n\t\t\tlet angleRange = Math.PI * 0.25;\n\t\t\tlet bullets = [];\n\n\t\t\t// Left\n\t\t\tlet b1 = new Bullet(shooter.game, 'anti-follow');\n\t\t\tb1.angleOffset = Math.PI + angleOffset + (Math.random() - 0.5) * angleRange;\n\t\t\tb1.fireFrom(shooter, t, true);\n\t\t\tbullets.push(b1);\n\n\t\t\t// Right\n\t\t\tlet b2 = new Bullet(shooter.game, 'anti-follow');\n\t\t\tb2.angleOffset = Math.PI - angleOffset + (Math.random() - 0.5) * angleRange;\n\t\t\tb2.fireFrom(shooter, t, true);\n\t\t\tbullets.push(b2);\n\n\t\t\treturn bullets;\n\t\t}\n\t},\n\t{\n\t\tid: 'super-minigun',\n\t\ticon: 'minigun',\n\t\tfactoryPrice: [300, 350, 300],\n\t\tbulletResources: [30, 50, 50],\n\t\tgenerationRate: 5,\n\t\tlaborDemand: 150,\n\t\tmaxAmmo: 200,\n\t\tfireInterval: 0.05,\n\t\tkickback: 0.03,\n\t\tbulletId: 'minigun',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'minigun');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\n\t/* Power ups */\n\t{\n\t\tid: 'shield',\n\t\ticon: 'shield',\n\t\tisPowerup: true,\n\t\tfactoryPrice: [400, 400, 400],\n\t\tbulletResources: [150, 150, 500],\n\t\tgenerationRate: 0.1,\n\t\tlaborDemand: 125,\n\t\tmaxAmmo: 2,\n\t\tfireInterval: 1,\n\t\timmediateFire: true,\n\t\tfire: (shooter, t) => {\n\t\t\tshooter.shieldTimer += 15;\n\t\t}\n\t},\n\t{\n\t\tid: 'heal',\n\t\ticon: 'heart',\n\t\tisPowerup: true,\n\t\tfactoryPrice: [400, 400, 400],\n\t\tbulletResources: [150, 150, 200],\n\t\tgenerationRate: 0.2,\n\t\tlaborDemand: 125,\n\t\tmaxAmmo: 4,\n\t\tfireInterval: 1,\n\t\timmediateFire: true,\n\t\tfire: (shooter, t) => {\n\t\t\tshooter.health = 1.0;\n\t\t}\n\t},\n\t{\n\t\tid: 'teleport',\n\t\ticon: 'teleport',\n\t\tisPowerup: true,\n\t\tfactoryPrice: [400, 400, 400],\n\t\tbulletResources: [150, 150, 300],\n\t\tgenerationRate: 0.2,\n\t\tlaborDemand: 125,\n\t\tmaxAmmo: 2,\n\t\tfireInterval: 1,\n\t\timmediateFire: true,\n\t\tfire: (shooter, t) => {\n\t\t\t[shooter.x, shooter.y] = shooter.game.chooseSpawnPoint(shooter.radius);\n\t\t}\n\t},\n\n\t/* Special */\n\t{\n\t\tid: 'nuke',\n\t\ticon: 'nuke',\n\t\tfactoryPrice: [2000, 10000, 20000],\n\t\tbulletResources: [0, 20000, 20000],\n\t\tgenerationRate: 0.0033, // 5 minutes\n\t\tlaborDemand: 800,\n\t\tmaxAmmo: 1,\n\t\tfireInterval: 10,\n\t\tbulletId: 'nuke',\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'nuke');\n\t\t\tb.fireFrom(shooter, t, true);\n\t\t\treturn b;\n\t\t}\n\t},\n\n\t/* Bot Weapons */\n\t{\n\t\tid: 'alien-gun',\n\t\ticon: 'machine-gun',\n\t\tdontSell: true,\n\t\tbotWeapon: true,\n\t\tfactoryPrice: [0, 0, 0],\n\t\tbulletResources: [0, 0, 0],\n\t\tgenerationRate: 1,\n\t\tmaxAmmo: -1,\n\t\tfireInterval: 0.75,\n\t\tkickback: 0.02,\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'alien-gun');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t},\n\t{\n\t\tid: 'super-alien-gun',\n\t\ticon: 'machine-gun',\n\t\tdontSell: true,\n\t\tbotWeapon: true,\n\t\tfactoryPrice: [0, 0, 0],\n\t\tbulletResources: [0, 0, 0],\n\t\tgenerationRate: 1,\n\t\tmaxAmmo: -1,\n\t\tfireInterval: 0.75,\n\t\tkickback: 0.02,\n\t\tfire: (shooter, t) => {\n\t\t\tlet b = new Bullet(shooter.game, 'alien-gun');\n\t\t\tb.fireFrom(shooter, t);\n\t\t\treturn b;\n\t\t}\n\t}\n];\n\nweapons.weaponForId = function (id) {\n\treturn weapons.weapons[weapons.weapons.findIndex(w => w.id === id)];\n};\n\nfor (let weapon of weapons.weapons) {\n\t// Add camel case ID\n\tlet normalizedId = '';\n\tlet nextCaps = false;\n\tfor (let i = 0; i < weapon.id.length; i++) {\n\t\tlet char = weapon.id[i];\n\t\tif (char === '-') {\n\t\t\tnextCaps = true;\n\t\t} else {\n\t\t\tnormalizedId += nextCaps ? char.toUpperCase() : char;\n\t\t\tnextCaps = false;\n\t\t}\n\t}\n\tweapon.normalizedId = normalizedId;\n\n\t// Add the translated name\n\tObject.defineProperty(weapon, 'name', {\n\t\tget() {\n\t\t\treturn utils.translate(`weapon-${this.id}`);\n\t\t}\n\t});\n}\n\nmodule.exports = weapons;\n","const Entity = require('./Entity');\nconst config = require('../config/config');\nconst utils = require('../utils');\nconst resources = require('../config/resources');\nconst assets = require('../client/assets');\nconst stats = require('../server/stats');\n\nclass Asteroid extends Entity {\n\tconstructor(game, isLarge = false) {\n\t\tsuper(game);\n\t\tthis.isAsteroid = true;\n\n\t\t// Save is large\n\t\tthis.isLarge = isLarge; // Not synchronized\n\n\t\t// Configure entity\n\t\tif (isLarge) {\n\t\t\tthis.radius = 50 + Math.random() * 20;\n\t\t\tthis.health = 0.75;\n\t\t} else {\n\t\t\tthis.radius = 15 + Math.random() * 10;\n\t\t\tthis.health = 0.1;\n\t\t}\n\t\tthis.radius = Math.floor(this.radius / 5) * 5; // Quantize to every 5 pixels\n\t\tthis.checkCollisions = true;\n\n\t\t// Rotational velocity\n\t\tthis.rotVel = (Math.random() - 0.5) * 2 * config.maxAsteroidRotateSpeed;\n\n\t\t// Random velocity\n\t\tlet velMag = 10 + Math.random() * 60;\n\t\tlet velAngle = Math.random() * Math.PI * 2;\n\t\tthis.velX = Math.cos(velAngle) * velMag;\n\t\tthis.velY = Math.sin(velAngle) * velMag;\n\t}\n\n\tupdate(dt) {\n\t\t// Rotate\n\t\tthis.rot += this.rotVel * dt;\n\n\t\tsuper.update(dt);\n\t}\n\n\tonCollision(entity) {\n\t\tif (entity.isAsteroid) {\n\t\t\tutils.repelEntities(this, entity, -1); // Use natural collisions\n\t\t} else if (entity.isBullet) {\n\t\t\tentity.destroyBullet();\n\t\t\tutils.damageEntity(entity, this, entity.damage);\n\t\t}\n\t}\n\n\tonKilled(killer) {\n\t\tif (config.isServer) {\n\t\t\t// Find the killer\n\t\t\tlet killerClient = utils.clientOwner(killer);\n\n\t\t\tif (killerClient) {\n\t\t\t\t// // Award points\n\t\t\t\tkillerClient.awardPoints(\n\t\t\t\t\tthis.isLarge\n\t\t\t\t\t\t? config.pointRewardTypes.ASTEROID_LARGE\n\t\t\t\t\t\t: config.pointRewardTypes.ASTEROID_SMALL,\n\t\t\t\t\tthis.isLarge ? config.pointRewards.ASTEROID_LARGE : config.pointRewards.ASTEROID_SMALL\n\t\t\t\t\t// this.x, // Don't show +x\n\t\t\t\t\t// this.y // ^\n\t\t\t\t);\n\n\t\t\t\t// Award resources\n\t\t\t\tlet resourceIndex = Math.floor(Math.random() * resources.resources.length);\n\t\t\t\tlet resourceCount = Math.floor(\n\t\t\t\t\tutils.lerp(\n\t\t\t\t\t\tconfig.asteroidMinResources,\n\t\t\t\t\t\tthis.isLarge ? config.asteroidLargeMaxResources : config.asteroidSmallMaxResources,\n\t\t\t\t\t\tMath.random()\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tkillerClient.giveResources(resourceIndex, resourceCount, this.x, this.y);\n\t\t\t}\n\n\t\t\t// Break apart asteroid\n\t\t\tif (this.isLarge) {\n\t\t\t\t// Break apart\n\t\t\t\tlet shardCount = 2 + Math.floor(Math.random() * 4);\n\t\t\t\tlet spawnDistance = 30;\n\t\t\t\tlet ejectSpeed = 50;\n\n\t\t\t\t// Spawn shards\n\t\t\t\tfor (let i = 0; i < shardCount; i++) {\n\t\t\t\t\t// Get the angle\n\t\t\t\t\tlet angle = ((Math.PI * 2) / shardCount) * i;\n\n\t\t\t\t\t// Create an insert shard\n\t\t\t\t\tlet shard = new Asteroid(this.game, false);\n\t\t\t\t\tshard.x = this.x + Math.cos(angle) * spawnDistance;\n\t\t\t\t\tshard.y = this.y + Math.sin(angle) * spawnDistance;\n\t\t\t\t\tshard.velX = this.velX + Math.cos(angle) * ejectSpeed;\n\t\t\t\t\tshard.velY = this.velY + Math.sin(angle) * ejectSpeed;\n\t\t\t\t\tthis.game.insertEntity(shard);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Tally\n\t\t\tstats.tallyAsteroidDestroy();\n\t\t}\n\t}\n\n\tonDestroy() {\n\t\tif (config.isClient) {\n\t\t\tthis.game.explosionManager.spawnExplosion(this.x, -this.y, this.radius);\n\t\t}\n\t}\n\n\trender(ctx) {\n\t\t// // Render shape\n\t\t// let points = config.asteroidShapes[this.id % config.asteroidShapes.length];\n\t\t// ctx.fillStyle = \"black\";\n\t\t// ctx.beginPath();\n\t\t// ctx.moveTo(points[0][0] * this.radius, points[0][1] * this.radius);\n\t\t// for (let point of points) {\n\t\t// ctx.lineTo(point[0] * this.radius, point[1] * this.radius);\n\t\t// }\n\t\t// ctx.closePath();\n\t\t// ctx.fill();\n\t\t// ctx.stroke();\n\n\t\t// Draw the graphic\n\t\tlet graphicSize = 64;\n\t\tlet graphicBoundingSize = 56;\n\t\tlet drawSize = (graphicSize / graphicBoundingSize) * this.radius * 2;\n\t\tutils.drawImage(ctx, assets.asteroidUrl('asteroid-small-1'), 0, 0, drawSize, drawSize);\n\t}\n}\n\nAsteroid.addSyncKeys(\n\t{ key: 'isLarge', type: 'boolean', update: false },\n\t{\n\t\tkey: 'rotVel',\n\t\ttype: 'float',\n\t\tupdate: false,\n\t\tquantize: {\n\t\t\tmin: -config.maxAsteroidRotateSpeed,\n\t\t\tmax: config.maxAsteroidRotateSpeed,\n\t\t\tbits: 7\n\t\t}\n\t},\n\t{ key: 'health', type: 'float', update: true, quantize: config.quantize01 }\n);\n\nmodule.exports = Asteroid;\n","const Entity = require('./Entity');\nconst config = require('../config/config');\nconst utils = require('../utils');\nconst assets = require('../client/assets');\nconst bullets = require('../config/bullets');\n\nclass Bullet extends Entity {\n\tget bulletPrefab() {\n\t\treturn bullets.bullets[this.bulletIndex];\n\t}\n\n\t// Properties\n\tget bulletCheckCircle() {\n\t\treturn this.bulletPrefab.checkCircle || false;\n\t}\n\tget bulletRadius() {\n\t\treturn this.bulletPrefab.radius || 4;\n\t}\n\tget bulletSpeed() {\n\t\treturn this.bulletPrefab.bulletSpeed || 0;\n\t}\n\tget bulletDrag() {\n\t\treturn this.bulletPrefab.bulletDrag || 0;\n\t}\n\tget bulletAcceleration() {\n\t\treturn this.bulletPrefab.bulletAcceleration || 0;\n\t}\n\tget bulletAccelerationDelay() {\n\t\treturn this.bulletPrefab.bulletAccelerationDelay || 0;\n\t}\n\tget damage() {\n\t\treturn (\n\t\t\t(this.bulletPrefab.damage || 0) *\n\t\t\tthis.getPerkMultiplier(this.bulletPrefab.normalizedId + 'Damage')\n\t\t);\n\t}\n\tget life() {\n\t\treturn (\n\t\t\t(this.bulletPrefab.life || 0.8) * this.getPerkMultiplier(this.bulletPrefab.normalizedId + 'Life')\n\t\t);\n\t}\n\n\t// Explosion\n\tget explosionRadius() {\n\t\treturn (this.bulletPrefab.explosionRadius || 0) * this.getPerkMultiplier('explosionRadius');\n\t}\n\tget explosionSpeed() {\n\t\treturn this.bulletPrefab.explosionSpeed || 80;\n\t}\n\tget explosionDamage() {\n\t\treturn this.bulletPrefab.explosionDamage || 0;\n\t}\n\tget explosionVelocity() {\n\t\treturn this.bulletPrefab.explosionVelocity || 0;\n\t}\n\n\t// Rendering\n\tget renderType() {\n\t\treturn this.bulletPrefab.renderType || 'trail';\n\t}\n\tget trailLength() {\n\t\treturn this.bulletPrefab.trailLength || 20;\n\t}\n\tget blinkInterval() {\n\t\treturn this.bulletPrefab.blinkInterval || -1;\n\t}\n\tget pulseInterval() {\n\t\treturn this.bulletPrefab.pulseInterval || -1;\n\t}\n\tget renderIcon() {\n\t\treturn this.bulletPrefab.renderIcon || null;\n\t}\n\tget renderColor() {\n\t\treturn this.bulletPrefab.renderColor || 'white';\n\t}\n\n\t// Sound\n\tget shootSound() {\n\t\treturn this.bulletPrefab.id || 'machine-gun';\n\t}\n\tget shootVolume() {\n\t\treturn this.bulletPrefab.volume || 1.0;\n\t}\n\n\t// Client\n\tget shooterEntityId() {\n\t\treturn this.shooterEntity ? this.shooterEntity.id : this._shooterEntityId;\n\t}\n\tset shooterEntityId(id) {\n\t\tthis._shooterEntityId = id;\n\t}\n\tget shooterClientId() {\n\t\treturn this.shooterClient ? this.shooterClient.id : this._shooterClientId;\n\t}\n\tset shooterClientId(id) {\n\t\tthis._shooterClientId = id;\n\t}\n\n\tgetPerkMultiplier(key) {\n\t\tif (this.shooterEntityId) {\n\t\t\tlet shooter = this.game.entityForId(this.shooterEntityId);\n\t\t\treturn shooter && shooter.isPlayer ? shooter.getPerkMultiplier(key) : 1;\n\t\t} else {\n\t\t\treturn 1;\n\t\t}\n\t}\n\n\tconstructor(game, bulletId = 'machine-gun') {\n\t\tsuper(game);\n\t\tthis.isBullet = true;\n\t\tthis.checkCircle = false;\n\t\tthis.checkTrail = true;\n\n\t\t// Get the bullet index\n\t\tthis.bulletIndex = -1;\n\t\tfor (let i = 0; i < bullets.bullets.length; i++) {\n\t\t\tif (bullets.bullets[i].id === bulletId) {\n\t\t\t\tthis.bulletIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// The index of the bullet that was spawned; e.g. in a shotgun, the three bullets would be 0, 1, and 2\n\t\tthis.bulletSpawnIndex = -1;\n\n\t\t// Configure entity\n\t\tthis.sendUpdates = false;\n\t\tthis.jumpsWalls = false;\n\t\tthis.ignoreGravity = false;\n\n\t\t// Configure bullet\n\t\tthis.angleOffset = 0;\n\n\t\t// Render properties\n\t\tthis.renderLife = 0;\n\n\t\t// Shooter of the bullet\n\t\tthis.shooterEntity = null;\n\t\tthis.shooterClient = null;\n\t\tthis.shooterBot = null;\n\t}\n\n\t/**\n\t * @param {Player} entity\n\t * @param {number} timeOffset\n\t * @param {boolean} fromBack\n\t */\n\tfireFrom(entity, timeOffset = 0, fromBack = false) {\n\t\ttimeOffset = Math.max(timeOffset, 0);\n\n\t\tlet aimDir;\n\t\tif (entity.isPlayer) {\n\t\t\t// Set shooter\n\t\t\tthis.shooterEntity = entity;\n\t\t\tthis.shooterClient = entity.clientHandle;\n\t\t\tthis.shooterBot = entity.botHandle;\n\n\t\t\t// Set rotation\n\t\t\taimDir = entity.rot;\n\t\t} else if (entity.isTurret) {\n\t\t\t// Jump walls\n\t\t\tthis.jumpsWalls = true;\n\n\t\t\t// Set shooter\n\t\t\tthis.shooterEntity = entity;\n\t\t\tthis.shooterClient = entity.clientOwner;\n\n\t\t\t// Set rotation\n\t\t\taimDir = entity.aimDir;\n\t\t}\n\t\tthis.rot = aimDir + this.angleOffset;\n\n\t\t// Set position\n\t\tthis.x = entity.x + Math.cos(aimDir) * entity.radius * (fromBack ? -1 : 1);\n\t\tthis.y = entity.y - Math.sin(aimDir) * entity.radius * (fromBack ? -1 : 1);\n\n\t\t// Set velocity\n\t\tthis.velX = Math.cos(this.rot) * this.bulletSpeed;\n\t\tthis.velY = -Math.sin(this.rot) * this.bulletSpeed;\n\n\t\t// Offset velocity by time offset\n\t\tthis.x += this.velX * timeOffset;\n\t\tthis.y += this.velY * timeOffset;\n\t}\n\n\tupdate(dt) {\n\t\t// Update rotation\n\t\tthis.rot = Math.atan2(-this.velY, this.velX);\n\t\tthis.rotServer = this.rot; // Override the server rotation so there's no lerping issues\n\n\t\t// Update delay\n\t\tthis.bulletAccelerationTimer = Math.max(this.bulletAccelerationTimer - dt, 0);\n\n\t\t// Accelerate in the appropriate direction\n\t\tif (this.bulletAccelerationTimer <= 0 && this.bulletAcceleration > 0) {\n\t\t\t// Update velocity\n\t\t\tthis.addVelocity(\n\t\t\t\tMath.cos(this.rot) * this.bulletAcceleration * dt,\n\t\t\t\t-Math.sin(this.rot) * this.bulletAcceleration * dt\n\t\t\t);\n\n\t\t\t// Update thrust sound\n\t\t\tif (config.isClient) {\n\t\t\t\tassets.soundVol(this.thrustSoundId, 0.2, this.x, -this.y);\n\t\t\t}\n\t\t}\n\n\t\t// Apply drag\n\t\tthis.addVelocity(-this.velX * this.bulletDrag * dt, -this.velY * this.bulletDrag * dt);\n\n\t\tsuper.update(dt);\n\n\t\t// Remove from world if dead\n\t\tthis.lifeRemaining -= dt;\n\t\tif (this.lifeRemaining <= 0) {\n\t\t\tthis.destroy();\n\t\t}\n\t}\n\n\tonInit() {\n\t\t// Set ignore gravity\n\t\tif (config.isServer && this.shooterEntity.isTurret && this.shooterEntity.structure.planetItem) {\n\t\t\tthis.ignoreGravity = true;\n\t\t}\n\n\t\t// Configure bullet\n\t\tthis.checkCircle = this.bulletCheckCircle;\n\t\tthis.radius = this.bulletRadius;\n\t\tthis.lifeRemaining = this.life;\n\t\tthis.bulletAccelerationTimer = this.bulletAccelerationDelay;\n\n\t\t// Add thrust sound\n\t\tif (config.isClient && this.bulletAcceleration > 0) {\n\t\t\tthis.thrustSoundId = assets.playSound('thrust-sprint', 0, 0, 0, true);\n\t\t}\n\t}\n\n\tonInsert() {\n\t\tif (config.isClient && this.bulletSpawnIndex === 0) {\n\t\t\tassets.playSound(this.shootSound, this.shootVolume, this.x, -this.y);\n\t\t}\n\t}\n\n\tonRemove() {\n\t\tif (this.thrustSoundId) {\n\t\t\tassets.soundStop(this.thrustSoundId);\n\t\t}\n\t}\n\n\tdestroyBullet() {\n\t\t// Destroy self\n\t\tthis.destroyedData = [true]; // Set destroyed from collision\n\t\tthis.destroy();\n\n\t\t// Show explosion\n\t\tif (config.isClient) {\n\t\t\tif (this.explosionRadius) {\n\t\t\t\t// Show larger explosion\n\t\t\t\tthis.game.explosionManager.spawnExplosion(\n\t\t\t\t\tutils.lerp(this.x, this.prevX, 0.5),\n\t\t\t\t\t-utils.lerp(this.y, this.prevY, 0.5),\n\t\t\t\t\tthis.explosionRadius,\n\t\t\t\t\tthis.explosionSpeed\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Show basic explosion\n\t\t\t\tthis.game.explosionManager.spawnExplosion(\n\t\t\t\t\tutils.lerp(this.x, this.prevX, 0.5),\n\t\t\t\t\t-utils.lerp(this.y, this.prevY, 0.5),\n\t\t\t\t\t15\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Damage entities\n\t\tif (config.isServer && this.explosionRadius) {\n\t\t\tthis.game.spawnExplosion(\n\t\t\t\tthis.x,\n\t\t\t\tthis.y,\n\t\t\t\tthis.explosionRadius,\n\t\t\t\tthis,\n\t\t\t\tthis.explosionDamage,\n\t\t\t\tthis.explosionVelocity,\n\t\t\t\te => {\n\t\t\t\t\tif (e === this) return false; // Don't damage if this\n\t\t\t\t\tif (this.bulletPrefab.id === 'nuke' && e.isPlanet) {\n\t\t\t\t\t\t// Remove resources from planet\n\t\t\t\t\t\tfor (let i = 0; i < e.resources.length; i++) {\n\t\t\t\t\t\t\te.resources[i] = Math.max(e.resources[i] - 6000, 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tlet clientOwner = utils.clientOwner(e); // Get the owner of the entity\n\t\t\t\t\tif (clientOwner && this.shooterClient && this.shooterClient.isFriendly(clientOwner.id))\n\t\t\t\t\t\treturn false; // Don't damage friendlies\n\t\t\t\t\tif (this.shooterEntity && this.shooterEntity.isTurret && e.isStructure) return; // Don't damage structures from turrets\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tonDestroy() {\n\t\t// Check if collided\n\t\tlet [collided] = this.destroyedData || [];\n\n\t\t// Do destroy effect on client\n\t\tif (config.isClient && collided) {\n\t\t\tthis.destroyBullet();\n\t\t}\n\t}\n\n\trender(ctx, dt) {\n\t\t// Increase render life\n\t\tthis.renderLife += dt;\n\n\t\t// Update line width\n\t\tctx.lineWidth = this.radius * 2;\n\t\tctx.lineCap = 'round';\n\n\t\t// Blink the entity\n\t\tif (this.blinkInterval !== -1) {\n\t\t\tctx.globalAlpha = (this.renderLife / this.blinkInterval) % 1 > 0.5 ? 1 : 0.75;\n\t\t}\n\n\t\t// Pulse the entity\n\t\tif (this.pulseInterval !== -1) {\n\t\t\tlet t = Math.cos((this.renderLife * Math.PI * 2) / this.pulseInterval);\n\t\t\tlet scale = 1 + t * 0.1;\n\t\t\tctx.scale(scale, scale);\n\t\t}\n\n\t\tif (\n\t\t\tthis.renderType === 'trail' ||\n\t\t\t(this.renderType === 'triangle' && this.bulletAccelerationTimer <= 0)\n\t\t) {\n\t\t\t// Draw trail\n\t\t\tlet imageTrailLength = this.renderType === 'trail' ? this.trailLength * 6 : 30;\n\t\t\tlet imageTrailWidth = ctx.lineWidth;\n\t\t\tctx.save();\n\t\t\tctx.globalAlpha = 0.5;\n\t\t\tctx.globalCompositeOperation = 'screen';\n\t\t\tutils.drawImage(\n\t\t\t\tctx,\n\t\t\t\tassets.effectUrl('gradient-trail'),\n\t\t\t\t-imageTrailLength / 2,\n\t\t\t\t0,\n\t\t\t\timageTrailLength,\n\t\t\t\timageTrailWidth\n\t\t\t);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Render entity\n\t\tctx.fillStyle = this.renderColor;\n\t\tswitch (this.renderType) {\n\t\t\tcase 'trail':\n\t\t\t\t// Draw line\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(0, 0);\n\t\t\t\tctx.lineTo(-this.trailLength, 0);\n\t\t\t\tctx.stroke();\n\n\t\t\t\tbreak;\n\t\t\tcase 'circle':\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(0, 0, this.radius, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\t\t\t\tbreak;\n\t\t\tcase 'triangle':\n\t\t\t\t// Draw the arrow\n\t\t\t\tlet angleSpread = Math.PI * 0.3;\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(this.radius, 0);\n\t\t\t\tctx.lineTo(\n\t\t\t\t\tMath.cos(Math.PI + angleSpread) * this.radius,\n\t\t\t\t\tMath.sin(Math.PI + angleSpread) * this.radius\n\t\t\t\t);\n\t\t\t\tctx.lineTo(\n\t\t\t\t\tMath.cos(Math.PI - angleSpread) * this.radius,\n\t\t\t\t\tMath.sin(Math.PI - angleSpread) * this.radius\n\t\t\t\t);\n\t\t\t\tctx.fill();\n\n\t\t\t\t// Draw thrust\n\t\t\t\tif (this.bulletAccelerationTimer <= 0) {\n\t\t\t\t\tlet depth = Math.cos(Math.PI + angleSpread) - 0.15;\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.moveTo(-(1.0 + Math.random() * 0.8) * this.radius, 0);\n\t\t\t\t\tctx.lineTo(depth * this.radius, 0.4 * this.radius);\n\t\t\t\t\tctx.lineTo(depth * this.radius, -0.4 * this.radius);\n\t\t\t\t\tctx.fill();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.error(`Unknown error type ${this.renderType}.`);\n\t\t}\n\n\t\t// Render icon\n\t\tif (this.renderIcon) {\n\t\t\tutils.drawImage(\n\t\t\t\tctx,\n\t\t\t\tassets.iconUrl(this.renderIcon),\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.bulletRadius * 1.5,\n\t\t\t\tthis.bulletRadius * 1.5\n\t\t\t);\n\t\t}\n\t}\n}\n\nBullet.addSyncKeys(\n\t{ key: 'shooterEntityId', type: 'int', update: false },\n\t{ key: 'shooterClientId', type: 'int', update: false },\n\t{ key: 'bulletIndex', type: 'int', update: false },\n\t{ key: 'bulletSpawnIndex', type: 'int', update: false },\n\t{ key: 'jumpsWalls', type: 'bool', update: false },\n\t{ key: 'ignoreGravity', type: 'bool', update: false }\n);\n\nmodule.exports = Bullet;\n","const utils = require('../utils');\nconst config = require('../config/config');\n\nclass Entity {\n\tconstructor(game) {\n\t\tthis.isEntity = true;\n\n\t\t// Save the game\n\t\t/** @type {Game} */ this.game = game;\n\n\t\t// Create ID\n\t\tif (config.isServer) {\n\t\t\tthis.id = game.entityIdCounter++;\n\t\t} else {\n\t\t\tthis.id = -1;\n\t\t}\n\n\t\t// Create state\n\t\tthis.x = 0;\n\t\tthis.y = 0; // Y position is rendered as up, even though a positive Y is negative in the 2D canvas\n\t\tthis.velX = 0;\n\t\tthis.velY = 0; // See note about coordinates for `this.y`\n\t\tthis.rot = 0;\n\t\tthis.radius = 0;\n\n\t\t// Create server state\n\t\tif (config.isClient) {\n\t\t\tthis.xServer = 0;\n\t\t\tthis.yServer = 0;\n\t\t\tthis.velXServer = 0;\n\t\t\tthis.velYServer = 0;\n\t\t\tthis.rotServer = 0;\n\t\t}\n\n\t\t// Create the old values; used for knowing wether or not to update the bounds in the quad tree; these will be\n\t\t// updated in `_updateBound`\n\t\tthis.oldX = null;\n\t\tthis.oldY = null;\n\t\tthis.oldRadius = null;\n\n\t\t// Previous values; this is ued if `checkTrail` is true; this is set at the beginning of the frame before the\n\t\t// x and y positions are updated, so any code *after* the updates will be correct; this is set in\n\t\t// `Game.insertEntity` since the position will be set after the entity is created.\n\t\tthis.prevX = null;\n\t\tthis.prevY = null;\n\n\t\t// Physics properties\n\t\tthis.checkCollisions = false;\n\t\tthis.checkCircle = true; // If collisions with the main body should be checked\n\t\tthis.checkTrail = false; // If collisions with the entity's trail should be checked\n\n\t\t// Send updates\n\t\tthis.sendUpdates = true;\n\n\t\t// Set destroyed\n\t\tthis.destroyed = false;\n\t\tthis.destroyedData = null;\n\n\t\t// Rendering\n\t\tthis.renderLayers = [0];\n\n\t\t// Update the bounds\n\t\tthis.bound = {};\n\t}\n\n\tget _dirtyBound() {\n\t\treturn (\n\t\t\tthis.radius !== this.oldRadius ||\n\t\t\tthis.x !== this.oldX ||\n\t\t\tthis.y !== this.oldY ||\n\t\t\t(this.checkTrail && (this.prevX !== this.x || this.prevY !== this.y))\n\t\t);\n\t}\n\n\t_updateBound(force = false) {\n\t\t// Don't handle dirty bounds\n\t\tif (!force && !this._dirtyBound) return;\n\n\t\tif (this.checkCircle) {\n\t\t\t// Bound around the circle\n\t\t\tthis.bound.minx = this.x - this.radius;\n\t\t\tthis.bound.maxx = this.x + this.radius;\n\t\t\tthis.bound.miny = this.y - this.radius;\n\t\t\tthis.bound.maxy = this.y + this.radius;\n\t\t} else {\n\t\t\t// Just a single point\n\t\t\tthis.bound.minx = this.x;\n\t\t\tthis.bound.maxx = this.x;\n\t\t\tthis.bound.miny = this.y;\n\t\t\tthis.bound.maxy = this.y;\n\t\t}\n\n\t\t// Add bounds around trail\n\t\tif (this.checkTrail) {\n\t\t\tthis.bound.minx = Math.min(this.bound.minx, this.prevX);\n\t\t\tthis.bound.maxx = Math.max(this.bound.maxx, this.prevX);\n\t\t\tthis.bound.miny = Math.min(this.bound.miny, this.prevY);\n\t\t\tthis.bound.maxy = Math.max(this.bound.maxy, this.prevY);\n\t\t}\n\n\t\t// Update old values\n\t\tthis.oldRadius = this.radius;\n\t\tthis.oldX = this.x;\n\t\tthis.oldY = this.y;\n\t}\n\n\tupdate(dt) {\n\t\t// Update previous\n\t\tthis.prevX = this.x;\n\t\tthis.prevY = this.y;\n\n\t\t// Update position\n\t\tthis.x += this.velX * dt;\n\t\tthis.y += this.velY * dt;\n\t\tthis.xServer += this.velXServer * dt;\n\t\tthis.yServer += this.velYServer * dt;\n\n\t\t// Lerp to the server values\n\t\tif (config.isClient) {\n\t\t\tlet enableLerping = true;\n\t\t\tif (enableLerping) {\n\t\t\t\tlet correctionLerpSpeed = Entity.correctionLerpSpeed * dt;\n\t\t\t\tthis.x = utils.lerp(this.x, this.xServer, correctionLerpSpeed);\n\t\t\t\tthis.y = utils.lerp(this.y, this.yServer, correctionLerpSpeed);\n\t\t\t\tthis.velX = utils.lerp(this.velX, this.velXServer, correctionLerpSpeed);\n\t\t\t\tthis.velY = utils.lerp(this.velY, this.velYServer, correctionLerpSpeed);\n\t\t\t\tthis.rot = utils.slerp(this.rot, this.rotServer, correctionLerpSpeed);\n\t\t\t} else {\n\t\t\t\tthis.x = this.xServer;\n\t\t\t\tthis.y = this.yServer;\n\t\t\t\tthis.velX = this.velXServer;\n\t\t\t\tthis.velY = this.velYServer;\n\t\t\t\tthis.rot = this.rotServer;\n\t\t\t}\n\t\t}\n\n\t\t// Keep position within the map\n\t\tlet posAngle = Math.atan2(this.y, this.x);\n\t\tlet posDist = utils.dist(this.x, this.y);\n\t\tlet maxDist = Math.min(posDist, config.mapRadius - this.radius);\n\t\tif (posDist > maxDist) {\n\t\t\t// Cap position to border\n\t\t\tthis.x = this.xServer = Math.cos(posAngle) * maxDist;\n\t\t\tthis.y = this.yServer = Math.sin(posAngle) * maxDist;\n\n\t\t\t// Bounce velocity\n\t\t\tlet velMag = utils.dist(this.velX, this.velY);\n\t\t\tthis.velX = this.velXServer = Math.cos(posAngle + Math.PI) * velMag;\n\t\t\tthis.velY = this.velYServer = Math.sin(posAngle + Math.PI) * velMag;\n\n\t\t\t// Change bullet rotation\n\t\t\tif (this.isBullet && this.bulletRot != null) {\n\t\t\t\tthis.bulletRot = -posAngle + Math.PI;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called immediately before being configured and inserted in to the game.\n\t */\n\tonInit() {}\n\n\t/**\n\t * Called when inserted in to the game.\n\t */\n\tonInsert() {}\n\n\t/**\n\t * Called after removed from the game.\n\t */\n\tonRemove() {}\n\n\t/**\n\t * Destroys the given entity\n\t * @param isDestroyed - Can be set to false to not call `onDestroy`. This is used for when the entity only\n\t * disappears.\n\t */\n\tdestroy(isDestroyed = true) {\n\t\t// Don't do anything if already destroyed\n\t\tif (this.destroyed) return;\n\n\t\t// Flag destroyed\n\t\tthis.destroyed = true;\n\n\t\t// Call event\n\t\tif (isDestroyed) {\n\t\t\tthis.onDestroy();\n\t\t}\n\t}\n\n\t/**\n\t * @param {Entity} entity\n\t */\n\tonCollision(entity) {\n\t\t// Override point\n\t}\n\n\tonDestroy() {}\n\n\tsetVelocity(x, y) {\n\t\tthis.velX = x;\n\t\tthis.velY = y;\n\n\t\tif (config.isClient) {\n\t\t\tthis.velXServer = x;\n\t\t\tthis.velYServer = y;\n\t\t}\n\t}\n\n\taddVelocity(x, y) {\n\t\tthis.velX += x;\n\t\tthis.velY += y;\n\n\t\tif (config.isClient) {\n\t\t\tthis.velXServer += x;\n\t\t\tthis.velYServer += y;\n\t\t}\n\t}\n\n\tsetRotation(rot) {\n\t\tthis.rot = rot;\n\t\tif (config.isClient) {\n\t\t\tthis.rotServer = rot;\n\t\t}\n\t}\n\n\taddRotation(rot) {\n\t\tthis.rot += rot;\n\t\tif (config.isClient) {\n\t\t\tthis.rotServer += rot;\n\t\t}\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {number} dt\n\t * @param {number} layerDepth\n\t */\n\trender(ctx, dt, layerDepth) {\n\t\tthrow new Error('Render is not implemented.');\n\t}\n\n\t/**\n\t * @param {CanvasRenderingContext2D} ctx\n\t */\n\tdebugRender(ctx) {\n\t\tctx.save();\n\n\t\t// Draw border\n\t\tctx.beginPath();\n\t\tctx.arc(0, 0, this.radius, 0, Math.PI * 2);\n\t\tctx.stroke();\n\n\t\t// Draw direction\n\t\tlet tickSize = 10;\n\t\tctx.beginPath();\n\t\tctx.moveTo(this.radius - tickSize / 2, 0);\n\t\tctx.lineTo(this.radius + tickSize / 2, 0);\n\t\tctx.stroke();\n\n\t\t// Draw ID\n\t\tctx.save();\n\t\tctx.font = utils.generateFont(30, 800);\n\t\tctx.rotate(-this.rot);\n\t\tctx.fillText(this.id, 0, 0);\n\t\tctx.restore();\n\n\t\tctx.restore();\n\t}\n\n\tstatic addSyncKeys(...keys) {\n\t\t// Append to key order; we use `concat` since we want to duplicate the array and not manipulate the superclass\n\t\tthis._syncKeys = this._syncKeys.concat(keys);\n\n\t\t// Filter out the init and update keys\n\t\tlet initKeys = [];\n\t\tlet updateKeys = [];\n\t\tfor (let key of keys) {\n\t\t\tif (key.update) {\n\t\t\t\tupdateKeys.push(key);\n\t\t\t} else {\n\t\t\t\tinitKeys.push(key);\n\t\t\t}\n\t\t}\n\t\tthis._syncInitKeys = this._syncInitKeys.concat(initKeys);\n\t\tthis._syncUpdateKeys = this._syncUpdateKeys.concat(updateKeys);\n\n\t\t// Save to a map for faster lookup\n\t\tlet keyMap = {};\n\t\tfor (let key of this._syncKeys) {\n\t\t\tkeyMap[key.key] = key;\n\t\t}\n\t\tthis._syncKeyMap = keyMap;\n\t}\n\n\tserializeInit() {\n\t\t// Set default data\n\t\tlet data = [this.constructor.KIND, this.serialize()];\n\n\t\t// Add custom data\n\t\tfor (let key of this.constructor._syncInitKeys) {\n\t\t\tdata.push(this._readServerValue(key));\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tdeserializeInit(data) {\n\t\t// Parse default data\n\t\tlet [kind, updateData, ...syncInitValues] = data;\n\n\t\t// Assign init values\n\t\tfor (let i = 0; i < this.constructor._syncInitKeys.length; i++) {\n\t\t\tthis._assignServerValue(this.constructor._syncInitKeys[i], syncInitValues[i]);\n\t\t}\n\n\t\t// Deserialize update data\n\t\tthis.deserialize(updateData, true);\n\t}\n\n\tserialize() {\n\t\t// Add custom data\n\t\tlet data = [];\n\t\tfor (let key of this.constructor._syncUpdateKeys) {\n\t\t\tdata.push(this._readServerValue(key));\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tdeserialize(data, isInit = false) {\n\t\t// Assign update values\n\t\tfor (let i = 0; i < this.constructor._syncUpdateKeys.length; i++) {\n\t\t\tthis._assignServerValue(this.constructor._syncUpdateKeys[i], data[i], isInit);\n\t\t}\n\t}\n\n\t_readServerValue(key) {\n\t\t// Get the value\n\t\tlet value = this[key.key];\n\n\t\t// Map the value if needed\n\t\tif (key.sendMap) {\n\t\t\tvalue = key.sendMap(value);\n\t\t}\n\n\t\t// Quantize the value if needed\n\t\tif (key.quantize) {\n\t\t\tvalue = utils.quantize(value, key.quantize.min, key.quantize.max, key.quantize.bits);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t_assignServerValue(key, value, initUpdate = false) {\n\t\t// Quantize the value if needed\n\t\tif (key.quantize) {\n\t\t\tvalue = utils.unquantize(value, key.quantize.min, key.quantize.max, key.quantize.bits);\n\t\t}\n\n\t\t// Map the received value if needed\n\t\tif (key.receiveMap) {\n\t\t\tvalue = key.receiveMap(value);\n\t\t}\n\n\t\t// Assign to the normal key; this will be doen on the init update for server values\n\t\tif (!key.serverKey || initUpdate) this[key.key] = value;\n\n\t\t// Assign the value to a separate key instead of the normal key\n\t\tif (key.serverKey) this[key.key + 'Server'] = value;\n\t}\n}\n\n/** @type {number} */\nEntity.KIND = -1;\n\n/** @type {number} */\nEntity.correctionLerpSpeed = 9;\n\nEntity._syncKeys = [];\nEntity._syncInitKeys = [];\nEntity._syncUpdateKeys = [];\nEntity._syncKeyMap = {};\n\nlet mapRadius = config.mapSize / 2;\nlet maxVelocity = 4000; // Player's boost velocity is 700\nEntity.addSyncKeys(\n\t{ key: 'x', type: 'float', update: true, serverKey: true },\n\t{ key: 'y', type: 'float', update: true, serverKey: true },\n\t{ key: 'velX', type: 'float', update: true, serverKey: true },\n\t{ key: 'velY', type: 'float', update: true, serverKey: true },\n\t{\n\t\tkey: 'rot',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tserverKey: true,\n\t\tsendMap: v => utils.modFix(v, Math.PI * 2)\n\t}, // Map the rotation to 0 to 2 * pi\n\t{ key: 'radius', type: 'float', update: false } // 0.1 min, since 0 radius is invalid\n);\n\nmodule.exports = Entity;\n","const Entity = require('./Entity');\nconst config = require('../config/config');\nconst utils = require('../utils');\nconst assets = require('../client/assets');\nconst planets = require('../config/planets');\nconst settings = require('../client/settings');\n\nclass Planet extends Entity {\n\tget bodyRadius() {\n\t\treturn this.radius - this.atmosphereSize;\n\t}\n\n\tget planetHealth() {\n\t\t// Find the resource health that has the lowest value\n\t\tlet totalResource = 0;\n\t\tlet totalResourcesMax = 0;\n\t\tfor (let i = 0; i < this.resources.length; i++) {\n\t\t\ttotalResource += this.resources[i];\n\t\t\ttotalResourcesMax += this.resourceMax[i];\n\t\t}\n\n\t\treturn totalResource / totalResourcesMax;\n\t}\n\n\tget planetCircumference() {\n\t\treturn 2 * Math.PI * this.bodyRadius;\n\t}\n\n\tconstructor(game) {\n\t\tsuper(game);\n\t\tthis.isPlanet = true;\n\n\t\t// Configure entity\n\t\tthis.radius = 400;\n\t\tthis.checkCollisions = true;\n\t\tthis.renderLayers = [-20, 20];\n\t\tthis.name = 'unknown planet';\n\n\t\t// Configure planets\n\t\tthis.atmosphereSize = 200;\n\t\tthis.resources = [0, 0, 0];\n\t\tthis.resourceMax = [1000, 1000, 1000];\n\t\tthis.resourceGenerationRate = [20, 20, 20];\n\n\t\t// Helper properties\n\t\tthis.cityCount = 0;\n\t\tthis.totalLaborAvailable = 0;\n\t\tthis.totalLaborDemand = 0;\n\t\tthis.totalResourceDemand = [0, 0, 0];\n\t\tthis.dominationCities = {}; // Either `p:` or `a:`\n\t\tthis.dominatingItem = null; // A key of `dominatingCities`\n\t}\n\n\tonInit() {\n\t\tif (config.isServer) {\n\t\t\tthis.resources = this.resourceMax.slice();\n\t\t}\n\t}\n\n\tupdate(dt) {\n\t\t// Keep static\n\t\tthis.setVelocity(0, 0);\n\n\t\tif (config.isServer) {\n\t\t\t// Increase resources\n\t\t\tfor (let i = 0; i < this.resources.length; i++) {\n\t\t\t\tthis.resources[i] = Math.min(\n\t\t\t\t\tthis.resources[i] + this.resourceGenerationRate[i] * dt,\n\t\t\t\t\tthis.resourceMax[i]\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Count cities every couple updates\n\t\t\tif (config.isServer && this.game.updateIndex % 5 === 0) {\n\t\t\t\t// Find all related entities\n\t\t\t\tlet cityCount = 0;\n\t\t\t\tlet totalLaborAvailable = 0;\n\t\t\t\tlet totalLaborDemand = 0;\n\t\t\t\tlet totalResourceDemand = this.totalResourceDemand.map(() => 0);\n\t\t\t\tlet dominationCities = {};\n\t\t\t\tthis.game.queryCircle(this.x, this.y, this.radius, entity => {\n\t\t\t\t\tif (entity.isStructure && entity.isConstructed) {\n\t\t\t\t\t\tif (entity.isCity) {\n\t\t\t\t\t\t\t// Add city\n\t\t\t\t\t\t\tcityCount += 1;\n\t\t\t\t\t\t\ttotalLaborAvailable += entity.citizens;\n\n\t\t\t\t\t\t\t// Tally domination cities\n\t\t\t\t\t\t\tlet clientOwner = entity.clientOwner;\n\t\t\t\t\t\t\tlet key = clientOwner.alliance\n\t\t\t\t\t\t\t\t? `a:${clientOwner.alliance.id}`\n\t\t\t\t\t\t\t\t: `p:${clientOwner.id}`;\n\t\t\t\t\t\t\tif (dominationCities[key]) dominationCities[key]++;\n\t\t\t\t\t\t\telse dominationCities[key] = 1;\n\t\t\t\t\t\t} else if (entity.isWorkingStructure) {\n\t\t\t\t\t\t\t// Add labor demand\n\t\t\t\t\t\t\ttotalLaborDemand += entity.laborDemand;\n\n\t\t\t\t\t\t\t// Add resource demands\n\t\t\t\t\t\t\tif (entity.isMine) {\n\t\t\t\t\t\t\t\ttotalResourceDemand[entity.resourceIndex] += entity.adjustedGenerationRate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// Get the dominating item\n\t\t\t\tlet dominatingItem = Object.keys(dominationCities).sort(\n\t\t\t\t\t(a, b) => dominationCities[b] - dominationCities[a]\n\t\t\t\t)[0];\n\n\t\t\t\t// Set values; we do this after querying, since values like `adjustedGenerationRate` depend on the\n\t\t\t\t// current values\n\t\t\t\tthis.cityCount = cityCount;\n\t\t\t\tthis.totalLaborAvailable = totalLaborAvailable;\n\t\t\t\tthis.totalLaborDemand = totalLaborDemand;\n\t\t\t\tthis.totalResourceDemand = totalResourceDemand;\n\t\t\t\tthis.dominationCities = dominationCities;\n\t\t\t\tthis.dominatingItem = dominatingItem;\n\t\t\t}\n\t\t}\n\n\t\tsuper.update(dt);\n\t}\n\n\tonCollision(entity, dt) {\n\t\t// Pull entity in to gravitational field\n\t\tlet pullMagnitude = config.playerAcceleration * 0.6; // Make sure it's less than the player's acceleration\n\t\tlet pullAngle = Math.atan2(this.y - entity.y, this.x - entity.x);\n\t\tif (!entity.ignoreGravity) {\n\t\t\tentity.addVelocity(\n\t\t\t\tMath.cos(pullAngle) * pullMagnitude * dt,\n\t\t\t\tMath.sin(pullAngle) * pullMagnitude * dt\n\t\t\t);\n\t\t}\n\n\t\t// Prevent drag on player when in gravity field\n\t\tif (entity.isPlayer) {\n\t\t\tentity.useDrag = false;\n\t\t\tentity.overlappingPlanet = this;\n\t\t}\n\n\t\t// Force facing away if player is slightly above the surface\n\t\tif (entity.isPlayer && utils.entitiesCollide(this, entity, true, 25)) {\n\t\t\tentity.overrideTargetRot = -pullAngle + Math.PI;\n\t\t\tentity.isLanded = true;\n\t\t}\n\n\t\t// Handle collision with actual body\n\t\tif (utils.entitiesCollide(this, entity)) {\n\t\t\tif (entity.isBullet) {\n\t\t\t\tentity.destroyBullet();\n\t\t\t} else if (entity.isAsteroid) {\n\t\t\t\tentity.destroy();\n\t\t\t} else if (entity.isPlayer) {\n\t\t\t\t// Place player on surface\n\t\t\t\tutils.placeOnSurface(this, entity);\n\t\t\t}\n\t\t}\n\t}\n\n\trender(ctx, dt, layerDepth) {\n\t\tlet planet = planets.planets[(this.id - 1) % planets.planets.length]; // Subtract 1 from ID so center planet is green\n\n\t\tif (layerDepth === this.renderLayers[0]) {\n\t\t\t// Render base\n\t\t\tctx.save();\n\t\t\tctx.fillStyle = '#38A2EC';\n\t\t\tctx.globalAlpha = 0.1;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(0, 0, this.radius, 0, Math.PI * 2);\n\t\t\tctx.fill();\n\t\t\tctx.restore();\n\n\t\t\tif (settings.fancyPlanets) {\n\t\t\t\t// Create atmosphere gradient\n\t\t\t\tlet stopSpacing = 0.15;\n\t\t\t\tlet glowRadius = this.radius / (1 - stopSpacing); // Scale so the center of the glow is on the edge of the atmosphere\n\t\t\t\tlet atmosphereGradient = ctx.createRadialGradient(0, 0, 0, 0, 0, glowRadius);\n\t\t\t\tatmosphereGradient.addColorStop(0, utils.getAtmosphereColor(0.0));\n\t\t\t\tatmosphereGradient.addColorStop(1 - stopSpacing * 2, utils.getAtmosphereColor(0.01));\n\t\t\t\tatmosphereGradient.addColorStop(1 - stopSpacing, utils.getAtmosphereColor(0.07));\n\t\t\t\tatmosphereGradient.addColorStop(1.0, utils.getAtmosphereColor(0.0));\n\n\t\t\t\t// Render glow\n\t\t\t\tctx.save();\n\t\t\t\tctx.fillStyle = atmosphereGradient;\n\t\t\t\tctx.globalCompositeOperation = 'screen';\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.arc(0, 0, glowRadius, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\t\t\t\tctx.restore();\n\t\t\t}\n\n\t\t\t// Render prop\n\t\t\tif (settings.planetProps) {\n\t\t\t\tlet propCount = Math.floor(this.planetCircumference / 350);\n\t\t\t\tfor (let i = 0; i < propCount; i++) {\n\t\t\t\t\t// Get the prop ID\n\t\t\t\t\tlet propId = planet.props[Math.floor((i / propCount) * planet.props.length)];\n\t\t\t\t\tlet prop = planets.props[propId];\n\n\t\t\t\t\t// Position and size the tree\n\t\t\t\t\tlet propAngle = (utils.getRandomConst(i, 0) + i) * Math.PI * 2; // We add i, since > 128 trees will repeat values\n\t\t\t\t\tlet propSize = prop.sizes[Math.floor(utils.getRandomConst(i, 1) * prop.sizes.length)];\n\t\t\t\t\tlet propOffset = propSize / 2 - (propSize / 4) * utils.getRandomConst(i, 2);\n\t\t\t\t\tlet propX = Math.cos(propAngle) * (this.bodyRadius + propOffset);\n\t\t\t\t\tlet propY = Math.sin(propAngle) * (this.bodyRadius + propOffset);\n\t\t\t\t\tlet propScaleX = Math.sign(utils.getRandomConst(i, 3) - 0.5);\n\n\t\t\t\t\t// Make sure the point is visible\n\t\t\t\t\tif (!this.game.pointVisible(this.x + propX, -this.y + propY, propSize)) continue;\n\n\t\t\t\t\t// Draw the tree\n\t\t\t\t\tctx.save();\n\t\t\t\t\tctx.translate(propX, propY);\n\t\t\t\t\tctx.rotate(propAngle + Math.PI / 2);\n\t\t\t\t\tctx.scale(propScaleX, 1);\n\t\t\t\t\tutils.drawImage(ctx, assets.propUrl(propId), 0, 0, propSize, propSize);\n\t\t\t\t\tctx.restore();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tlet planetCircumference = this.planetCircumference;\n\n\t\t\tif (settings.planetProps) {\n\t\t\t\t// Render clouds\n\t\t\t\t// let cloudCount = Math.floor(planetCircumference / 400) * (1 + (1 - this.planetHealth) * 8);\n\t\t\t\tlet cloudCount = Math.floor(planetCircumference / 400);\n\t\t\t\tlet cloudSize = 128;\n\t\t\t\tfor (let i = 0; i < cloudCount; i++) {\n\t\t\t\t\t// Position and size the tree\n\t\t\t\t\tlet moveSpeed = ((utils.getRandomConst(i, 1) - 0.5) / planetCircumference) * 30;\n\t\t\t\t\tlet moveOffset = moveSpeed * (Date.now() / 1000);\n\t\t\t\t\tlet cloudAngle = ((utils.getRandomConst(i, 0) + i + moveOffset) % 1) * Math.PI * 2;\n\t\t\t\t\tlet cloudIndex = (i % 3) + 1;\n\t\t\t\t\tlet cloudOffset = this.atmosphereSize * (0.5 + utils.getRandomConst(i, 2) * 0.25);\n\t\t\t\t\tlet cloudAlpha = utils.getRandomConst(i, 3) * 0.15 + 0.05;\n\t\t\t\t\tcloudAlpha = utils.lerp(cloudAlpha, 0.6, 1 - this.planetHealth); // Make the cloud darker if the planet is dead\n\t\t\t\t\tlet cloudX = Math.cos(cloudAngle) * (this.bodyRadius + cloudOffset);\n\t\t\t\t\tlet cloudY = Math.sin(cloudAngle) * (this.bodyRadius + cloudOffset);\n\n\t\t\t\t\t// Make sure the point is visible\n\t\t\t\t\tif (!this.game.pointVisible(this.x + cloudX, -this.y + cloudY, 64)) continue;\n\n\t\t\t\t\t// Draw the tree\n\t\t\t\t\tctx.save();\n\t\t\t\t\tctx.translate(cloudX, cloudY);\n\t\t\t\t\tctx.rotate(cloudAngle + Math.PI / 2);\n\t\t\t\t\tctx.globalAlpha = cloudAlpha;\n\t\t\t\t\t// ctx.filter = `brightness(${planetHealth})`;\n\t\t\t\t\t// ctx.filter += \" blur(5px)\"; // For blurry clouds\n\t\t\t\t\tutils.drawImage(ctx, assets.propUrl(`cloud-${cloudIndex}`), 0, 0, cloudSize, cloudSize);\n\t\t\t\t\tctx.restore();\n\t\t\t\t}\n\n\t\t\t\t// Render humans\n\t\t\t\tlet humanCount = Math.floor(this.totalLaborAvailable / 20);\n\t\t\t\tlet humanSize = 48;\n\t\t\t\tfor (let i = 0; i < humanCount; i++) {\n\t\t\t\t\t// Position and size the tree\n\t\t\t\t\tlet isVehicle = i % 4 === 0;\n\t\t\t\t\tlet moveDir = Math.sign(utils.getRandomConst(i, 0) - 0.5);\n\t\t\t\t\tlet moveSpeed = moveDir * (0.5 + utils.getRandomConst(i, 1) * 0.5);\n\t\t\t\t\tif (isVehicle) moveSpeed *= 2;\n\t\t\t\t\tlet moveSpeedAngular = (moveSpeed / planetCircumference) * 50;\n\t\t\t\t\tlet moveOffset = moveSpeedAngular * (Date.now() / 1000);\n\t\t\t\t\tlet humanAngle = ((utils.getRandomConst(i, 2) + i + moveOffset) % 1) * Math.PI * 2;\n\t\t\t\t\tlet bobbleMultiplier = isVehicle ? 2 : 10;\n\t\t\t\t\tlet humanBobble = Math.sin((Date.now() / 1000) * moveSpeed * bobbleMultiplier); // Faster the move speed, faster they move up and down\n\t\t\t\t\tlet humanOffset = humanSize * (0.6 + humanBobble * 0.08);\n\t\t\t\t\tlet humanX = Math.cos(humanAngle) * (this.bodyRadius + humanOffset);\n\t\t\t\t\tlet humanY = Math.sin(humanAngle) * (this.bodyRadius + humanOffset);\n\t\t\t\t\tlet humanIndex = Math.floor(utils.getRandomConst(i, 2) * 3) + 1;\n\n\t\t\t\t\t// Make sure the point is visible\n\t\t\t\t\tif (!this.game.pointVisible(this.x + humanX, -this.y + humanY, 64)) continue;\n\n\t\t\t\t\t// Draw the tree\n\t\t\t\t\tctx.save();\n\t\t\t\t\tctx.translate(humanX, humanY);\n\t\t\t\t\tctx.rotate(humanAngle + Math.PI / 2);\n\t\t\t\t\tctx.scale(moveDir, 1);\n\t\t\t\t\tutils.drawImage(\n\t\t\t\t\t\tctx,\n\t\t\t\t\t\tassets.propUrl(isVehicle ? 'vehicle-1' : `human-${humanIndex}`),\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\thumanSize,\n\t\t\t\t\t\thumanSize\n\t\t\t\t\t);\n\t\t\t\t\tctx.restore();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.fancyPlanets) {\n\t\t\t\t// Create body gradient\n\t\t\t\tlet bodyGradient = ctx.createRadialGradient(0, 0, 0, 0, 0, this.bodyRadius);\n\t\t\t\tbodyGradient.addColorStop(0.0, planet.innerColor);\n\t\t\t\tbodyGradient.addColorStop(1.0, planet.outerColor);\n\n\t\t\t\t// Render body\n\t\t\t\tctx.save();\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.fillStyle = bodyGradient;\n\t\t\t\tctx.arc(0, 0, this.bodyRadius, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\t\t\t\tctx.restore();\n\t\t\t} else {\n\t\t\t\t// Render body\n\t\t\t\tctx.save();\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.fillStyle = planet.innerColor;\n\t\t\t\tctx.arc(0, 0, this.bodyRadius, 0, Math.PI * 2);\n\t\t\t\tctx.fill();\n\t\t\t\tctx.restore();\n\t\t\t}\n\t\t}\n\t}\n}\n\nPlanet.addSyncKeys(\n\t{ key: 'name', type: 'string', update: false },\n\t{\n\t\tkey: 'atmosphereSize',\n\t\ttype: 'float',\n\t\tupdate: false,\n\t\tquantize: { min: 0, max: config.centerPlanetAtmosphereSize, bits: 7 }\n\t},\n\t{\n\t\tkey: 'resources',\n\t\ttype: 'int[]',\n\t\tupdate: true,\n\t\tsendMap: v => v.map(r => Math.floor(r))\n\t},\n\t{\n\t\tkey: 'resourceMax',\n\t\ttype: 'int[]',\n\t\tupdate: false,\n\t\tsendMap: v => v.map(r => Math.floor(r))\n\t},\n\t{\n\t\tkey: 'resourceGenerationRate',\n\t\ttype: 'float[]',\n\t\tupdate: false,\n\t\tsendMap: v => utils.quantizeSimpleArray(v, 1),\n\t\treceiveMap: v => utils.unquantizeSimpleArray(v, 1)\n\t},\n\t{\n\t\tkey: 'totalLaborAvailable',\n\t\ttype: 'int',\n\t\tupdate: true,\n\t\tsendMap: v => Math.floor(v)\n\t}, // Round down\n\t{\n\t\tkey: 'totalLaborDemand',\n\t\ttype: 'int',\n\t\tupdate: true,\n\t\tsendMap: v => Math.floor(v)\n\t}, // Round down\n\t{\n\t\tkey: 'totalResourceDemand',\n\t\ttype: 'float[]',\n\t\tupdate: true,\n\t\tsendMap: v => utils.quantizeSimpleArray(v, 1),\n\t\treceiveMap: v => utils.unquantizeSimpleArray(v, 1)\n\t}\n);\n\nmodule.exports = Planet;\n","const Entity = require('./Entity');\nconst Bullet = require('./Bullet');\nconst config = require('../config/config');\nconst weapons = require('../config/weapons');\nconst utils = require('../utils');\nconst assets = require('../client/assets');\nconst upgrades = require('../config/upgrades');\n\nclass Player extends Entity {\n\tget killer() {\n\t\tif (this.killerId) {\n\t\t\treturn this.game.entityForId(this.killerId);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget weapon() {\n\t\treturn weapons.weapons[this.weaponIndex];\n\t}\n\n\tget ship() {\n\t\treturn config.ships[this.shipIndex];\n\t}\n\n\tget thrustAngle() {\n\t\tif (this.relativeMoveDir) {\n\t\t\treturn this.moveDir - this.rot - Math.PI / 2;\n\t\t} else {\n\t\t\treturn this.moveDir;\n\t\t}\n\t}\n\n\tget clientId() {\n\t\treturn this.clientHandle ? this.clientHandle.id : this._clientId;\n\t}\n\tset clientId(id) {\n\t\tthis._clientId = id;\n\t}\n\n\tget maxSprint() {\n\t\treturn config.sprintTime * this.getPerkMultiplier('boostAmount');\n\t}\n\tget fireInterval() {\n\t\tlet weapon = this.weapon;\n\t\treturn weapon.fireInterval * this.getPerkMultiplier(weapon.normalizedId + 'Interval');\n\t}\n\n\tget maxAmmo() {\n\t\treturn this.getMaxAmmo(this.weaponIndex);\n\t}\n\tgetMaxAmmo(weaponIndex) {\n\t\tlet weapon = weapons.weapons[weaponIndex];\n\t\treturn Math.floor(weapon.maxAmmo * this.getPerkMultiplier(weapon.normalizedId + 'Ammo'));\n\t}\n\n\tconstructor(game) {\n\t\tsuper(game);\n\t\tthis.isPlayer = true;\n\t\tthis.checkTrail = true;\n\t\tthis.renderLayers = [5];\n\n\t\t// Handlers\n\t\tthis.clientHandle = null;\n\t\tthis.botHandle = null;\n\n\t\t// Configure entity\n\t\tthis.radius = 20;\n\t\tthis.checkCollisions = true;\n\n\t\t// Override behavior\n\t\tthis.overrideTargetRot = null;\n\t\tthis.useDrag = true; // This property can be overridden (e.g. by planet gravity) to prevent drag in the next frame\n\t\tthis.useMaxVel = true; // \"\"\n\t\t/** @type {boolean} */ this.isLanded = false;\n\n\t\t// Collisions\n\t\t/** @type {?Planet} */ this.overlappingPlanet = null; // This isn't synchronized but can be derived from client\n\t\t/** @type {?Structure} */ this.visitingStructure = null; // This isn't synchronized but can be derived from client\n\n\t\t// Username and alliance\n\t\tthis.username = 'unknown';\n\t\tthis.shipIndex = Math.floor(Math.random() * config.ships.length);\n\t\tthis.shipFill = 'white';\n\t\tthis.allianceId = null;\n\n\t\t// Perks\n\t\tthis.perks = [];\n\n\t\t// Health\n\t\tthis.health = 1.0;\n\t\tthis.lastDamageTime = Date.now(); // Set to now, so new players don't think they're healing on client\n\t\tthis.healWaitTime = 5;\n\t\tthis.healPerSecond = 0.075; // hp/s\n\n\t\t// Input data\n\t\tthis.moveDir = 0;\n\t\tthis.moveSpeed = 0;\n\t\tthis.relativeMoveDir = false;\n\t\tthis.targetRot = 0;\n\t\tthis.firing = false;\n\t\tthis.sprinting = false;\n\n\t\t// Weapons\n\t\tthis.prevWeaponIndex = -1;\n\t\tthis.weaponIndex = 0;\n\t\tthis.fireTimer = 0;\n\n\t\t// Shield\n\t\tthis.shieldTimer = 5.0;\n\n\t\t// Sprint\n\t\tthis.sprint = this.maxSprint;\n\t\tthis.lastSprintTime = Date.now();\n\t\tthis.sprintRegenWait = 2;\n\n\t\t// Rendering\n\t\tthis.renderLife = 0;\n\n\t\t// The player that killed this player\n\t\tthis.killerId = null;\n\n\t\t// Thrust sounds\n\t\tif (config.isClient) {\n\t\t\tthis.thrustVolume = 0;\n\t\t\tthis.thrustSprintVolume = 0;\n\t\t\tthis.thrustSoundId = assets.playSound('thrust', 0, 0, 0, true);\n\t\t\tthis.thrustSprintSoundId = assets.playSound('thrust-sprint', 0, 0, 0, true);\n\t\t}\n\t}\n\n\tonInit() {\n\t\tif (config.isServer) this.isBot = this.botHandle != null;\n\t}\n\n\tbeforeUpdate() {\n\t\t// TODO: Move this back; but it doesn't work since it's `isLanded` is send on collision, which is after the update\n\t\t// // Clear the planet\n\t\t// this.isLanded = false;\n\t\t// this.overlappingPlanet = null;\n\t\t// this.visitingStructure = null;\n\t}\n\n\tupdate(dt) {\n\t\t// Cap inputs\n\t\tthis.moveDir = utils.modFix(this.moveDir, Math.PI * 2);\n\t\tthis.moveSpeed = utils.clamp(this.moveSpeed, 0, 1);\n\n\t\t// Update shield\n\t\tthis.shieldTimer = Math.max(this.shieldTimer - dt, 0);\n\n\t\t// Update sprint\n\t\tif (this.sprinting && this.moveSpeed > 0.1) {\n\t\t\t// Remove sprint\n\t\t\tthis.sprint = Math.max(this.sprint - dt, 0);\n\t\t\tthis.lastSprintTime = Date.now();\n\t\t} else if (this.isLanded || (Date.now() - this.lastSprintTime) / 1000 >= this.sprintRegenWait) {\n\t\t\t// Regen sprint if on planet or waited long enough since sprint\n\t\t\tthis.sprint = Math.min(this.sprint + dt, this.maxSprint);\n\t\t}\n\t\tlet isSprinting = this.sprinting && this.sprint > 0;\n\n\t\t// Heal if on planet or been long enouch since last damage\n\t\tif (\n\t\t\tconfig.isServer &&\n\t\t\t(this.isLanded || (Date.now() - this.lastDamageTime) / 1000 >= this.healWaitTime)\n\t\t) {\n\t\t\tthis.health = Math.min(this.health + this.healPerSecond * dt, 1);\n\t\t}\n\n\t\t// Turn towards target\n\t\tlet targetRot = this.targetRot;\n\t\tif (this.overrideTargetRot != null) {\n\t\t\ttargetRot = this.overrideTargetRot;\n\t\t\tthis.overrideTargetRot = null; // Clear for next update\n\t\t}\n\t\tthis.setRotation(targetRot);\n\n\t\t// Apply movement\n\t\tlet thrustAngle = this.thrustAngle;\n\t\tlet thrustMultiplier =\n\t\t\tthis.moveSpeed *\n\t\t\t(isSprinting\n\t\t\t\t? config.playerSprintingAcceleration * this.getPerkMultiplier('boostSpeed')\n\t\t\t\t: config.playerAcceleration * this.getPerkMultiplier('moveSpeed')) *\n\t\t\tdt;\n\t\t// if (this.isBot && !this.overlappingPlanet) thrustMultiplier *= 0.6;\n\t\tthis.addVelocity(Math.cos(thrustAngle) * thrustMultiplier, Math.sin(thrustAngle) * thrustMultiplier);\n\n\t\tif (this.useDrag) {\n\t\t\t// Apply drag\n\t\t\tif (this.moveSpeed < 0.1) {\n\t\t\t\tthis.addVelocity(-this.velX * config.playerDrag * dt, -this.velY * config.playerDrag * dt);\n\t\t\t}\n\t\t} else {\n\t\t\t// Set to true for next frame\n\t\t\tthis.useDrag = true;\n\t\t}\n\n\t\tif (this.useMaxVel) {\n\t\t\t// Apply max velocity\n\t\t\tlet velAngle = Math.atan2(this.velY, this.velX);\n\t\t\tlet velMagnitude = utils.dist(this.velX, this.velY);\n\t\t\tlet maxSpeed = isSprinting\n\t\t\t\t? config.playerMaxSprintVelocity * this.getPerkMultiplier('boostSpeed')\n\t\t\t\t: config.playerMaxVelocity * this.getPerkMultiplier('moveSpeed');\n\t\t\tif (this.overlappingPlanet) maxSpeed *= 2.5;\n\t\t\tif (velMagnitude > maxSpeed) {\n\t\t\t\tvelMagnitude = utils.lerp(velMagnitude, maxSpeed, 3 * dt);\n\t\t\t}\n\t\t\tthis.setVelocity(Math.cos(velAngle) * velMagnitude, Math.sin(velAngle) * velMagnitude);\n\t\t} else {\n\t\t\t// Set true for next fra,e\n\t\t\tthis.useMaxVel = true;\n\t\t}\n\n\t\t// Update sound\n\t\tif (config.isClient) {\n\t\t\tlet lerpSpeed = 4;\n\t\t\tlet maxVolume = this.game.playerId === this.id || this.game.spectateId === this.id ? 0.2 : 0.4; // Make main player quieter\n\n\t\t\t// Get state\n\t\t\tlet isThrusting = this.moveSpeed > 0.1;\n\t\t\tlet isSprinting = this.sprinting && this.sprint > 0;\n\n\t\t\t// Update volume values\n\t\t\tthis.thrustVolume = utils.lerp(\n\t\t\t\tthis.thrustVolume,\n\t\t\t\tisThrusting && !isSprinting ? maxVolume : 0,\n\t\t\t\tlerpSpeed * dt\n\t\t\t);\n\t\t\tthis.thrustSprintVolume = utils.lerp(\n\t\t\t\tthis.thrustSprintVolume,\n\t\t\t\tisThrusting && isSprinting ? maxVolume : 0,\n\t\t\t\tlerpSpeed * dt\n\t\t\t);\n\n\t\t\t// Set volume and position\n\t\t\tassets.soundVol(this.thrustSoundId, this.thrustVolume, this.x, -this.y);\n\t\t\tassets.soundVol(this.thrustSprintSoundId, this.thrustSprintVolume, this.x, -this.y);\n\t\t}\n\n\t\tsuper.update(dt);\n\n\t\t// Reset fire timer if needed\n\t\tif (this.weaponIndex !== this.prevWeaponIndex) {\n\t\t\tthis.prevWeaponIndex = this.weaponIndex;\n\t\t\tthis.fireTimer = this.fireInterval;\n\t\t}\n\n\t\t// Fire bullets if not landed on planet\n\t\tlet attemptFire = this.firing && !this.isLanded;\n\t\tthis.fireTimer = this.fireTimer - dt;\n\t\tif (!attemptFire) this.fireTimer = Math.max(this.fireTimer, 0); // Don't let the fire timer go down\n\t\twhile (this.fireTimer <= 0 && attemptFire) {\n\t\t\t// Fire enough bullets to make up for the lost bullets in the last tick\n\t\t\tthis.fireBullet();\n\t\t}\n\n\t\t// TODO: Move this to `beforeUpdate`\n\t\t// Clear the data\n\t\tthis.isLanded = false;\n\t\tthis.overlappingPlanet = null;\n\t\tthis.visitingStructure = null;\n\t}\n\n\tonRemove() {\n\t\tif (config.isClient) {\n\t\t\tassets.soundStop(this.thrustSoundId);\n\t\t\tassets.soundStop(this.thrustSprintSoundId);\n\t\t}\n\t}\n\n\tonCollision(entity) {\n\t\tif (entity.isPlayer) {\n\t\t\tthis.damageFromCollision(entity);\n\t\t\tentity.damageFromCollision(this);\n\t\t\tthis.collisionPerkDamage(entity);\n\t\t\tutils.repelEntities(this, entity); // Repelling has padding, so it won't happen again in the same update\n\t\t} else if (entity.isAsteroid) {\n\t\t\tthis.damageFromCollision(entity);\n\t\t\tthis.collisionPerkDamage(entity);\n\t\t\tutils.repelEntities(this, entity);\n\t\t} else if (entity.isBullet) {\n\t\t\t// Don't collide with self\n\t\t\tif (entity.shooterEntityId === this.id) return;\n\n\t\t\t// Destroy bullet; this happens even on the client so bullets don't pass through objects\n\t\t\tentity.destroyBullet();\n\n\t\t\t// Damage self\n\t\t\tif (config.isServer) {\n\t\t\t\tlet shouldDamage = true;\n\n\t\t\t\t// Don't damage if friendly\n\t\t\t\tif (entity.isBullet && this.isFriendlyClientId(entity.shooterClientId)) shouldDamage = false;\n\n\t\t\t\t// Damage entity\n\t\t\t\tif (shouldDamage) utils.damageEntity(entity, this, entity.damage);\n\t\t\t}\n\t\t}\n\t}\n\n\tonDestroy() {\n\t\tif (config.isClient) {\n\t\t\t// Spawn explosion\n\t\t\tthis.game.explosionManager.spawnExplosion(this.x, -this.y, 250);\n\t\t}\n\t}\n\n\tcanDamage(damager, damage) {\n\t\treturn this.shieldTimer <= 0;\n\t}\n\n\tonDamage(damager, damage) {\n\t\tthis.lastDamageTime = Date.now();\n\t}\n\n\tonKilled(killer) {\n\t\t// Set the killer\n\t\tif (killer.isPlayer) {\n\t\t\tthis.killerId = killer.id;\n\t\t} else if (killer.isBullet) {\n\t\t\tthis.killerId = killer.shooterEntityId;\n\t\t}\n\n\t\t// Get properties\n\t\tlet clientOwner = utils.clientOwner(killer);\n\t\tlet killerLabel = utils.killerLabel(killer);\n\n\t\t// Notify killed\n\t\tif (clientOwner) {\n\t\t\tclientOwner.killedPlayer(this);\n\t\t}\n\n\t\t// Send notification\n\t\tif (this.clientHandle && killerLabel) {\n\t\t\tthis.clientHandle.sendNotification(config.notificationTypes.DEATH, 'notification-death', [\n\t\t\t\tkillerLabel\n\t\t\t]);\n\t\t}\n\t}\n\n\tfireBullet() {\n\t\t// Call before fire\n\t\tif (this.clientHandle) {\n\t\t\tthis.clientHandle.beforeFire();\n\t\t}\n\n\t\t// Update timer\n\t\tthis.fireTimer += this.fireInterval;\n\t\tlet timeOffset = Math.max(-this.fireTimer, 0);\n\n\t\t// Fire bullet\n\t\tif (config.isServer) {\n\t\t\t// Fire bullets\n\t\t\tthis.game.fireWeapon(this.weapon, this, timeOffset);\n\t\t}\n\n\t\t// Add kickback\n\t\tlet kickback = this.weapon.kickback * config.playerAcceleration;\n\t\tif (kickback) {\n\t\t\tthis.addVelocity(\n\t\t\t\tMath.cos(this.rot + Math.PI) * kickback,\n\t\t\t\t-Math.sin(this.rot + Math.PI) * kickback\n\t\t\t);\n\t\t}\n\t}\n\n\tdamageFromCollision(source) {\n\t\t// We could find the absolute velocity difference, but we want to penalize the player at high velocities so\n\t\t// we just use the player's velocity\n\t\tlet sourceVelocityBias = 0.2;\n\t\tlet damageAmount =\n\t\t\tutils.dist(\n\t\t\t\tsource.velX * sourceVelocityBias,\n\t\t\t\tsource.velY * sourceVelocityBias,\n\t\t\t\tthis.velX,\n\t\t\t\tthis.velY\n\t\t\t) * config.playerDamagePerVelocity;\n\t\tutils.damageEntity(source, this, damageAmount);\n\t}\n\n\tcollisionPerkDamage(target) {\n\t\t// Do damage from the collision perk\n\t\tif (target.health != null) {\n\t\t\tlet collisionDamagePerVelocity = this.getPerkTotal('collisionDamage');\n\t\t\tif (collisionDamagePerVelocity === 0) return;\n\t\t\tlet damageAmount =\n\t\t\t\tutils.dist(this.velX, this.velY, target.velX, target.velY) * collisionDamagePerVelocity;\n\t\t\tutils.damageEntity(this, target, damageAmount);\n\t\t}\n\t}\n\n\tisFriendlyClientId(clientId) {\n\t\tif (this.isBot) return false;\n\t\tif (config.isClient) {\n\t\t\t// Check if matches self\n\t\t\tif (clientId === this.clientId) return true;\n\n\t\t\t// Check if in same alliance\n\t\t\tif (this.allianceId) {\n\t\t\t\tlet allianceData =\n\t\t\t\t\tthis.game.allianceList[this.game.allianceList.findIndex(a => a[0] === this.allianceId)];\n\t\t\t\tif (!allianceData) return false;\n\t\t\t\treturn allianceData[4].indexOf(clientId) !== -1;\n\t\t\t}\n\n\t\t\t// Not friendly\n\t\t\treturn false;\n\t\t} else if (config.isServer) {\n\t\t\treturn this.clientHandle && this.clientHandle.isFriendly(clientId);\n\t\t}\n\t}\n\n\trender(ctx, dt) {\n\t\tthis.renderLife += dt;\n\n\t\t/* Draw Shield */\n\t\tif (this.shieldTimer > 0) {\n\t\t\tctx.save();\n\n\t\t\tctx.fillStyle = 'rgba(255, 255, 255, 0.25)';\n\t\t\tif (this.shieldTimer < 2) ctx.globalAlpha = this.shieldTimer % 0.3 > 0.15 ? 1.0 : 0.5; // Blink if needed\n\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(0, 0, this.radius * 2.2, 0, Math.PI * 2);\n\t\t\tctx.fill();\n\n\t\t\tctx.restore();\n\t\t}\n\n\t\t/* Draw glow */\n\t\tutils.drawGlow(\n\t\t\tctx,\n\t\t\tthis.x,\n\t\t\tthis.y,\n\t\t\tthis.radius * 6,\n\t\t\tthis.allianceId ? utils.getAllianceColor(this.allianceId) : null,\n\t\t\tthis.allianceId ? 0.3 : 0.1\n\t\t);\n\n\t\t/* Draw body */\n\t\tctx.save();\n\n\t\t// Rotate horizontally to make the XY coords easier to deal with\n\t\tctx.rotate(Math.PI / 2);\n\n\t\t// Draw thrust\n\t\tif (this.moveSpeed > 0.1) {\n\t\t\tlet fireDepth = this.radius * 1.1;\n\t\t\tlet fireWidth = this.radius * 0.8;\n\n\t\t\t// Handle sprinting\n\t\t\tif (this.sprinting && this.sprint > 0) fireDepth *= 2;\n\n\t\t\t// Draw levels of the fire\n\t\t\tlet fireDistance = this.ship.fireDistance != null ? this.ship.fireDistance : 0.95;\n\t\t\tctx.save();\n\t\t\tctx.translate(0, this.radius * fireDistance);\n\t\t\tctx.fillStyle = '#8C090A';\n\t\t\tthis.drawFire(ctx, fireDepth * utils.lerp(0.7, 1.0, Math.random()), fireWidth);\n\t\t\tctx.fillStyle = '#F4892E';\n\t\t\tthis.drawFire(ctx, fireDepth * utils.lerp(0.4, 0.7, Math.random()), fireWidth);\n\t\t\tctx.fillStyle = 'white';\n\t\t\tthis.drawFire(ctx, fireDepth * utils.lerp(0.2, 0.4, Math.random()), fireWidth);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw side thrust\n\t\tlet moveCos = Math.cos(this.thrustAngle + this.rot + Math.PI / 2);\n\t\tif (Math.abs(moveCos) > 0.3 && this.moveSpeed > 0.1) {\n\t\t\tlet sideThrustDepth = this.radius * utils.lerp(0.1, 0.4, Math.random());\n\t\t\tctx.save();\n\t\t\tctx.scale(-Math.sign(moveCos), 1);\n\t\t\tctx.translate(this.radius * 0.7, -this.radius * 0.1);\n\t\t\tctx.rotate((-Math.PI / 3) * 2);\n\t\t\tctx.fillStyle = '#F4892E';\n\t\t\tthis.drawFire(ctx, sideThrustDepth, this.radius * 0.4);\n\t\t\tctx.restore();\n\t\t}\n\n\t\t// Draw body\n\t\tutils.drawShip(ctx, this.ship.id, 0, 0, 32, this.shipFill);\n\n\t\tctx.restore();\n\n\t\t/* Draw stats */\n\t\tctx.save();\n\n\t\t// Rotate so the name shows appropriately\n\t\tif (this.isLanded) {\n\t\t\tlet planetAngle = Math.atan2(\n\t\t\t\tthis.y - this.overlappingPlanet.y,\n\t\t\t\tthis.x - this.overlappingPlanet.x\n\t\t\t);\n\t\t\tctx.rotate(-this.rot - planetAngle + Math.PI / 2);\n\t\t} else {\n\t\t\tctx.rotate(-this.rot);\n\t\t}\n\n\t\t// Render health\n\t\tutils.renderHealth(ctx, this, 1.0, false);\n\n\t\t// Render name\n\t\tlet alliance =\n\t\t\tthis.game.allianceList &&\n\t\t\tthis.game.allianceList[this.game.allianceList.findIndex(a => a[0] === this.allianceId)];\n\t\tlet allianceName = alliance && alliance[2];\n\t\tlet fontSize = parseInt(ctx.font.split('px')[0]);\n\t\tlet usernameWidth = ctx.measureText(this.username).width;\n\t\tlet usernameY = -this.radius - 40;\n\t\tlet allianceWidth = 0;\n\t\tif (alliance) {\n\t\t\tallianceWidth = ctx.measureText(allianceName).width;\n\t\t}\n\t\tlet padding = alliance ? 10 : 0;\n\t\tlet totalWidth = allianceWidth + padding + usernameWidth;\n\t\tif (alliance) {\n\t\t\tctx.save();\n\t\t\tctx.font = utils.generateFont(fontSize, 'bold');\n\t\t\tctx.fillStyle = utils.getAllianceColor(alliance[0]);\n\t\t\tctx.fillText(allianceName, allianceWidth / 2 - totalWidth / 2, usernameY);\n\t\t\tctx.restore();\n\t\t}\n\t\tctx.fillText(this.username, totalWidth - usernameWidth / 2 - totalWidth / 2, usernameY);\n\n\t\tctx.restore();\n\t}\n\n\tdrawFire(ctx, fireDepth, fireWidth) {\n\t\tlet controlPointDistance = fireWidth * 0.3;\n\t\tctx.beginPath();\n\t\tctx.moveTo(-fireWidth / 2, 0);\n\t\tctx.bezierCurveTo(\n\t\t\t-fireWidth / 2,\n\t\t\t0, // Left control point\n\t\t\t-controlPointDistance,\n\t\t\tfireDepth, // Bottom control point\n\t\t\t0,\n\t\t\tfireDepth // Bottom position\n\t\t);\n\t\tctx.bezierCurveTo(\n\t\t\tcontrolPointDistance,\n\t\t\tfireDepth, // Bottom control point\n\t\t\tfireWidth / 2,\n\t\t\t0, // Right control point\n\t\t\tfireWidth / 2,\n\t\t\t0 // Right position\n\t\t);\n\t\tctx.fill();\n\t}\n\n\tgetPerkMultiplier(key) {\n\t\tlet multiplier = 1;\n\t\tfor (let perkIndex of this.perks) {\n\t\t\tlet perk = upgrades.perks[perkIndex];\n\t\t\tif (perk[key]) {\n\t\t\t\tmultiplier *= perk[key];\n\t\t\t}\n\t\t}\n\n\t\treturn multiplier;\n\t}\n\n\tgetPerkTotal(key) {\n\t\tlet total = 0;\n\t\tfor (let perkIndex of this.perks) {\n\t\t\tlet perk = upgrades.perks[perkIndex];\n\t\t\tif (perk[key]) {\n\t\t\t\ttotal += perk[key];\n\t\t\t}\n\t\t}\n\n\t\treturn total;\n\t}\n}\n\nPlayer.addSyncKeys(\n\t{ key: 'isBot', type: 'boolean', update: false },\n\t{ key: 'clientId', type: 'int', update: false },\n\t{ key: 'username', type: 'string', update: false },\n\t{ key: 'shipIndex', type: 'string', update: false },\n\t{ key: 'shipFill', type: 'string', update: false },\n\t{ key: 'allianceId', type: 'int', update: true },\n\t{ key: 'perks', type: 'int[]', update: true },\n\t{ key: 'health', type: 'float', update: true, quantize: config.quantize01 },\n\t{\n\t\tkey: 'moveDir',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tsendMap: v => utils.modFix(v, Math.PI * 2)\n\t},\n\t{\n\t\tkey: 'moveSpeed',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tquantize: config.quantize01\n\t},\n\t{ key: 'relativeMoveDir', type: 'boolean', update: true },\n\t{\n\t\tkey: 'targetRot',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tsendMap: v => utils.modFix(v, Math.PI * 2)\n\t},\n\t{ key: 'firing', type: 'boolean', update: true },\n\t{ key: 'sprinting', type: 'boolean', update: true },\n\t{ key: 'weaponIndex', type: 'int', update: true },\n\t{\n\t\tkey: 'shieldTimer',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tsendMap: v => utils.quantizeSimple(v, 1),\n\t\treceiveMap: v => utils.unquantizeSimple(v, 1)\n\t},\n\t{\n\t\tkey: 'sprint',\n\t\ttype: 'float',\n\t\tupdate: true,\n\t\tquantize: { min: 0, max: config.sprintTime * 4, bits: 8 }\n\t}\n);\n\nmodule.exports = Player;\n","const Entity = require('./Entity');\nconst utils = require('../utils');\n\nclass Wormhole extends Entity {\n\tconstructor(game) {\n\t\tsuper(game);\n\t\tthis.isWormhole = true;\n\t\tthis.renderLayers = [-5];\n\n\t\t// Configure entity\n\t\tthis.radius = 10;\n\t\tthis.timeMultiplier = 0.25;\n\t}\n\n\tupdate(dt) {\n\t\t// Keep static\n\t\tthis.setVelocity(0, 0);\n\n\t\tsuper.update(dt);\n\t}\n\n\trender(ctx, dt) {\n\t\t// Set style\n\t\tctx.fillStyle = '#4000cd';\n\t\tctx.globalAlpha = 0.06;\n\n\t\t// Draw shrinking circles\n\t\tlet t = (Date.now() / 1000) * this.timeMultiplier * 0.2;\n\t\tlet phaseCount = 4;\n\t\tfor (let i = 0; i < 5; i++) {\n\t\t\t// Get the progress\n\t\t\tlet progress = i / (phaseCount - 1);\n\t\t\tprogress = (progress + t) % 1;\n\t\t\tprogress = Math.sin(progress * Math.PI * 2) / 2 + 0.5;\n\n\t\t\t// Draw the circle\n\t\t\tlet radius = utils.lerp(this.radius * 0.85, this.radius, progress);\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(0, 0, radius, 0, Math.PI * 2);\n\t\t\tctx.fill();\n\t\t}\n\t}\n}\n\nWormhole.addSyncKeys({ key: 'timeMultiplier', type: 'float', update: false });\n\nmodule.exports = Wormhole;\n","const Structure = require('./Structure');\nconst config = require('../../config/config');\n\nclass BoostPad extends Structure {\n\tconstructor(game) {\n\t\tsuper(game);\n\t\tthis.isTrap = true;\n\n\t\tthis.radius = 48;\n\t\tthis.health = 2.0;\n\t\tthis.spaceStructureCollisions = false;\n\n\t\tthis.boostSpeed = 2500;\n\n\t\tthis.boosted = {}; // {: