/**** (c) Valve Corporation. Use is governed by the terms of the Steam Subscriber Agreement http://store.steampowered.com/subscriber_agreement/.
 ****/
(self.webpackChunkdota_react = self.webpackChunkdota_react || []).push([
  [7084],
  {
    2466: (e) => {
      e.exports = {
        Tooltip: "_2IHKq8kE2FKkIkQ0uN1hI1",
        CarouselFade: "_2jFWoHmtCDVmk-GJRBpunm",
        StandardButton: "_3Vzjmf1OlnazpL0kLEaBk2",
        ButtonText: "_1zE9KyknOxmGylbt0gT6G1",
        Icon: "_2kUnsdlfHyidOkvHNRy-G5",
        Play: "_3xQLJ4b-cm8IeXAoDPbn6R",
        SteamLogo: "_1hoZQVEfsnXavdsZP34vJD",
        ToolTip: "_3fIQnpYc0eNl9uXKBoSJam",
        PlayerReportTooltip: "_13XzPZYgyQ52l8UHzh0EmH",
        Facet: "_2479It67QW-Bm9uy6i44cg",
        FacetColorRed1: "_1VQ6_XxRXOarkHNtIZR9Bw",
        IconBackground: "_1TCapxSkSTXMjsDbZYrPuo",
        FacetColorRed2: "_2npcwVYfERdNcBWrDZoEz0",
        FacetColorRed0: "_2jAmS6ZJIahLUzOlKrjWpM",
        BackgroundTexture: "Kt1MTBk5kBd4aK5CFW2BS",
        Background: "_3MfMXew7MDkO4ZAyjocp4l",
        FacetColorYellow1: "_28IIDyezxLgxIAUErmcPAh",
        FacetColorYellow2: "_3jB4IMyM4FBN4ivpEPzbJd",
        FacetColorYellow3: "_1Gjyr8DdaSBz6_43VEAz0d",
        FacetColorYellow0: "_2dBam2Tl57qfOfNvHZ6ChQ",
        FacetColorGreen1: "_1-qGJ84BFxu0lBHUhb5BAi",
        FacetColorGreen2: "_3sEfw4qhYeKQzhX1UOb60Z",
        FacetColorGreen3: "_21o76udrdevLEWmI0ZuSCT",
        FacetColorGreen4: "_3833UsaWsxduGGxeTuMWAC",
        FacetColorGreen0: "_1c3NTvD5wY1eRXjzD8RPIe",
        FacetColorBlue1: "_3O35_r4wm4_s7r6H_YdPCz",
        FacetColorBlue2: "_3ejomd-TsjxlHuJOx2FYyf",
        FacetColorBlue3: "_2HyBDMaS-B2ekmE3PItFMK",
        FacetColorBlue0: "_3gfEwvDy5HqyL6VGHoMRVO",
        FacetColorPurple1: "_1EmAB8GlcjfA1QEcuCJi6K",
        FacetColorPurple2: "GNCP-xxNt9O4-ierkeGcM",
        FacetColorPurple0: "YXBKkoBCp4eQx9gFE-4GS",
        FacetColorGray0: "_2TRWZ2SI7jmu1RmANk84kq",
        FacetColorGray1: "_2Z0PK6Dt5jIErUliJ1Nmcb",
        FacetColorGray2: "_3wy1a1XvwtnmSkyJ_Uog4B",
        FacetColorGray3: "_3CwxQRU26KizreV1hodszw",
        DotaPlusTesterPage: "_3WgovHBiMUxsTea3MjGVj_",
        SelectionHeader: "_1nNeHirsBILHpl2is8F5lW",
        Option: "_2AFRQzgnX-YsecNy9XrxzY",
        Selected: "wbLdHJ0ZWLvu8HF50SXla",
        DotaPlusTesterSubPage: "_2CWEAN8f8RDC7hNnHa8Suk",
        Content: "_3bNeyifasCN57MFYhqx6ZU",
        HeroOption: "_2v0i2xJP4V-2Qpo3cyY1Nj",
        Portrait: "_3i4UGSnvERSFqSVToiROro",
        Name: "_1CHIkGehGqx3Ju9lDCMSL3",
        HeroPickerPopupBackground: "BkuFnEL7cAyjCsMYhNyG3",
        HeroPickerPopup: "_5HnIRB-JgFF82A3YeaDuq",
        InvisibleBackground: "_2jAZ6RdYq6X6OeC7yk8dj3",
        Title: "_3WFGlJosY89AeFD-YAn6gJ",
        Grid: "_21gyki0jzxuKwN4H10o8X9",
        HeroSelector: "_3fmy45UdjacZi73yO3E_uF",
        ItemOption: "_6AJ-yI4g6fOtGfcDROYZt",
        ItemPickerPopupBackground: "_145u0nzgVhn2-DZBoRWmsI",
        ItemPickerPopup: "_1aNSszFcQFhi_uHGeZf8Rv",
        ItemSelector: "_2SWf_NNmwQ7LWbLC4VYlOr",
        Separator: "vvXhWtkA9z6wjvMnq8Cfh",
        IncludExcludeItemOption: "_3Cu9n_EGnwgQDa94O5JQYa",
        ItemOptionTitle: "_1KOTz4KFHV7evGoyiIIhmZ",
        ResultHeader: "_2Vl5GTvbioLQmgltncA3xD",
        PenaltySelector: "_28XsJixV0GJwbwa0EysF95",
        VariantTypes: "_3Zp2QG7HhI-jivO6IldhoV",
        VariantType: "_219ADvdUd0lvulRTTvI5az",
        ShowMore: "_1tx8GY0JVZNo7qQPdeDsTn",
        HeroList: "AyejJ-aIiriywCHAZOeUo",
        Allies: "_3Xuun95YKZ1YruK-b9hYEf",
        Enemies: "_3FpjjT_dv_gp1luKSDDZhK",
        MiscInfo: "_2PVHaq0Abzd8Vpp7ZSpR6X",
        Results: "_1epogxsRPnR7xvn_EJk5ek",
        Result: "_2aynAA7fYEBl7qeYdv4k7P",
        Weight: "_1LCBQ-B3CRx5lvFPGuCCnL",
        Score: "_3upfuZKsxFE7jDpMgQDHrF",
        ScoreAdjust: "_1AWXivqjFK2i-xe23q043e",
        SequenceID: "_2I5WaWpAnR7Xb9bJIjMAuB",
        ItemList: "_1hs67D7V7zX-88hrbFgsay",
        ItemIcon: "_1Wq63SoqJ5sm2AjU0GHg0G",
        Loading: "_2ie0WE5D9UyYhwIqhg8OUG",
      };
    },
    40753: (e) => {
      e.exports = {
        Tooltip: "_3OELhBBscklv2IMdg5oomz",
        CarouselFade: "_31I4llS_Lyhj5ATIkhm9Qt",
        StandardButton: "_37aD3ynYPo1qUap4RVCcn1",
        ButtonText: "_1kRqdz1Q6aw8DZs4fDMlS_",
        Icon: "_3qIRiUalNYmwOuLpN0DODG",
        Play: "_2vTU3GlbWNRYTktMAr4piA",
        SteamLogo: "_1fP8sQd2eLdp1lnsGBSiIc",
        ToolTip: "RYpRbQXFsKkHLprrRA1zi",
        PlayerReportTooltip: "_3tRwpyEakf__WKj7w5jodF",
        PersonaDetails: "_1zeGbjgrtzsTxpMX5En4ZN",
        ContentFrame: "Z_Blbt7KKFTyy0LhWzqrd",
        BansGrid: "_3V5pubLeXWOs7rDx7cGxI",
        WarningsGrid: "_2THih7P04NzMQyRkSCU57p",
        DetailedInfoInnerGrid: "_1hn0yQoWwUItL8u4npU1FJ",
        DetailedInfoOuterGrid: "_1A5QRx9VlcVs-R0nrFE7ek",
        VacInfoInnerGrid: "_2GLWyc9KftX65_eYbF9SbV",
        VacInfoOuterGrid: "_3mMUpl5v4rdbX0Y3j6h9Vt",
        TeamsInfoInnerGrid: "_1VvPwBnK6kaf04tlafgJzd",
        TeamsInfoOuterGrid: "_3Yy6Z2mss8pTAjlVIJ7A9e",
        OfficialProfileInnerGrid: "_3B-f5WgGwbIfjjQ79Ef-Nx",
        OfficialProfileOuterGrid: "_3G-7dX2yZaIKFL9tnC0VkL",
        EventInfoInnerGrid: "vvYl-3ZIeMPkGI94saJaY",
        EventInfoOuterGrid: "e1kXopQGUfQO8ICcUgWT9",
        TeamDetailsGrid: "_2qp3OE-MGle8fIYmzYo-mD",
        AccessFlagsGrid: "_31PXUbr6Ft4mcgqJlnxbd4",
        SupportInfoGrid: "_1OWRzmCzZ7Ff9zLvR0ij53",
        SmurfExperimentalInfoGrid: "_2i8-FQlo99PtuRmUvtgurE",
        SmurfInfoGrid: "_1ec2JlZSx2iKez9Tlm60Ho",
        LinkedAccountsGrid: "_1CWPTeuaqNUawITjfayjh7",
        SupportInfoTopGrid: "pEEkQfBPikqdsNi11lWM-",
        RankInfoGrid: "xI5E6apwJIM7u3b5GpQHg",
        GeneralInfoGrid: "_1fxrHZYArq4s_yW3AGlgLl",
        Header: "DQGCOxrVoC7LBhM7mn-Js",
        HeaderFixedHeight: "_2VaZtuM2kaB1JfOPNUHY7z",
        HeaderNoMargin: "_26vpYMRjrF8IaAlDodSKYJ",
        HeaderClickable: "_2OwWXhfu5Ir_RK5tZGdlV7",
        TopContent: "_22K2AIz1_qxsa0prjSJght",
        TopContentLeft: "AymWsmELt-04P2KDWP_ht",
        TopContentRight: "_1_Nsd4gBtT24RXhTZX59hu",
        ChartContainer: "NJ2SxLweSpIwwij01bEPa",
        ChartTitle: "_2jj8F6TujCphllWG0mVZIR",
        FilterGrid: "GCf_MpdLqqDAA2gYJy_OP",
        RankedFilters: "_33ShEkw3vpxlYh9V4kq8vN",
        MatchHistoryOuterContainer: "_3_r0BBZ53SWfDvtIYFmnVy",
        MatchHistoryInnerContainer: "sL92M3TGZXFY52YJwBjqg",
        MatchRowEven: "ux51myX2FubufpPVDr79F",
        SupportGrid: "_2Y0XJ26SxbEz2ymss3IxT1",
        SupportGridHidden: "fQ9JbuKILX6QcGliXkAAW",
        BanHistoryTable: "_3WqIrnD55srvWk0usaiGU",
        ReportRowElement: "_2D2t4sByBFxPdT19ZxDi2H",
        Link: "_1ymUXcoOK9QMVUK3LqDNva",
        MediumTextField: "eQUN1139S04UDBXZD9sj9",
        SmallTextField: "_1NTGYvvayGBoCVLwOZeKqr",
        SmoothLine: "TmbIeQaO211UMcS2rYilB",
        HeroImage: "_3yyq7mdx9R7TGWugXYr-p1",
        ItemContainer: "_2HKl4yY1a7E74CglG8uBUX",
        ItemIcon: "_3fmaFLdu4JhnWu-pNzi4n_",
        RankNumber: "_2DZJOGqgRmf8BXHrKl8NlI",
        RankedUncertainty: "YGzF1cwttz9g-GD8lQa7u",
        RankedBadgeIcon: "_1bjscpu27X92lwFnnDxuB-",
        CheckBox: "_2YEZTwo84iD58hIg0yVu7c",
        OtherModesCheckBox: "F2OsALGKET10BleQcREfT",
        ArrowIcon: "_2409M7zgkG1YfIoKjf0xuW",
        ArrowIconRight: "_2_9wfntkC3b3oqBh6DWQWS",
        ArrowIconDown: "_3BwteZt73UOnhP1eZQzjLG",
        MarginRightSmall: "_18x1jAkVSdDMbBRGE29U8Q",
        TextCapitalize: "lT6nXg4T4nF_u8dPbxbLK",
        TextUppercase: "_1zyxlvXRinV7kmTGr27_gu",
      };
    },
    9784: (e) => {
      e.exports = {
        Tooltip: "_31hC1zqg_cK9fp6BCtDEz",
        CarouselFade: "_2UcOFVBSgdG55jLKpxirAG",
        StandardButton: "_1OiL0_UEMBNqnMh2NIyqgn",
        ButtonText: "_3gcUnXWgY6QWkRKN1ClXpK",
        Icon: "_17oKddncf6DrsSIQVgNvNG",
        Play: "_1e79tla_NJpyJDcvbU9AF9",
        SteamLogo: "_2Z206WYSu-kLFeeyQllJnA",
        ToolTip: "_2w_iNwO7tcIXVjXubfdbpo",
        PlayerReportTooltip: "_3oBx7dyVQTWVwPU7EuvqWT",
        TeamDetails: "w3idBBCXL0rxnD6pwBRM6",
        ContentFrame: "hjW9KalKzKYN16tpDQb7f",
        MatchesGrid: "_3HPIK48slIcN5eHxvTSbKQ",
        WorkshopStatusGrid: "_11m5MHnA6UknRRBsXpZ1rv",
        AuditActionsGrid: "_1ohOp7TGfH5UAINZezcdxk",
        LogoAndColorsGrid: "ndSeTE99iU-Ou7uTl5Si0",
        UGCLogosGrid: "_1bbYnwq3o_lOjCCxe9iJaj",
        MiscInfoGrid: "_1igOxRpLl7PyFY24wnePza",
        MembersGrid: "_3tGp0SBmohvWD8Pzf5iiuc",
        ManagerGrid: "_3GLmjRcbneW-hMwgcQ--3l",
        TeamDetailsGrid: "_3V8yT6IOTf0yaOtb7uXfky",
        EditInfoGrid: "_154vYGBrUHabGUpVtMn3B4",
        Header: "_3gRz5dlEtd2bMEcJRISHKT",
        SubmitButton: "_1RnAKrnaOcM3sRJ1ITONHN",
        URLLogoContainer: "_2LgtuThAofytR-EoQUMOLR",
        DPCLogoContainer: "_3uIWu7cqjGy0dv5tXwPZnF",
        SeasonMatchHeader: "SV4lDRUSn4ErLJABsMRaN",
        ColorBox: "_1Kvg9fL81Eb3WLk0EcFDTl",
        Link: "_3Gjo1M2PApknKEf9Y8kZSI",
        MediumTextField: "_2IXLMtIL66j_ePIFCMoMLn",
        SmallTextField: "_1y2t9XMGl9stF97djWq0aK",
        SmoothLine: "_3YaqJMKcvdAXYfVRX2W8PY",
      };
    },
    77671: (e, t, a) => {
      "use strict";
      a.r(t), a.d(t, { default: () => P });
      var n = a(7552),
        r = a(89506),
        l = a(21384),
        o = a(47202),
        c = a(92225),
        s = a(2466),
        m = a.n(s),
        i = a(33706),
        d = a(27866),
        u = a(88351),
        p = a(55651),
        E = a(40349),
        y = a(91077),
        f = a(28485),
        g = a(72674);
      const _ = (e) => {
          const [t, a] = (0, n.useState)(""),
            l = (0, i.wB)();
          if (l.isLoading)
            return n.createElement(
              "div",
              { className: m().HeroPicker },
              n.createElement("div", { className: m().Loading }, "Loading..."),
            );
          if (!l.data) return null;
          const o = l.data;
          return n.createElement(
            "div",
            {
              className: m().HeroPickerPopupBackground,
              onClick: () => e.fnSetSelectedHero(-1),
            },
            n.createElement(
              "div",
              { className: m().HeroPickerPopup },
              n.createElement("div", { className: m().Title }, "Select Hero"),
              n.createElement(
                "div",
                { className: m().Grid },
                o.heroes.map((t) =>
                  n.createElement(
                    "div",
                    {
                      key: t.id,
                      className: m().HeroSelector,
                      onClick: (a) => {
                        e.fnSetSelectedHero(t.id), a.stopPropagation();
                      },
                    },
                    n.createElement("div", {
                      className: m().Portrait,
                      style: {
                        backgroundImage: `url( ${r.r.IMG_URL}heroes/${t.name.replace("npc_dota_hero_", "")}.png`,
                      },
                    }),
                    n.createElement(
                      "div",
                      { className: m().Name },
                      (0, d.Wn)(t.name_loc),
                    ),
                  ),
                ),
              ),
            ),
          );
        },
        S = (e) => {
          const [t, a] = n.useState(!1),
            o = (0, i.wB)(),
            c = (0, i.lm)(e.nHeroID),
            s = (0, i.qK)(e.nHeroID),
            u = (0, y.R7)().ownerWindow,
            p = e.nFacet - 1;
          n.useEffect(() => {
            if (0 == e.nHeroID && o.data) {
              const t = (0, E.Tg)(0, o.data.heroes.length - 1);
              e.fnSetSelectedHero(o.data.heroes[t].id);
            }
          }, [e.nHeroID, o, e]);
          const g = c.data,
            S = s.data,
            h = S ? S.facets[p] : void 0;
          let N = "";
          switch (h?.color) {
            case 0:
              N = "Red";
              break;
            case 1:
              N = "Yellow";
              break;
            case 2:
              N = "Green";
              break;
            case 3:
              N = "Blue";
              break;
            case 4:
              N = "Purple";
              break;
            case 5:
              N = "Gray";
          }
          const k = u.document?.body;
          return n.createElement(
            "div",
            { className: m().HeroOption },
            n.createElement(
              "div",
              { className: m().Name },
              e.bShowName ? (0, d.Wn)(g?.name_loc) : e.strLabel,
            ),
            n.createElement("div", {
              className: m().Portrait,
              style: {
                backgroundImage: `url( ${r.r.IMG_URL}heroes/${g?.name.replace("npc_dota_hero_", "")}.png`,
              },
              onClick: () => a(!0),
            }),
            n.createElement(
              "div",
              {
                className: (0, l.A)(
                  m().Facet,
                  m()[`FacetColor${N}${h?.gradient_id}`],
                ),
                onClick: () =>
                  S
                    ? e.fnSetSelectedFacet(1 + ((p + 1) % S?.facets.length))
                    : e.fnSetSelectedFacet(0),
              },
              n.createElement(
                "div",
                { className: m().BackgroundTexture },
                S?.facets[p]?.title_loc,
              ),
            ),
            t &&
              f.createPortal(
                n.createElement(_, {
                  fnSetSelectedHero: (t) => {
                    a(!1), -1 != t && e.fnSetSelectedHero(t);
                  },
                }),
                k,
              ),
          );
        },
        h = (e) => {
          const t = (0, i.mU)(e.nItemID).data;
          return n.createElement(
            c.he,
            {
              toolTipContent: t?.name_loc,
              direction: "top",
              strTooltipClassname: m().ToolTip,
            },
            n.createElement("div", {
              className: m().ItemIcon,
              style: {
                backgroundImage: `url( ${r.r.IMG_URL}items/${t?.name?.replace("item_", "")}.png`,
              },
            }),
          );
        },
        N = (e) => {
          const [t, a] = (0, n.useState)(""),
            l = (0, i.HJ)();
          if (l.isLoading)
            return n.createElement(
              "div",
              { className: m().ItemPickerPopupBackground },
              n.createElement(
                "div",
                { className: m().ItemPickerPopup },
                n.createElement(
                  "div",
                  { className: m().Loading },
                  "Loading...",
                ),
              ),
            );
          if (!l.data) return null;
          let o = l.data.itemabilities
            .filter(
              (e) => !e.name_loc.includes("Recipe") && e.name_loc.length > 0,
            )
            .sort((e, t) => (e.name_loc < t.name_loc ? -1 : 1));
          return n.createElement(
            "div",
            {
              className: m().ItemPickerPopupBackground,
              onClick: () => e.fnSetSelectedItem(-1),
            },
            n.createElement(
              "div",
              { className: m().ItemPickerPopup },
              n.createElement("div", { className: m().Title }, "Select Item"),
              n.createElement(
                "div",
                { className: m().Grid },
                e.bAllowEmpty &&
                  n.createElement(
                    "div",
                    {
                      key: 0,
                      className: m().ItemSelector,
                      onClick: (t) => {
                        e.fnSetSelectedItem(0), t.stopPropagation();
                      },
                    },
                    n.createElement("div", { className: m().Icon }),
                    n.createElement("div", { className: m().Name }, "Clear"),
                  ),
                o
                  .filter((t) => !e.bFilterLategame || t.is_lategame_suggested)
                  .map((t) =>
                    n.createElement(
                      "div",
                      {
                        key: t.id,
                        className: m().ItemSelector,
                        onClick: (a) => {
                          e.fnSetSelectedItem(t.id), a.stopPropagation();
                        },
                      },
                      n.createElement("div", {
                        className: m().Icon,
                        style: {
                          backgroundImage: `url( ${r.r.IMG_URL}items/${t.name.replace("item_", "")}.png`,
                        },
                      }),
                      n.createElement(
                        "div",
                        { className: m().Name },
                        (0, d.Wn)(t.name_loc),
                      ),
                    ),
                  ),
              ),
            ),
          );
        },
        k = (e) => {
          const [t, a] = n.useState(!1),
            l = (0, i.mU)(e.nItemID),
            o = (0, y.R7)().ownerWindow,
            c = l.data,
            s = o.document?.body;
          return n.createElement(
            "div",
            { className: m().ItemOption },
            n.createElement(
              "div",
              { className: m().Name },
              e.bShowName ? (0, d.Wn)(c?.name_loc) : e.strLabel,
            ),
            n.createElement("div", {
              className: m().Icon,
              style: {
                backgroundImage: `url( ${r.r.IMG_URL}items/${c?.name?.replace("item_", "")}.png`,
              },
              onClick: () => a(!0),
            }),
            t &&
              f.createPortal(
                n.createElement(N, {
                  fnSetSelectedItem: (t) => {
                    a(!1), -1 != t && e.fnSetSelectedItem(t);
                  },
                  bAllowEmpty: e.bAllowEmpty,
                  bFilterLategame: e.bFilterLategame,
                }),
                s,
              ),
          );
        },
        A = (e) =>
          n.createElement(
            "div",
            { className: m().Option },
            n.createElement("div", { className: m().Name }, "Position"),
            n.createElement(
              "select",
              {
                className: m().PositionSelector,
                value: e.nPosition,
                onChange: (t) => e.fnSetPosition(parseInt(t.target.value)),
              },
              n.createElement("option", { value: 1 }, "Safe"),
              n.createElement("option", { value: 2 }, "Off"),
              n.createElement("option", { value: 4 }, "Mid"),
              n.createElement("option", { value: 8 }, "Support"),
              n.createElement("option", { value: 16 }, "Hard Support"),
            ),
          ),
        I = (e) =>
          n.createElement(
            "div",
            { className: m().Option },
            n.createElement("div", { className: m().Name }, "Lane"),
            n.createElement(
              "select",
              {
                className: m().LaneSelector,
                value: e.nLane,
                onChange: (t) => e.fnSetLane(parseInt(t.target.value)),
              },
              n.createElement("option", { value: 1 }, "Safe"),
              n.createElement("option", { value: 2 }, "Off"),
              n.createElement("option", { value: 3 }, "Mid"),
            ),
          ),
        v = (e) =>
          n.createElement(
            "div",
            { className: m().Option },
            n.createElement("div", { className: m().Name }, "Game Mode"),
            n.createElement(
              "select",
              {
                className: m().GameModeSelector,
                value: e.nGameMode,
                onChange: (t) => e.fnSetGameMode(parseInt(t.target.value)),
              },
              n.createElement("option", { value: 22 }, "All Draft"),
              n.createElement("option", { value: 1 }, "All Pick"),
              n.createElement("option", { value: 23 }, "Turbo"),
              n.createElement("option", { value: 2 }, "Captains Mode"),
              n.createElement("option", { value: 16 }, "Captains Draft"),
              n.createElement("option", { value: 4 }, "Single Draft"),
              n.createElement("option", { value: 13 }, "Hero Pool"),
            ),
          ),
        T = (e) => {
          const [t, a] = n.useState(e.strMMR);
          return (
            n.useEffect(() => {
              const a = setTimeout(() => e.fnSetMMR(t), 400);
              return () => clearTimeout(a);
            }, [e, t]),
            n.createElement(
              "div",
              { className: m().Option },
              n.createElement("div", { className: m().Name }, "MMR"),
              n.createElement("input", {
                type: "text",
                className: m().AverageMMRInput,
                value: t,
                onChange: (e) => a(e.target.value),
              }),
            )
          );
        };
      function F(e) {
        const t = new URLSearchParams();
        return (
          Object.keys(e).forEach((a) => {
            Array.isArray(e[a])
              ? t.append(a, e[a].join(","))
              : t.append(a, e[a]);
          }),
          t.toString()
        );
      }
      const R = "pregameitems",
        D = "earlygameitems",
        b = "lategameitems",
        C = "maingameitems",
        M = (e) => {
          const t = new URLSearchParams(e.strConfig),
            a = (0, u.W6)();
          let r = parseInt(t.get("nHeroID") || "0"),
            l = parseInt(t.get("nFacet") || "1"),
            o = parseInt(t.get("nLane") || "0"),
            s = (t.get("arrAlliedHeroIDs") || "0,0,0,0").split(",").map(Number),
            d = (t.get("arrAlliedHeroFacets") || "1,1,1,1")
              .split(",")
              .map(Number),
            E = (t.get("arrEnemyHeroIDs") || "0,0,0,0,0")
              .split(",")
              .map(Number),
            y = (t.get("arrEnemyHeroFacets") || "1,1,1,1,1")
              .split(",")
              .map(Number),
            f = t.get("nAverageMMR") || "2000",
            g = parseInt(t.get("nGameMode") || "22");
          const _ = () => {
              const t = {
                nHeroID: r,
                nFacet: l,
                nLane: o,
                arrAlliedHeroIDs: s,
                arrAlliedHeroFacets: d,
                arrEnemyHeroIDs: E,
                arrEnemyHeroFacets: y,
                nAverageMMR: parseInt(f),
                nGameMode: g,
              };
              a.push(p.J.dotaplustester(e.strFeature, F(t)));
            },
            N = (0, i.MT)(r, l, o, s, d, E, y, parseInt(f), g, !0).data,
            k = (0, i.MT)(r, l, o, s, d, E, y, parseInt(f), g, !1).data;
          let A = [];
          if (
            N &&
            k &&
            N.backend_response.outputs.length > 0 &&
            k.backend_response.outputs.length > 0
          )
            for (
              let e = 0;
              e <
              N.backend_response.outputs[0].categorical_crossentropy
                .value_sequence.length;
              e++
            ) {
              let t = {
                arrItemSequence:
                  N.backend_response.outputs[0].categorical_crossentropy
                    .value_sequence[e].value,
                fScore:
                  N.backend_response.outputs[0].categorical_crossentropy.weight[
                    e
                  ],
                fWinLossAdjust: 0,
                nSequenceID:
                  N.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ],
              };
              for (
                let a = 0;
                a <
                k.backend_response.outputs[0].categorical_crossentropy.value
                  .length;
                a++
              )
                if (
                  k.backend_response.outputs[0].categorical_crossentropy.value[
                    a
                  ] ==
                  N.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ]
                ) {
                  const n =
                    10 *
                    (N.backend_response.outputs[0].categorical_crossentropy
                      .weight[e] -
                      k.backend_response.outputs[0].categorical_crossentropy
                        .weight[a]);
                  (t.fScore += n), (t.fWinLossAdjust += n);
                }
              A.push(t);
            }
          A.sort((e, t) => t.fScore - e.fScore);
          const R = (e) => {
              (l = e), _();
            },
            D = (e, t) => {
              (s[e] = t), _();
            },
            b = (e, t) => {
              (d[e] = t), _();
            },
            C = (e, t) => {
              (E[e] = t), _();
            },
            M = (e, t) => {
              (y[e] = t), _();
            },
            O = (0, i.HJ)(),
            L = (0, i.wB)();
          if (!O.data || !L.data)
            return n.createElement(
              "div",
              { className: m().Loading },
              "Loading hero and item data...",
            );
          return n.createElement(
            "div",
            { className: m().DotaPlusTesterSubPage },
            n.createElement(
              "div",
              { className: m().Content },
              n.createElement(
                "div",
                { className: m().HeroList },
                n.createElement(
                  "div",
                  { className: m().YourHero },
                  n.createElement(S, {
                    strLabel: "Your Hero",
                    nHeroID: r,
                    nFacet: l,
                    fnSetSelectedHero: (e) => ((r = e), void _()),
                    fnSetSelectedFacet: (e) => R(e),
                  }),
                ),
                n.createElement(
                  "div",
                  { className: m().Allies },
                  n.createElement(S, {
                    strLabel: "Ally #1",
                    nHeroID: s[0],
                    nFacet: d[0],
                    fnSetSelectedHero: (e) => D(0, e),
                    fnSetSelectedFacet: (e) => b(0, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #2",
                    nHeroID: s[1],
                    nFacet: d[1],
                    fnSetSelectedHero: (e) => D(1, e),
                    fnSetSelectedFacet: (e) => b(1, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #3",
                    nHeroID: s[2],
                    nFacet: d[2],
                    fnSetSelectedHero: (e) => D(2, e),
                    fnSetSelectedFacet: (e) => b(2, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #4",
                    nHeroID: s[3],
                    nFacet: d[3],
                    fnSetSelectedHero: (e) => D(3, e),
                    fnSetSelectedFacet: (e) => b(3, e),
                  }),
                ),
                n.createElement(
                  "div",
                  { className: m().Enemies },
                  n.createElement(S, {
                    strLabel: "Enemy #1",
                    nHeroID: E[0],
                    nFacet: y[0],
                    fnSetSelectedHero: (e) => C(0, e),
                    fnSetSelectedFacet: (e) => M(0, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #2",
                    nHeroID: E[1],
                    nFacet: y[1],
                    fnSetSelectedHero: (e) => C(1, e),
                    fnSetSelectedFacet: (e) => M(1, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #3",
                    nHeroID: E[2],
                    nFacet: y[2],
                    fnSetSelectedHero: (e) => C(2, e),
                    fnSetSelectedFacet: (e) => M(2, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #4",
                    nHeroID: E[3],
                    nFacet: y[3],
                    fnSetSelectedHero: (e) => C(3, e),
                    fnSetSelectedFacet: (e) => M(3, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #5",
                    nHeroID: E[4],
                    nFacet: y[4],
                    fnSetSelectedHero: (e) => C(4, e),
                    fnSetSelectedFacet: (e) => M(4, e),
                  }),
                ),
              ),
              n.createElement("div", { className: m().Separator }),
              n.createElement(
                "div",
                { className: m().MiscInfo },
                n.createElement(I, {
                  nLane: o,
                  fnSetLane: (e) => {
                    (o = e), _();
                  },
                }),
                n.createElement(v, {
                  nGameMode: g,
                  fnSetGameMode: (e) => {
                    (g = e), _();
                  },
                }),
                n.createElement(T, {
                  strMMR: f,
                  fnSetMMR: (e) => {
                    (f = e), _();
                  },
                }),
              ),
              n.createElement("div", { className: m().Separator }),
              A.length > 0 &&
                n.createElement(
                  "div",
                  { className: m().Results },
                  A.map((e, t) =>
                    t >= 5
                      ? null
                      : n.createElement(
                          "div",
                          {
                            className: m().Result,
                            key: `InferenceResult_${t}`,
                          },
                          n.createElement(
                            "div",
                            { className: m().Weight },
                            n.createElement(
                              "div",
                              { className: m().Score },
                              `${(100 * e.fScore).toFixed(2)}%`,
                            ),
                            n.createElement(
                              c.he,
                              {
                                toolTipContent:
                                  "Amount score was adjusted by comparing winning and losing teams",
                                direction: "top",
                                strTooltipClassname: m().ToolTip,
                              },
                              n.createElement(
                                "div",
                                { className: m().ScoreAdjust },
                                `${e.fWinLossAdjust > 0 ? "+" : ""}${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                              ),
                            ),
                          ),
                          n.createElement(
                            "div",
                            { className: m().ItemList },
                            e.arrItemSequence.map((e, a) =>
                              n.createElement(h, {
                                nItemID: e,
                                key: `InferenceReuslt_${t}_Item_${a}`,
                              }),
                            ),
                          ),
                        ),
                  ),
                ),
            ),
          );
        },
        O = (e) => {
          const t = new URLSearchParams(e.strConfig),
            a = (0, u.W6)();
          let r = parseInt(t.get("nHeroID") || "0"),
            l = parseInt(t.get("nFacet") || "0"),
            o = parseInt(t.get("nPosition") || "0"),
            s = (t.get("arrAlliedHeroIDs") || "0,0,0,0").split(",").map(Number),
            d = (t.get("arrAlliedHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            E = (t.get("arrEnemyHeroIDs") || "0,0,0,0").split(",").map(Number),
            y = (t.get("arrEnemyHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            f = t.get("nAverageMMR") || "2000",
            g = parseInt(t.get("nGameMode") || "22");
          const _ = () => {
              const t = {
                nHeroID: r,
                nFacet: l,
                nPosition: o,
                arrAlliedHeroIDs: s,
                arrAlliedHeroFacets: d,
                arrEnemyHeroIDs: E,
                arrEnemyHeroFacets: y,
                nAverageMMR: parseInt(f),
                nGameMode: g,
              };
              a.push(p.J.dotaplustester(e.strFeature, F(t)));
            },
            N = (0, i.Iu)(r, l, o, s, d, E, y, parseInt(f), g, !0).data,
            k = (0, i.Iu)(r, l, o, s, d, E, y, parseInt(f), g, !1).data;
          let I = [];
          if (
            N &&
            k &&
            N.backend_response.outputs.length > 0 &&
            k.backend_response.outputs.length > 0
          )
            for (
              let e = 0;
              e <
              N.backend_response.outputs[0].categorical_crossentropy
                .value_sequence.length;
              e++
            ) {
              let t = {
                arrItemSequence:
                  N.backend_response.outputs[0].categorical_crossentropy
                    .value_sequence[e].value,
                fScore:
                  N.backend_response.outputs[0].categorical_crossentropy.weight[
                    e
                  ],
                fWinLossAdjust: 0,
                nSequenceID:
                  N.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ],
              };
              for (
                let a = 0;
                a <
                k.backend_response.outputs[0].categorical_crossentropy.value
                  .length;
                a++
              )
                if (
                  k.backend_response.outputs[0].categorical_crossentropy.value[
                    a
                  ] ==
                  N.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ]
                ) {
                  const n =
                    10 *
                    (N.backend_response.outputs[0].categorical_crossentropy
                      .weight[e] -
                      k.backend_response.outputs[0].categorical_crossentropy
                        .weight[a]);
                  (t.fScore += n), (t.fWinLossAdjust += n);
                }
              I.push(t);
            }
          I.sort((e, t) => t.fScore - e.fScore);
          const R = (e) => {
              (l = e), _();
            },
            D = (e, t) => {
              (s[e] = t), _();
            },
            b = (e, t) => {
              (d[e] = t), _();
            },
            C = (e, t) => {
              (E[e] = t), _();
            },
            M = (e, t) => {
              (y[e] = t), _();
            },
            O = (0, i.HJ)(),
            L = (0, i.wB)();
          if (!O.data || !L.data)
            return n.createElement(
              "div",
              { className: m().Loading },
              "Loading hero and item data...",
            );
          return n.createElement(
            "div",
            { className: m().DotaPlusTesterSubPage },
            n.createElement(
              "div",
              { className: m().Content },
              n.createElement(
                "div",
                { className: m().HeroList },
                n.createElement(
                  "div",
                  { className: m().YourHero },
                  n.createElement(S, {
                    strLabel: "Your Hero",
                    nHeroID: r,
                    nFacet: l,
                    fnSetSelectedHero: (e) => ((r = e), void _()),
                    fnSetSelectedFacet: (e) => R(e),
                  }),
                ),
                n.createElement(
                  "div",
                  { className: m().Allies },
                  n.createElement(S, {
                    strLabel: "Ally #1",
                    nHeroID: s[0],
                    nFacet: d[0],
                    fnSetSelectedHero: (e) => D(0, e),
                    fnSetSelectedFacet: (e) => b(0, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #2",
                    nHeroID: s[1],
                    nFacet: d[1],
                    fnSetSelectedHero: (e) => D(1, e),
                    fnSetSelectedFacet: (e) => b(1, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #3",
                    nHeroID: s[2],
                    nFacet: d[2],
                    fnSetSelectedHero: (e) => D(2, e),
                    fnSetSelectedFacet: (e) => b(2, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Ally #4",
                    nHeroID: s[3],
                    nFacet: d[3],
                    fnSetSelectedHero: (e) => D(3, e),
                    fnSetSelectedFacet: (e) => b(3, e),
                  }),
                ),
                n.createElement(
                  "div",
                  { className: m().Enemies },
                  n.createElement(S, {
                    strLabel: "Enemy #1",
                    nHeroID: E[0],
                    nFacet: y[0],
                    fnSetSelectedHero: (e) => C(0, e),
                    fnSetSelectedFacet: (e) => M(0, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #2",
                    nHeroID: E[1],
                    nFacet: y[1],
                    fnSetSelectedHero: (e) => C(1, e),
                    fnSetSelectedFacet: (e) => M(1, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #3",
                    nHeroID: E[2],
                    nFacet: y[2],
                    fnSetSelectedHero: (e) => C(2, e),
                    fnSetSelectedFacet: (e) => M(2, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #4",
                    nHeroID: E[3],
                    nFacet: y[3],
                    fnSetSelectedHero: (e) => C(3, e),
                    fnSetSelectedFacet: (e) => M(3, e),
                  }),
                  n.createElement(S, {
                    strLabel: "Enemy #5",
                    nHeroID: E[4],
                    nFacet: y[4],
                    fnSetSelectedHero: (e) => C(4, e),
                    fnSetSelectedFacet: (e) => M(4, e),
                  }),
                ),
              ),
              n.createElement("div", { className: m().Separator }),
              n.createElement(
                "div",
                { className: m().MiscInfo },
                n.createElement(A, {
                  nPosition: o,
                  fnSetPosition: (e) => {
                    (o = e), _();
                  },
                }),
                n.createElement(v, {
                  nGameMode: g,
                  fnSetGameMode: (e) => {
                    (g = e), _();
                  },
                }),
                n.createElement(T, {
                  strMMR: f,
                  fnSetMMR: (e) => {
                    (f = e), _();
                  },
                }),
              ),
              n.createElement("div", { className: m().Separator }),
              I.length > 0 &&
                n.createElement(
                  "div",
                  { className: m().Results },
                  I.map((e, t) =>
                    t >= 5
                      ? null
                      : n.createElement(
                          "div",
                          {
                            className: m().Result,
                            key: `InferenceResult_${t}`,
                          },
                          n.createElement(
                            "div",
                            { className: m().Weight },
                            n.createElement(
                              "div",
                              { className: m().Score },
                              `${(100 * e.fScore).toFixed(2)}%`,
                            ),
                            n.createElement(
                              c.he,
                              {
                                toolTipContent:
                                  "Amount score was adjusted by comparing winning and losing teams",
                                direction: "top",
                                strTooltipClassname: m().ToolTip,
                              },
                              n.createElement(
                                "div",
                                { className: m().ScoreAdjust },
                                `${e.fWinLossAdjust > 0 ? "+" : ""}${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                              ),
                            ),
                          ),
                          n.createElement(
                            "div",
                            { className: m().ItemList },
                            e.arrItemSequence.map((e, a) =>
                              n.createElement(h, {
                                nItemID: e,
                                key: `InferenceReuslt_${t}_Item_${a}`,
                              }),
                            ),
                          ),
                        ),
                  ),
                ),
            ),
          );
        },
        L = (e) => {
          const t = new URLSearchParams(e.strConfig),
            a = (0, u.W6)();
          let r = parseInt(t.get("nHeroID") || "0"),
            o = parseInt(t.get("nFacet") || "0"),
            s = parseInt(t.get("nPosition") || "0"),
            d = (t.get("arrAlliedHeroIDs") || "0,0,0,0").split(",").map(Number),
            E = (t.get("arrAlliedHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            y = (t.get("arrEnemyHeroIDs") || "0,0,0,0").split(",").map(Number),
            f = (t.get("arrEnemyHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            _ = t.get("nAverageMMR") || "2000",
            N = parseInt(t.get("nGameMode") || "22"),
            I = (t.get("arrPurchasedItems") || "0,0,0,0,0,0,0,0,0,0")
              .split(",")
              .map(Number),
            R = (t.get("arrLikedItems") || "0,0").split(",").map(Number),
            D = (t.get("arrDislikedItems") || "0,0").split(",").map(Number);
          const [b, C] = n.useState(10),
            [M, O] = n.useState(3),
            [L, w] = n.useState(!1),
            [P, H] = n.useState(50),
            G = () => {
              const t = F({
                nHeroID: r,
                nFacet: o,
                nPosition: s,
                arrAlliedHeroIDs: d,
                arrAlliedHeroFacets: E,
                arrEnemyHeroIDs: y,
                arrEnemyHeroFacets: f,
                nAverageMMR: parseInt(_),
                nGameMode: N,
                arrLikedItems: R,
                arrDislikedItems: D,
                arrPurchasedItems: I,
              });
              e.strConfig != t && a.push(p.J.dotaplustester(e.strFeature, t));
            },
            $ = (0, i.PO)(r, o, s, d, E, y, f, parseInt(_), N, !0, I).data,
            U = (0, i.PO)(r, o, s, d, E, y, f, parseInt(_), N, !1, I).data;
          let B = [];
          if (
            $ &&
            U &&
            $.backend_response.outputs.length > 0 &&
            U.backend_response.outputs.length > 0
          )
            for (
              let e = 0;
              e <
              $.backend_response.outputs[0].categorical_crossentropy
                .value_sequence.length;
              e++
            ) {
              let t = {
                arrItemSequence:
                  $.backend_response.outputs[0].categorical_crossentropy
                    .value_sequence[e].value,
                fScore:
                  $.backend_response.outputs[0].categorical_crossentropy.weight[
                    e
                  ],
                fWinLossAdjust: 0,
                nSequenceID:
                  $.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ],
              };
              for (
                let a = 0;
                a <
                U.backend_response.outputs[0].categorical_crossentropy.value
                  .length;
                a++
              )
                if (
                  U.backend_response.outputs[0].categorical_crossentropy.value[
                    a
                  ] ==
                  $.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ]
                ) {
                  const n =
                    10 *
                    ($.backend_response.outputs[0].categorical_crossentropy
                      .weight[e] -
                      U.backend_response.outputs[0].categorical_crossentropy
                        .weight[a]);
                  (t.fScore = Math.max(0, t.fScore + n + 0.01)),
                    (t.fWinLossAdjust += n);
                }
              B.push(t);
            }
          for (let e of B)
            0 != D[0] &&
              e.arrItemSequence.includes(D[0]) &&
              (e.fScore = Math.pow(e.fScore, 3)),
              0 != D[1] &&
                e.arrItemSequence.includes(D[1]) &&
                (e.fScore = Math.pow(e.fScore, 3));
          for (let e of B)
            0 != R[0] &&
              e.arrItemSequence.includes(R[0]) &&
              (e.fScore = Math.pow(e.fScore, 1 / 3)),
              0 != R[1] &&
                e.arrItemSequence.includes(R[1]) &&
                (e.fScore = Math.pow(e.fScore, 1 / 3));
          B.sort((e, t) => t.fScore - e.fScore);
          let x = structuredClone(B);
          if (B.length > 0)
            if (L) {
              let e = [],
                t = [];
              for (; e.length < M; ) {
                let a = [];
                for (let e = 0; e < 10; e++) a.push(new Map());
                for (const t of e)
                  for (let e = 0; e < t.arrItemSequence.length; e++) {
                    const n = t.arrItemSequence[e];
                    0 != n && a[e].set(n, (a[e].get(n) || 0) + 1);
                  }
                let n = structuredClone(B);
                for (let e of n) {
                  if (t.includes(e.nSequenceID)) {
                    e.fScore = 0;
                    continue;
                  }
                  let n = 1;
                  for (let t = 0; t < e.arrItemSequence.length; t++) {
                    const r = e.arrItemSequence[t];
                    0 != r &&
                      r != R[0] &&
                      r != R[1] &&
                      (n *= Math.pow(P / 100, a[t].get(r) || 0));
                  }
                  (e.fScore *= n), (e.fWinLossAdjust = n);
                }
                n.sort((e, t) => t.fScore - e.fScore),
                  e.push(structuredClone(n[0])),
                  t.push(n[0].nSequenceID);
              }
              x = e;
            } else {
              let e = [],
                t = [];
              for (; e.length < M; ) {
                let a = new Map();
                for (const t of e)
                  for (const e of t.arrItemSequence)
                    0 != e && a.set(e, (a.get(e) || 0) + 1);
                let n = structuredClone(B);
                for (let e of n) {
                  if (t.includes(e.nSequenceID)) {
                    e.fScore = 0;
                    continue;
                  }
                  let n = 1;
                  for (const t of e.arrItemSequence)
                    0 != t &&
                      t != R[0] &&
                      t != R[1] &&
                      (n *= Math.pow(P / 100, a.get(t) || 0));
                  (e.fScore *= n), (e.fWinLossAdjust = n);
                }
                n.sort((e, t) => t.fScore - e.fScore),
                  e.push(structuredClone(n[0])),
                  t.push(n[0].nSequenceID);
              }
              x = e;
            }
          x.sort((e, t) => t.fScore - e.fScore);
          const K = (e) => {
              (o = e), G();
            },
            W = (e, t) => {
              (d[e] = t), G();
            },
            Y = (e, t) => {
              (E[e] = t), G();
            },
            j = (e, t) => {
              (y[e] = t), G();
            },
            V = (e, t) => {
              (f[e] = t), G();
            },
            q = (e, t) => {
              (D[e] = t), G();
            },
            J = (e, t) => {
              (R[e] = t), G();
            },
            X = (0, i.HJ)(),
            z = (0, i.wB)();
          return X.data && z.data
            ? n.createElement(
                "div",
                { className: m().DotaPlusTesterSubPage },
                n.createElement(
                  "div",
                  { className: m().Content },
                  n.createElement(
                    "div",
                    { className: m().HeroList },
                    n.createElement(
                      "div",
                      { className: m().YourHero },
                      n.createElement(S, {
                        strLabel: "Your Hero",
                        nHeroID: r,
                        nFacet: o,
                        fnSetSelectedHero: (e) => ((r = e), void G()),
                        fnSetSelectedFacet: (e) => K(e),
                      }),
                    ),
                    n.createElement(
                      "div",
                      { className: m().Allies },
                      n.createElement(S, {
                        strLabel: "Ally #1",
                        nHeroID: d[0],
                        nFacet: E[0],
                        fnSetSelectedHero: (e) => W(0, e),
                        fnSetSelectedFacet: (e) => Y(0, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #2",
                        nHeroID: d[1],
                        nFacet: E[1],
                        fnSetSelectedHero: (e) => W(1, e),
                        fnSetSelectedFacet: (e) => Y(1, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #3",
                        nHeroID: d[2],
                        nFacet: E[2],
                        fnSetSelectedHero: (e) => W(2, e),
                        fnSetSelectedFacet: (e) => Y(2, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #4",
                        nHeroID: d[3],
                        nFacet: E[3],
                        fnSetSelectedHero: (e) => W(3, e),
                        fnSetSelectedFacet: (e) => Y(3, e),
                      }),
                    ),
                    n.createElement(
                      "div",
                      { className: m().Enemies },
                      n.createElement(S, {
                        strLabel: "Enemy #1",
                        nHeroID: y[0],
                        nFacet: f[0],
                        fnSetSelectedHero: (e) => j(0, e),
                        fnSetSelectedFacet: (e) => V(0, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #2",
                        nHeroID: y[1],
                        nFacet: f[1],
                        fnSetSelectedHero: (e) => j(1, e),
                        fnSetSelectedFacet: (e) => V(1, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #3",
                        nHeroID: y[2],
                        nFacet: f[2],
                        fnSetSelectedHero: (e) => j(2, e),
                        fnSetSelectedFacet: (e) => V(2, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #4",
                        nHeroID: y[3],
                        nFacet: f[3],
                        fnSetSelectedHero: (e) => j(3, e),
                        fnSetSelectedFacet: (e) => V(3, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #5",
                        nHeroID: y[4],
                        nFacet: f[4],
                        fnSetSelectedHero: (e) => j(4, e),
                        fnSetSelectedFacet: (e) => V(4, e),
                      }),
                    ),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().MiscInfo },
                    n.createElement(A, {
                      nPosition: s,
                      fnSetPosition: (e) => {
                        (s = e), G();
                      },
                    }),
                    n.createElement(v, {
                      nGameMode: N,
                      fnSetGameMode: (e) => {
                        (N = e), G();
                      },
                    }),
                    n.createElement(T, {
                      strMMR: _,
                      fnSetMMR: (e) => {
                        (_ = e), G();
                      },
                    }),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Disliked Items",
                    ),
                    n.createElement(k, {
                      nItemID: D[0],
                      fnSetSelectedItem: (e) => q(0, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                    n.createElement(k, {
                      nItemID: D[1],
                      fnSetSelectedItem: (e) => q(1, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                  ),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Liked Items",
                    ),
                    n.createElement(k, {
                      nItemID: R[0],
                      fnSetSelectedItem: (e) => J(0, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                    n.createElement(k, {
                      nItemID: R[1],
                      fnSetSelectedItem: (e) => J(1, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                  ),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Purchased Items",
                    ),
                    (0, g.bu)(0, 9).map((e) =>
                      n.createElement(k, {
                        key: `PurchasedItem_${e}`,
                        nItemID: I[e],
                        fnSetSelectedItem: (t) => {
                          return (a = t), (I[e] = a), void G();
                          var a;
                        },
                        bShowName: !1,
                        bAllowEmpty: !0,
                        bFilterLategame: !1,
                      }),
                    ),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().ResultHeader },
                    "Top Variants",
                  ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().VariantTypes },
                      n.createElement(
                        c.he,
                        {
                          toolTipContent: "Avoid repeated items in any order",
                          direction: "top",
                          strTooltipClassname: m().ToolTip,
                        },
                        n.createElement(
                          "div",
                          {
                            className: (0, l.A)(
                              m().VariantType,
                              !L && m().Selected,
                            ),
                            onClick: () => w(!1),
                          },
                          "More Item Variety",
                        ),
                      ),
                      n.createElement(
                        c.he,
                        {
                          toolTipContent:
                            "Avoid repeated items in the same purchase slot",
                          direction: "top",
                          strTooltipClassname: m().ToolTip,
                        },
                        n.createElement(
                          "div",
                          {
                            className: (0, l.A)(
                              m().VariantType,
                              L && m().Selected,
                            ),
                            onClick: () => w(!0),
                          },
                          "More Order Variety",
                        ),
                      ),
                    ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().PenaltySelector },
                      n.createElement(
                        c.he,
                        {
                          toolTipContent:
                            "Multiplier penalty for repeat items to try to create variation (lower percentages are harsher penalties)",
                          direction: "top",
                          strTooltipClassname: m().ToolTip,
                        },
                        "Repeat Penalty Multiplier",
                      ),
                      n.createElement(
                        "select",
                        {
                          className: m().PenaltyDropdown,
                          value: P,
                          onChange: (e) => H(parseInt(e.target.value)),
                        },
                        n.createElement(
                          "option",
                          { key: 90, value: 90 },
                          "90%",
                        ),
                        n.createElement(
                          "option",
                          { key: 80, value: 80 },
                          "80%",
                        ),
                        n.createElement(
                          "option",
                          { key: 70, value: 70 },
                          "70%",
                        ),
                        n.createElement(
                          "option",
                          { key: 60, value: 60 },
                          "60%",
                        ),
                        n.createElement(
                          "option",
                          { key: 50, value: 50 },
                          "50%",
                        ),
                        n.createElement(
                          "option",
                          { key: 40, value: 40 },
                          "40%",
                        ),
                        n.createElement(
                          "option",
                          { key: 30, value: 30 },
                          "30%",
                        ),
                      ),
                    ),
                  x.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().Results },
                      x.map((e, t) =>
                        t >= M
                          ? null
                          : n.createElement(
                              "div",
                              {
                                className: m().Result,
                                key: `InferenceResult_${t}`,
                              },
                              n.createElement(
                                "div",
                                { className: m().Weight },
                                n.createElement(
                                  "div",
                                  { className: m().Score },
                                  `${(100 * e.fScore).toFixed(2)}%`,
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().ScoreAdjust },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "Score multiplier due to repeated items",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    `${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                                  ),
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().SequenceID },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "The Sequence ID of this particular sequence of purchases",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    e.nSequenceID,
                                  ),
                                ),
                              ),
                              n.createElement(
                                "div",
                                { className: m().ItemList },
                                e.arrItemSequence.map((e, a) =>
                                  n.createElement(h, {
                                    nItemID: e,
                                    key: `InferenceReuslt_${t}_Item_${a}`,
                                  }),
                                ),
                              ),
                            ),
                      ),
                    ),
                  x.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().ShowMore, onClick: () => O(M + 3) },
                      "Show More",
                    ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().ResultHeader },
                    "Raw Results",
                  ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().Results },
                      B.map((e, t) =>
                        t >= b
                          ? null
                          : n.createElement(
                              "div",
                              {
                                className: m().Result,
                                key: `InferenceResult_${t}`,
                              },
                              n.createElement(
                                "div",
                                { className: m().Weight },
                                n.createElement(
                                  "div",
                                  { className: m().Score },
                                  `${(100 * e.fScore).toFixed(2)}%`,
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().ScoreAdjust },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "Amount score was adjusted by comparing winning and losing teams",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    `${e.fWinLossAdjust > 0 ? "+" : ""}${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                                  ),
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().SequenceID },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "The Sequence ID of this particular sequence of purchases",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    e.nSequenceID,
                                  ),
                                ),
                              ),
                              n.createElement(
                                "div",
                                { className: m().ItemList },
                                e.arrItemSequence.map((e, a) =>
                                  n.createElement(h, {
                                    nItemID: e,
                                    key: `InferenceReuslt_${t}_Item_${a}`,
                                  }),
                                ),
                              ),
                            ),
                      ),
                    ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().ShowMore, onClick: () => C(b + 10) },
                      "Show More",
                    ),
                ),
              )
            : n.createElement(
                "div",
                { className: m().Loading },
                "Loading hero and item data...",
              );
        },
        w = (e) => {
          const t = new URLSearchParams(e.strConfig),
            a = (0, u.W6)();
          let r = parseInt(t.get("nHeroID") || "0"),
            l = parseInt(t.get("nFacet") || "0"),
            o = parseInt(t.get("nPosition") || "0"),
            s = (t.get("arrAlliedHeroIDs") || "0,0,0,0").split(",").map(Number),
            d = (t.get("arrAlliedHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            E = (t.get("arrEnemyHeroIDs") || "0,0,0,0").split(",").map(Number),
            y = (t.get("arrEnemyHeroFacets") || "0,0,0,0")
              .split(",")
              .map(Number),
            f = t.get("nAverageMMR") || "2000",
            _ = parseInt(t.get("nGameMode") || "22"),
            N = (t.get("arrPurchasedItems") || "0,0,0,0,0,0,0,0,0,0")
              .split(",")
              .map(Number),
            I = (t.get("arrLikedItems") || "0,0").split(",").map(Number),
            R = (t.get("arrDislikedItems") || "0,0").split(",").map(Number);
          const [D, b] = n.useState(10),
            [C, M] = n.useState(3),
            [O, L] = n.useState(3),
            w = () => {
              const t = F({
                nHeroID: r,
                nFacet: l,
                nPosition: o,
                arrAlliedHeroIDs: s,
                arrAlliedHeroFacets: d,
                arrEnemyHeroIDs: E,
                arrEnemyHeroFacets: y,
                nAverageMMR: parseInt(f),
                nGameMode: _,
                arrLikedItems: I,
                arrDislikedItems: R,
                arrPurchasedItems: N,
              });
              e.strConfig != t && a.push(p.J.dotaplustester(e.strFeature, t));
            },
            P = (0, i.oF)(r, l, o, s, d, E, y, parseInt(f), _, !0, N).data,
            H = (0, i.oF)(r, l, o, s, d, E, y, parseInt(f), _, !1, N).data;
          let G = [];
          if (
            P &&
            H &&
            P.backend_response.outputs.length > 0 &&
            H.backend_response.outputs.length > 0
          )
            for (
              let e = 0;
              e <
              P.backend_response.outputs[0].categorical_crossentropy
                .value_sequence.length;
              e++
            ) {
              let t = {
                arrItemSequence:
                  P.backend_response.outputs[0].categorical_crossentropy
                    .value_sequence[e].value,
                fScore:
                  P.backend_response.outputs[0].categorical_crossentropy.weight[
                    e
                  ],
                fWinLossAdjust: 0,
                nSequenceID:
                  P.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ],
              };
              for (
                let a = 0;
                a <
                H.backend_response.outputs[0].categorical_crossentropy.value
                  .length;
                a++
              )
                if (
                  H.backend_response.outputs[0].categorical_crossentropy.value[
                    a
                  ] ==
                  P.backend_response.outputs[0].categorical_crossentropy.value[
                    e
                  ]
                ) {
                  const n =
                    10 *
                    (P.backend_response.outputs[0].categorical_crossentropy
                      .weight[e] -
                      H.backend_response.outputs[0].categorical_crossentropy
                        .weight[a]);
                  (t.fScore = Math.max(0, t.fScore + n + 0.01)),
                    (t.fWinLossAdjust += n);
                }
              G.push(t);
            }
          for (let e of G)
            0 != R[0] &&
              e.arrItemSequence.includes(R[0]) &&
              (e.fScore = Math.pow(e.fScore, 3)),
              0 != R[1] &&
                e.arrItemSequence.includes(R[1]) &&
                (e.fScore = Math.pow(e.fScore, 3));
          for (let e of G)
            0 != I[0] &&
              e.arrItemSequence.includes(I[0]) &&
              (e.fScore = Math.pow(e.fScore, 1 / 3)),
              0 != I[1] &&
                e.arrItemSequence.includes(I[1]) &&
                (e.fScore = Math.pow(e.fScore, 1 / 3));
          G.sort((e, t) => t.fScore - e.fScore);
          for (let e of G)
            e.arrItemSequence = e.arrItemSequence.filter((e) => 0 != e);
          const $ = (0, i.HJ)(),
            U = (0, i.wB)();
          let B = [];
          if (G.length > 0 && (B.push(G[0]), $.data)) {
            let e = new Map();
            for (const t of B[0].arrItemSequence) e.set(t, 1);
            for (let t = 1; t < G.length; t++) {
              let a = 0;
              for (const n of G[t].arrItemSequence)
                $.data.itemabilities.find((e) => e.id == n)
                  ?.is_lategame_suggested &&
                  (e.has(n) || a++);
              if (a >= O) {
                B.push(G[t]);
                for (const a of G[t].arrItemSequence)
                  e.set(a, (e.get(a) || 0) + 1);
                if (B.length >= C) break;
              }
            }
          }
          const x = (e) => {
              (l = e), w();
            },
            K = (e, t) => {
              (s[e] = t), w();
            },
            W = (e, t) => {
              (d[e] = t), w();
            },
            Y = (e, t) => {
              (E[e] = t), w();
            },
            j = (e, t) => {
              (y[e] = t), w();
            },
            V = (e, t) => {
              (R[e] = t), w();
            },
            q = (e, t) => {
              (I[e] = t), w();
            };
          return $.data && U.data
            ? n.createElement(
                "div",
                { className: m().DotaPlusTesterSubPage },
                n.createElement(
                  "div",
                  { className: m().Content },
                  n.createElement(
                    "div",
                    { className: m().HeroList },
                    n.createElement(
                      "div",
                      { className: m().YourHero },
                      n.createElement(S, {
                        strLabel: "Your Hero",
                        nHeroID: r,
                        nFacet: l,
                        fnSetSelectedHero: (e) => ((r = e), void w()),
                        fnSetSelectedFacet: (e) => x(e),
                      }),
                    ),
                    n.createElement(
                      "div",
                      { className: m().Allies },
                      n.createElement(S, {
                        strLabel: "Ally #1",
                        nHeroID: s[0],
                        nFacet: d[0],
                        fnSetSelectedHero: (e) => K(0, e),
                        fnSetSelectedFacet: (e) => W(0, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #2",
                        nHeroID: s[1],
                        nFacet: d[1],
                        fnSetSelectedHero: (e) => K(1, e),
                        fnSetSelectedFacet: (e) => W(1, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #3",
                        nHeroID: s[2],
                        nFacet: d[2],
                        fnSetSelectedHero: (e) => K(2, e),
                        fnSetSelectedFacet: (e) => W(2, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Ally #4",
                        nHeroID: s[3],
                        nFacet: d[3],
                        fnSetSelectedHero: (e) => K(3, e),
                        fnSetSelectedFacet: (e) => W(3, e),
                      }),
                    ),
                    n.createElement(
                      "div",
                      { className: m().Enemies },
                      n.createElement(S, {
                        strLabel: "Enemy #1",
                        nHeroID: E[0],
                        nFacet: y[0],
                        fnSetSelectedHero: (e) => Y(0, e),
                        fnSetSelectedFacet: (e) => j(0, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #2",
                        nHeroID: E[1],
                        nFacet: y[1],
                        fnSetSelectedHero: (e) => Y(1, e),
                        fnSetSelectedFacet: (e) => j(1, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #3",
                        nHeroID: E[2],
                        nFacet: y[2],
                        fnSetSelectedHero: (e) => Y(2, e),
                        fnSetSelectedFacet: (e) => j(2, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #4",
                        nHeroID: E[3],
                        nFacet: y[3],
                        fnSetSelectedHero: (e) => Y(3, e),
                        fnSetSelectedFacet: (e) => j(3, e),
                      }),
                      n.createElement(S, {
                        strLabel: "Enemy #5",
                        nHeroID: E[4],
                        nFacet: y[4],
                        fnSetSelectedHero: (e) => Y(4, e),
                        fnSetSelectedFacet: (e) => j(4, e),
                      }),
                    ),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().MiscInfo },
                    n.createElement(A, {
                      nPosition: o,
                      fnSetPosition: (e) => {
                        (o = e), w();
                      },
                    }),
                    n.createElement(v, {
                      nGameMode: _,
                      fnSetGameMode: (e) => {
                        (_ = e), w();
                      },
                    }),
                    n.createElement(T, {
                      strMMR: f,
                      fnSetMMR: (e) => {
                        (f = e), w();
                      },
                    }),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Disliked Items",
                    ),
                    n.createElement(k, {
                      nItemID: R[0],
                      fnSetSelectedItem: (e) => V(0, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                    n.createElement(k, {
                      nItemID: R[1],
                      fnSetSelectedItem: (e) => V(1, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                  ),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Liked Items",
                    ),
                    n.createElement(k, {
                      nItemID: I[0],
                      fnSetSelectedItem: (e) => q(0, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                    n.createElement(k, {
                      nItemID: I[1],
                      fnSetSelectedItem: (e) => q(1, e),
                      bShowName: !1,
                      bAllowEmpty: !0,
                      bFilterLategame: !0,
                    }),
                  ),
                  n.createElement(
                    "div",
                    { className: m().IncludExcludeItemOption },
                    n.createElement(
                      "div",
                      { className: m().ItemOptionTitle },
                      "Purchased Items",
                    ),
                    (0, g.bu)(0, 9).map((e) =>
                      n.createElement(k, {
                        key: `PurchasedItem_${e}`,
                        nItemID: N[e],
                        fnSetSelectedItem: (t) => {
                          return (a = t), (N[e] = a), void w();
                          var a;
                        },
                        bShowName: !1,
                        bAllowEmpty: !0,
                        bFilterLategame: !1,
                      }),
                    ),
                  ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().ResultHeader },
                    "Top Variants",
                  ),
                  G.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().PenaltySelector },
                      n.createElement(
                        c.he,
                        {
                          toolTipContent:
                            "Number of new late-game items in variants",
                          direction: "top",
                          strTooltipClassname: m().ToolTip,
                        },
                        "Num New Items",
                      ),
                      n.createElement(
                        "select",
                        {
                          className: m().PenaltyDropdown,
                          value: O,
                          onChange: (e) => L(parseInt(e.target.value)),
                        },
                        n.createElement("option", { key: 1, value: 1 }, "1"),
                        n.createElement("option", { key: 2, value: 2 }, "2"),
                        n.createElement("option", { key: 3, value: 3 }, "3"),
                        n.createElement("option", { key: 4, value: 4 }, "4"),
                      ),
                    ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().Results },
                      B.map((e, t) =>
                        t >= C
                          ? null
                          : n.createElement(
                              "div",
                              {
                                className: m().Result,
                                key: `InferenceResult_${t}`,
                              },
                              n.createElement(
                                "div",
                                { className: m().Weight },
                                n.createElement(
                                  "div",
                                  { className: m().Score },
                                  `${(100 * e.fScore).toFixed(2)}%`,
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().ScoreAdjust },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "Score multiplier due to repeated items",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    `${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                                  ),
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().SequenceID },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "The Sequence ID of this particular sequence of purchases",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    e.nSequenceID,
                                  ),
                                ),
                              ),
                              n.createElement(
                                "div",
                                { className: m().ItemList },
                                e.arrItemSequence.map((e, a) =>
                                  n.createElement(h, {
                                    nItemID: e,
                                    key: `InferenceReuslt_${t}_Item_${a}`,
                                  }),
                                ),
                              ),
                            ),
                      ),
                    ),
                  B.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().ShowMore, onClick: () => M(C + 3) },
                      "Show More",
                    ),
                  n.createElement("div", { className: m().Separator }),
                  n.createElement(
                    "div",
                    { className: m().ResultHeader },
                    "Raw Results",
                  ),
                  G.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().Results },
                      G.map((e, t) =>
                        t >= D
                          ? null
                          : n.createElement(
                              "div",
                              {
                                className: m().Result,
                                key: `InferenceResult_${t}`,
                              },
                              n.createElement(
                                "div",
                                { className: m().Weight },
                                n.createElement(
                                  "div",
                                  { className: m().Score },
                                  `${(100 * e.fScore).toFixed(2)}%`,
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().ScoreAdjust },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "Amount score was adjusted by comparing winning and losing teams",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    `${e.fWinLossAdjust > 0 ? "+" : ""}${(100 * e.fWinLossAdjust).toFixed(2)}%`,
                                  ),
                                ),
                                n.createElement(
                                  "div",
                                  { className: m().SequenceID },
                                  n.createElement(
                                    c.he,
                                    {
                                      toolTipContent:
                                        "The Sequence ID of this particular sequence of purchases",
                                      direction: "top",
                                      strTooltipClassname: m().ToolTip,
                                    },
                                    e.nSequenceID,
                                  ),
                                ),
                              ),
                              n.createElement(
                                "div",
                                { className: m().ItemList },
                                e.arrItemSequence.map((e, a) =>
                                  n.createElement(h, {
                                    nItemID: e,
                                    key: `InferenceReuslt_${t}_Item_${a}`,
                                  }),
                                ),
                              ),
                            ),
                      ),
                    ),
                  G.length > 0 &&
                    n.createElement(
                      "div",
                      { className: m().ShowMore, onClick: () => b(D + 10) },
                      "Show More",
                    ),
                ),
              )
            : n.createElement(
                "div",
                { className: m().Loading },
                "Loading hero and item data...",
              );
        },
        P = () => {
          const e = (0, u.W6)(),
            t = (0, u.g)();
          let a;
          switch (t.strFeature) {
            case R:
              a = n.createElement(M, {
                strFeature: t.strFeature,
                strConfig: t.strConfig,
              });
              break;
            case D:
              a = n.createElement(O, {
                strFeature: t.strFeature,
                strConfig: t.strConfig,
              });
              break;
            case b:
              a = n.createElement(L, {
                strFeature: t.strFeature,
                strConfig: t.strConfig,
              });
              break;
            case C:
              a = n.createElement(w, {
                strFeature: t.strFeature,
                strConfig: t.strConfig,
              });
          }
          if (null == a)
            return n.createElement(u.rd, { to: p.J.dotaplustester(R) });
          const r = (a) => {
            e.push(p.J.dotaplustester(a, t.strConfig));
          };
          return n.createElement(
            "div",
            { className: m().DotaPlusTesterPage },
            n.createElement(o.A, { bOverlapping: !1 }),
            n.createElement(
              "div",
              { className: m().SelectionHeader },
              n.createElement(
                "div",
                {
                  className: (0, l.A)(
                    m().Option,
                    t.strFeature == R && m().Selected,
                  ),
                  onClick: () => r(R),
                },
                "Pregame Items",
              ),
              n.createElement(
                "div",
                {
                  className: (0, l.A)(
                    m().Option,
                    t.strFeature == D && m().Selected,
                  ),
                  onClick: () => r(D),
                },
                "Early Game Items",
              ),
              n.createElement(
                "div",
                {
                  className: (0, l.A)(
                    m().Option,
                    t.strFeature == b && m().Selected,
                  ),
                  onClick: () => r(b),
                },
                "Late Game Items",
              ),
              n.createElement(
                "div",
                {
                  className: (0, l.A)(
                    m().Option,
                    t.strFeature == C && m().Selected,
                  ),
                  onClick: () => r(C),
                },
                "Main Game Items",
              ),
            ),
            a,
          );
        };
    },
    54302: (e, t, a) => {
      "use strict";
      a.r(t), a.d(t, { default: () => fe });
      var n = a(75749),
        r = a.n(n),
        l = a(88351),
        o = a(7552),
        c = a(83640),
        s = a(73681),
        m = a.n(s),
        i = a(57225),
        d = a(94434),
        u = a(33143),
        p = a(81404),
        E = a(26195),
        y = a(20196),
        f = a(56529),
        g = a(42643),
        _ = a(92513),
        S = a(89506),
        h = a(21384),
        N = a(47202),
        k = a(36305),
        A = a(55651),
        I = a(33706),
        v = a(89145),
        T = a(94610);
      function F(e) {
        return 570 === e ? "public" : "beta";
      }
      function R(e) {
        switch (e) {
          case v.Fk.DOTA_GAMEMODE_NONE:
            return "-";
          case v.Fk.DOTA_GAMEMODE_AP:
            return "AP";
          case v.Fk.DOTA_GAMEMODE_CM:
            return "CM";
          case v.Fk.DOTA_GAMEMODE_RD:
            return "RD";
          case v.Fk.DOTA_GAMEMODE_SD:
            return "SD";
          case v.Fk.DOTA_GAMEMODE_AR:
            return "AR";
          case v.Fk.DOTA_GAMEMODE_INTRO:
            return "INTRO";
          case v.Fk.DOTA_GAMEMODE_HW:
            return "OCT31";
          case v.Fk.DOTA_GAMEMODE_REVERSE_CM:
            return "Rev CM";
          case v.Fk.DOTA_GAMEMODE_XMAS:
            return "XMAS";
          case v.Fk.DOTA_GAMEMODE_TUTORIAL:
            return "Tutorial";
          case v.Fk.DOTA_GAMEMODE_MO:
            return "MID";
          case v.Fk.DOTA_GAMEMODE_LP:
            return "LP";
          case v.Fk.DOTA_GAMEMODE_POOL1:
            return "Pool1";
          case v.Fk.DOTA_GAMEMODE_FH:
            return "FH";
          case v.Fk.DOTA_GAMEMODE_CUSTOM:
            return "CUSTOM";
          case v.Fk.DOTA_GAMEMODE_CD:
            return "CD";
          case v.Fk.DOTA_GAMEMODE_BD:
            return "BD";
          case v.Fk.DOTA_GAMEMODE_ABILITY_DRAFT:
            return "AD";
          case v.Fk.DOTA_GAMEMODE_EVENT:
            return "EVENT";
          case v.Fk.DOTA_GAMEMODE_ARDM:
            return "ARDM";
          case v.Fk.DOTA_GAMEMODE_1V1MID:
            return "1v1";
          case v.Fk.DOTA_GAMEMODE_ALL_DRAFT:
            return "AP";
          case v.Fk.DOTA_GAMEMODE_TURBO:
            return "TURBO";
          case v.Fk.DOTA_GAMEMODE_MUTATION:
            return "MUT";
          case v.Fk.DOTA_GAMEMODE_COACHES_CHALLENGE:
            return "COACH";
          default:
            return "Unknown";
        }
      }
      function D(e) {
        switch (e) {
          case v.AP.CASUAL_MATCH:
            return "Unranked";
          case v.AP.PRACTICE:
            return "Practice";
          case v.AP.COOP_BOT_MATCH:
            return "Co-op Bot";
          case v.AP.COMPETITIVE_MATCH:
            return "Ranked";
          case v.AP.WEEKEND_TOURNEY:
            return "Battle Cup";
          case v.AP.LOCAL_BOT_MATCH:
            return "Local Bot";
          case v.AP.SPECTATOR:
            return "Spectator";
          case v.AP.EVENT_MATCH:
            return "Event";
          case v.AP.NEW_PLAYER_POOL:
            return "New Player Pool";
          case v.AP.FEATURED_GAMEMODE:
            return "Featured Gamemode";
          default:
            return "";
        }
      }
      function b(e) {
        switch (e) {
          case v.rM.RADIANT_VICTORY:
            return "Radiant Victory";
          case v.rM.DIRE_VICTORY:
            return "Dire Victory";
          case v.rM.NOTSCORED_POOR_NETWORK:
            return "Net";
          case v.rM.NOTSCORED_LEAVER:
            return "Lvr";
          case v.rM.NOTSCORED_SERVER_CRASH:
            return "Crsh";
          case v.rM.NOTSCORED_NEVER_STARTED:
            return "No start";
          case v.rM.NOTSCORED_CANCELED:
            return "Cancel";
          case v.rM.NOTSCORED_SUSPICIOUS:
            return "Suspicious";
          default:
            return "-";
        }
      }
      function C(e) {
        switch (e) {
          case v.GR.RANK_ELIGIBLE:
            return "Rank Eligible";
          case v.GR.BATTLECUP:
            return "Battlecup";
          case v.GR.BAN_WARNING:
            return "Ban Warning";
          case v.GR.RETURNING_PLAYER:
            return "Returning Player";
          case v.GR.COMMS_DISRUPTIVE:
            return "Comms Disruptive";
          default:
            return "Unknown";
        }
      }
      function M(e) {
        switch (e) {
          case v.V7.VERY_LIKELY:
            return "Very Likely";
          case v.V7.SOMEWHAT_LIKELY:
            return "Somewhat Likely";
          case v.V7.UNCLEAR:
            return "Unclear";
          case v.V7.SOMEWHAT_UNLIKELY:
            return "Somewhat Unlikely";
          case v.V7.VERY_UNLIKELY:
            return "Very Unlikely";
          default:
            return "Unknown";
        }
      }
      function O(e) {
        switch (e) {
          case v.TK.DOTA_ACCESS_TOURNAMENT_ADMIN:
            return "Tournament Admin";
          case v.TK.DOTA_ACCESS_TOURNAMENT_BROADCASTER:
            return "Tournament Broadcaster";
          default:
            return "Unknown";
        }
      }
      function L(e) {
        switch (e) {
          case v.Ov.CORE:
            return "Core";
          case v.Ov.SUPPORT:
            return "Support";
          case v.Ov.OFFLANE:
            return "Offlane";
          case v.Ov.MID:
            return "Mid";
          default:
            return "Unknown";
        }
      }
      var w = a(92225),
        P = a(40753),
        H = a.n(P);
      const G = "red",
        $ = "orange",
        U = "goldenrod",
        B = "#adff2f",
        x = "darkgray",
        K = "forestgreen",
        W = "crimson",
        Y = "#fa002e",
        j = "#82ca9d",
        V = "#888fd8",
        q = "#3389ae",
        J = "#FFBB28",
        X = "#FF8042",
        z = (e) => {
          let t = "";
          const a = `${S.r.CDN_URL}/apps/dota2/images/`;
          return (
            2 == e && (t = `${a}player_reports/button_report_text_on.png`),
            3 == e && (t = `${a}player_reports/button_report_voice_on.png`),
            4 == e && (t = `${a}player_reports/smurf_icon.png`),
            5 == e && (t = `${a}player_reports/disruptive_icon.png`),
            6 == e && (t = `${a}player_reports/cheating_icon.png`),
            7 == e &&
              (t = `${a}player_reports/button_report_pre_game_role.png`),
            t
          );
        },
        Q = (e) => {
          let t = "";
          return (
            2 == e && (t = "Text abuse"),
            3 == e && (t = "Voice abuse"),
            4 == e && (t = "Smurfing"),
            5 == e && (t = "Griefing"),
            6 == e && (t = "Cheating"),
            7 == e && (t = "Did not play role"),
            t
          );
        },
        Z = [
          { key: "accountid", displayName: "Account ID" },
          {
            key: "guilds",
            secondaryKey: "dotaguildurl",
            displayName: "Guild",
            formatFunction: (e = {}, t = "") => {
              const a = `${t}${e?.guild?.guild_id}`,
                n = e?.guild?.guild_name || "";
              return n && t
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: a, target: "_blank", rel: "noopener" },
                      n,
                    ),
                  )
                : o.createElement("span", { style: { color: x } }, "No Guild");
            },
          },
        ],
        ee = [
          {
            key: "comprank",
            secondaryKey: "comprankuncertainty",
            tertiaryKey: "compranktier",
            displayName: "Ranked",
            formatFunction: (e, t, a = 0) =>
              o.createElement(
                o.Fragment,
                null,
                o.createElement("span", { className: H().RankNumber }, `${e}`),
                o.createElement(
                  "span",
                  { className: H().RankedUncertainty },
                  `+/- ${t}`,
                  o.createElement("img", {
                    className: H().RankedBadgeIcon,
                    src: `${S.r.CDN_URL}/apps/dota2/images/small_ranks/ranked_icons_emoticon_${Math.floor(a / 10)}.png`,
                  }),
                ),
              ),
          },
          {
            key: "rank",
            secondaryKey: "rankuncertainty",
            displayName: "Unranked",
            formatFunction: (e, t) =>
              o.createElement(
                o.Fragment,
                null,
                o.createElement("span", { className: H().RankNumber }, `${e}`),
                o.createElement("span", null, `+/- ${t}`),
              ),
          },
        ],
        te = [
          {
            key: "accountflags",
            displayName: "Account Flags",
            formatFunction: (e) => {
              const t = "; ";
              let a = [];
              return (
                0 == e && a.push("None"),
                (e & v.GR.RANK_ELIGIBLE) > 0 &&
                  a.push(`${C(v.GR.RANK_ELIGIBLE)}${t}`),
                (e & v.GR.BATTLECUP) > 0 && a.push(`${C(v.GR.BATTLECUP)}${t}`),
                (e & v.GR.BAN_WARNING) > 0 &&
                  a.push(
                    o.createElement(
                      "span",
                      { style: { color: G } },
                      `${C(v.GR.BAN_WARNING)}${t}`,
                    ),
                  ),
                (e & v.GR.RETURNING_PLAYER) > 0 &&
                  a.push(
                    o.createElement(
                      "span",
                      { style: { color: U } },
                      `${C(v.GR.RETURNING_PLAYER)}${t}`,
                    ),
                  ),
                (e & v.GR.COMMS_DISRUPTIVE) > 0 &&
                  a.push(
                    o.createElement(
                      "span",
                      { style: { color: G } },
                      `${C(v.GR.COMMS_DISRUPTIVE)}${t}`,
                    ),
                  ),
                o.createElement("div", null, a)
              );
            },
          },
          {
            key: "behavscore",
            secondaryKey: "commscore",
            tertiaryKey: "trustscore",
            displayName: "Behav, Comms, Trust",
            formatFunction: (e = 8e3, t = -1, a = -1) => {
              let n = B;
              e < 0
                ? (n = B)
                : e <= 2e3
                  ? (n = G)
                  : e <= 4e3
                    ? (n = $)
                    : e <= 6e3 && (n = U);
              let r = B;
              return (
                t < 0
                  ? (r = B)
                  : t <= 2e3
                    ? (r = G)
                    : t <= 4e3
                      ? (r = $)
                      : t <= 6e3 && (r = U),
                o.createElement(
                  "div",
                  null,
                  o.createElement("span", { style: { color: n } }, `${e}, `),
                  o.createElement("span", { style: { color: r } }, `${t}, `),
                  o.createElement("span", { style: { color: B } }, `${a}`),
                )
              );
            },
          },
          {
            key: "steamaccountlink",
            displayName: "Steam Account 64",
            formatFunction: (e) =>
              e
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: e, target: "_blank", rel: "noopener" },
                      e.split("/").pop(),
                    ),
                  )
                : "",
          },
          {
            key: "history",
            secondaryKey: "steamsupporthwidbaseurl",
            displayName: "Most Recent HWID",
            formatFunction: (e = {}, t) => {
              if (
                !Object.keys(e).length ||
                !e.matches ||
                !Object.keys(e.matches).length
              )
                return "";
              let a = "";
              for (let t = Object.keys(e.matches).length - 1; t >= 0; t--)
                if (e.matches[t]?.searchdata?.hwid) {
                  a = e.matches[t]?.searchdata.hwid;
                  break;
                }
              return a
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: `${t}${a}`, target: "_blank", rel: "noopener" },
                      a,
                    ),
                  )
                : "";
            },
          },
          {
            key: "personalink",
            displayName: "Persona V1",
            formatFunction: (e) =>
              e
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: e, target: "_blank", rel: "noopener" },
                      "Persona V1",
                    ),
                  )
                : "",
          },
        ],
        ae = [
          {
            key: "smurfcategory",
            displayName: "Smurf Category",
            formatFunction: (e) => {
              switch (e) {
                case v.V7.VERY_LIKELY:
                  return o.createElement(
                    "span",
                    { style: { color: G } },
                    M(v.V7.VERY_LIKELY),
                  );
                case v.V7.SOMEWHAT_LIKELY:
                  return o.createElement(
                    "span",
                    { style: { color: $ } },
                    M(v.V7.SOMEWHAT_LIKELY),
                  );
                case v.V7.UNCLEAR:
                  return o.createElement(
                    "span",
                    { style: { color: U } },
                    M(v.V7.UNCLEAR),
                  );
                case v.V7.SOMEWHAT_UNLIKELY:
                  return o.createElement(
                    "span",
                    { style: {} },
                    M(v.V7.SOMEWHAT_UNLIKELY),
                  );
                case v.V7.VERY_UNLIKELY:
                  return o.createElement(
                    "span",
                    { style: {} },
                    M(v.V7.VERY_UNLIKELY),
                  );
                default:
                  return o.createElement("span", null, M(v.V7.INVALID));
              }
            },
          },
          {
            key: "plussubscriber",
            displayName: "Plus Subscriber",
            formatFunction: (e = 0) =>
              e ? o.createElement("div", { style: { color: B } }, "YES") : "NO",
          },
          {
            key: "wins",
            secondaryKey: "losses",
            displayName: "Total Games Played",
            formatFunction: (e, t) => o.createElement("div", null, e + t || 0),
          },
          {
            key: "wins",
            secondaryKey: "losses",
            displayName: "Win Rate",
            formatFunction: (e, t) => {
              const a = e + t || 0;
              if (!a) return o.createElement("div", null, "");
              const n = Math.round((e / a) * 1e4) / 100;
              let r = "none";
              return (
                n >= 70 || n <= 30 ? (r = $) : (n >= 60 || n <= 40) && (r = U),
                o.createElement(
                  o.Fragment,
                  null,
                  o.createElement(
                    "span",
                    { className: H().MarginRightSmall },
                    o.createElement("span", { style: { color: K } }, `${e}`),
                    o.createElement("span", null, " - "),
                    o.createElement("span", { style: { color: W } }, `${t}`),
                  ),
                  o.createElement("span", { style: { color: r } }, `(${n}%)`),
                )
              );
            },
          },
          {
            key: "recentwincount",
            secondaryKey: "recentlosscount",
            displayName: "Win Rate (Recent)",
            formatFunction: (e, t) => {
              const a = e + t || 0;
              if (!a) return o.createElement("div", null, "");
              const n = Math.round((e / a) * 1e4) / 100;
              let r = "none";
              return (
                n >= 70 || n <= 30 ? (r = $) : (n >= 60 || n <= 40) && (r = U),
                o.createElement(
                  o.Fragment,
                  null,
                  o.createElement(
                    "span",
                    { className: H().MarginRightSmall },
                    o.createElement("span", { style: { color: K } }, `${e}`),
                    o.createElement("span", null, " - "),
                    o.createElement("span", { style: { color: W } }, `${t}`),
                  ),
                  o.createElement("span", { style: { color: r } }, `(${n}%)`),
                )
              );
            },
          },
          {
            key: "overperformancehistory",
            displayName: "Overperformance History",
            formatFunction: (e = 0) => {
              let t = 0;
              (t = e - ((e >> 1) & 1431655765)),
                (t = ((t >> 2) & 858993459) + (858993459 & t)),
                (t = ((t >> 4) + t) & 252645135),
                (t = ((t >> 8) + t) & 16711935),
                (t = ((t >> 16) + t) & 65535);
              let a = B;
              return (
                t > 20 ? (a = G) : t > 10 ? (a = $) : t > 5 && (a = U),
                o.createElement(
                  "span",
                  { style: { color: a } },
                  `${t} / 32 games`,
                )
              );
            },
          },
        ],
        ne = [
          {
            key: "details",
            displayName: " ",
            formatFunction: (e = {}) => {
              const t = [];
              for (let a in e) {
                const n = Object.entries(e[a]).reverse();
                n.sort((e, t) => (e[1] > t[1] ? -1 : 1));
                const r = n.length
                  ? n.reduce((e, t) => e + Number(t[1]), 0)
                  : 0;
                if (r)
                  for (let e = 0; e < Math.min(n.length, 2); e++) {
                    const l =
                        !!n[e][0] && /<\/?[a-z][\s\S]*>/i.test("" + n[e][0]),
                      c = "string" == typeof n[e][0] ? n[e][0] : "";
                    t.push(
                      o.createElement(
                        o.Fragment,
                        { key: `${a}-${e}` },
                        o.createElement(
                          "div",
                          { className: H().TextCapitalize },
                          `${0 == e ? a.replace(/_/g, " ") : ""}`,
                        ),
                        l &&
                          o.createElement("div", {
                            dangerouslySetInnerHTML: { __html: c },
                          }),
                        !l && o.createElement("div", null, `${n[e][0]}`),
                        o.createElement(
                          "div",
                          { style: { color: x } },
                          `(${n[e][1]} / ${r})`,
                        ),
                      ),
                    );
                  }
                else
                  t.push(
                    o.createElement(
                      o.Fragment,
                      { key: a },
                      o.createElement(
                        "div",
                        { className: H().TextCapitalize },
                        a.replace(/_/g, " "),
                      ),
                      o.createElement("div", null),
                      o.createElement("div", null),
                    ),
                  );
              }
              return t;
            },
          },
        ],
        re = [
          {
            key: "reportslink",
            displayName: "Reports",
            formatFunction: (e) =>
              e
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: e, target: "_blank", rel: "noopener" },
                      "Reports",
                    ),
                  )
                : "",
          },
          {
            key: "associateslink",
            displayName: "Associates",
            formatFunction: (e) =>
              e
                ? o.createElement(
                    o.Fragment,
                    null,
                    o.createElement(
                      "a",
                      { href: e, target: "_blank", rel: "noopener" },
                      "Associates",
                    ),
                  )
                : "",
          },
        ],
        le = [
          {
            key: "beta_access_flags",
            displayName: O(v.TK.DOTA_ACCESS_TOURNAMENT_ADMIN),
            formatFunction: (e = 0) =>
              e & v.TK.DOTA_ACCESS_TOURNAMENT_ADMIN
                ? o.createElement("div", { style: { color: B } }, "YES")
                : "NO",
          },
          {
            key: "beta_access_flags",
            displayName: O(v.TK.DOTA_ACCESS_TOURNAMENT_BROADCASTER),
            formatFunction: (e = 0) =>
              e & v.TK.DOTA_ACCESS_TOURNAMENT_BROADCASTER
                ? o.createElement("div", { style: { color: B } }, "YES")
                : "NO",
          },
        ],
        oe = [
          {
            key: "vac",
            displayName: " ",
            formatFunction: (e = {}) => {
              const t = [];
              for (let a in e) {
                const n = e[a];
                t.push(
                  o.createElement(
                    o.Fragment,
                    { key: a },
                    o.createElement(
                      "div",
                      { className: H().TextCapitalize },
                      `VAC ${a.replace(/_/g, " ")}`,
                    ),
                    o.createElement("div", null, n),
                  ),
                );
              }
              return t;
            },
          },
        ],
        ce = [
          { key: "name", displayName: "Name" },
          { key: "real_name", displayName: "Real Name" },
          {
            key: "role",
            displayName: "Role",
            formatFunction: (e = 0) => {
              switch (e) {
                case v.Ov.CORE:
                  return L(v.Ov.CORE);
                case v.Ov.SUPPORT:
                  return L(v.Ov.SUPPORT);
                case v.Ov.OFFLANE:
                  return L(v.Ov.OFFLANE);
                case v.Ov.MID:
                  return L(v.Ov.MID);
                default:
                  return "Unknown";
              }
            },
          },
          {
            key: "team",
            secondaryKey: "dotateamurl",
            displayName: "Team ID",
            formatFunction: (e = 0, t = "") => {
              if (!e || !t) return "";
              const a = `${t}${e}`;
              return o.createElement(
                o.Fragment,
                null,
                o.createElement(
                  "a",
                  { href: a, target: "_blank", rel: "noopener" },
                  e,
                ),
              );
            },
          },
          {
            key: "country",
            displayName: "Country",
            formatFunction: (e) =>
              o.createElement("span", { className: H().TextUppercase }, e),
          },
          { key: "sponsor", displayName: "Sponsor" },
          {
            key: "pro",
            displayName: "Is Pro Team?",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
          {
            key: "locked",
            displayName: "Is Locked?",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
        ],
        se = [
          {
            key: "teams",
            secondaryKey: "dotateamurl",
            displayName: " ",
            formatFunction: (e = {}, t = "") => {
              const a = [];
              for (let n in e) {
                const r = e[n],
                  l = r.team_id,
                  c = `${t}${l}`,
                  s = r.team_name,
                  m = r.team_tag;
                a.push(
                  o.createElement(
                    o.Fragment,
                    { key: l },
                    o.createElement(
                      "div",
                      null,
                      `${s} `,
                      o.createElement(
                        "span",
                        { style: { color: x } },
                        `[${m}]`,
                      ),
                    ),
                    o.createElement(
                      "a",
                      { href: c, target: "_blank", rel: "noopener" },
                      l,
                    ),
                  ),
                );
              }
              return a;
            },
          },
        ],
        me = [
          {
            key: "eventpoints",
            displayName: " ",
            formatFunction: (e = {}) => {
              const t = e?.result,
                a = t?.points || [],
                n = [];
              for (let t of a) {
                const a = t.event_id,
                  r = e[a]?.event_name,
                  l = e[a]?.points_per_level || 1e3,
                  c = Math.floor(t.event_points / l);
                n.unshift(
                  o.createElement(
                    o.Fragment,
                    { key: r },
                    o.createElement("div", null, r),
                    o.createElement("div", null, c),
                  ),
                );
              }
              return n;
            },
          },
        ],
        ie = () =>
          o.createElement(
            o.Fragment,
            null,
            o.createElement("span", { style: { color: $ } }, "YES"),
            o.createElement("span", null, " (check V1 Link for details)"),
          ),
        de = [
          {
            key: "exploiter_data",
            displayName: "Exploiter Warnings?",
            formatFunction: ie,
          },
          {
            key: "smurf_data",
            displayName: "Smurf Warnings?",
            formatFunction: ie,
          },
          {
            key: "cheater_data",
            displayName: "Cheater Warnings?",
            formatFunction: ie,
          },
          {
            key: "booster_data",
            displayName: "Booster Warnings?",
            formatFunction: ie,
          },
          {
            key: "known_mmr_exploiter",
            displayName: "Known Hacker / Exploiter?",
            formatFunction: ie,
          },
          {
            key: "delayedbans",
            displayName: "Delayed Bans?",
            formatFunction: ie,
          },
        ],
        ue = (e) =>
          o.createElement(
            o.Fragment,
            null,
            o.createElement(
              "span",
              { style: { color: G } },
              m()(1e3 * e).format("MMMM Do YYYY, h:mm:ss a"),
            ),
          ),
        pe = [
          {
            key: "matchdisableduntil",
            displayName: "MM Disabled Until",
            formatFunction: ue,
          },
          {
            key: "rankeddisableduntil",
            displayName: "Ranked Disabled Until",
            formatFunction: ue,
          },
          {
            key: "preventvoiceuntil",
            displayName: "Voice Disabled Until",
            formatFunction: ue,
          },
          {
            key: "preventpublictextchatuntil",
            displayName: "Public Text Chat Disabled Until",
            formatFunction: ue,
          },
        ],
        Ee = (e) => {
          if (!e || !e.length) return "(No Bans)";
          e = e.slice(0, 5);
          return e.map((e) => {
            const t = "Admin Permanent" == e.bantype;
            return o.createElement(
              "tr",
              {
                key: `${e.bantype} - ${e.starttime}`,
                style: { color: t ? G : "" },
              },
              o.createElement("td", null, e.bantype),
              o.createElement(
                "td",
                null,
                m()(1e3 * e.starttime).format("MMMM Do YYYY, h:mm:ss a"),
              ),
              o.createElement(
                "td",
                null,
                m()(1e3 * (e.starttime + e.duration)).format(
                  "MMMM Do YYYY, h:mm:ss a",
                ),
              ),
              o.createElement(
                "td",
                null,
                t
                  ? "Permanent"
                  : (a = e.duration)
                    ? a < 60
                      ? `${m().duration(a, "seconds").asSeconds()} seconds`
                      : a < 3600
                        ? `${m().duration(a, "seconds").asMinutes()} min`
                        : a < 864e3
                          ? `${m().duration(a, "seconds").asHours()} hours`
                          : `${m().duration(a, "seconds").asDays()} days`
                    : "",
              ),
              o.createElement("td", null, e.admin ? "ADMIN" : "Automated"),
              o.createElement("td", null, e.comment),
            );
            var a;
          });
        },
        ye = (e) => {
          const t = (0, l.g)(),
            a = t?.id,
            [n, s] = (0, o.useState)(null),
            [C, M] = (0, o.useState)(null),
            [O, L] = (0, o.useState)(null),
            [P, B] = (0, o.useState)(null),
            [ie, ue] = (0, o.useState)(!1),
            [ye, fe] = (0, o.useState)(!1),
            [ge, _e] = (0, o.useState)(!1),
            [Se, he] = (0, o.useState)(!1),
            [Ne, ke] = (0, o.useState)(!0),
            [Ae, Ie] = (0, o.useState)(!0),
            [ve, Te] = (0, o.useState)(!1),
            [Fe, Re] = (0, o.useState)(!0),
            [De, be] = (0, o.useState)(!0),
            [Ce, Me] = (0, o.useState)(!1),
            Oe = I.B5.Get().getHeroList(),
            Le = I.B5.Get().getItemList();
          (0, o.useEffect)(() => {
            try {
              !(async function () {
                if (!S.r.DOTA_APP_ID || !a) return;
                he(!1), _e(!1), ue(!1), fe(!1);
                const e = {
                  appid: S.r.DOTA_APP_ID,
                  u: F(S.r.DOTA_APP_ID),
                  account_id: a,
                };
                try {
                  const t = await r().get(
                      S.r.BASE_URL + "persona/showplayerreact/",
                      { params: e },
                    ),
                    a = t?.data;
                  if (!a?.persona || !a?.persona?.accountid)
                    throw new Error(
                      "GC could not find account details for this account",
                    );
                  try {
                    a &&
                      a.persona &&
                      a.persona.elodatajson &&
                      M(JSON.parse(a.persona.elodatajson).aggregate);
                  } catch (e) {}
                  try {
                    if (
                      a &&
                      a.persona &&
                      a.persona.history &&
                      a.persona.history.matches &&
                      Object.keys(a.persona.history.matches).length
                    ) {
                      const e = Object.values(
                        a.persona.history.matches,
                      ).reverse();
                      L(e), B(e);
                    }
                  } catch (e) {
                    fe(!0);
                  }
                  t && t.data && s(a);
                } catch (e) {
                  console.log("Error fetching individual persona info."),
                    he(!0);
                }
                _e(!0), ue(!0);
              })();
            } catch (e) {
              console.log("Could not fetch persona info.");
            }
          }, [a]),
            (0, o.useEffect)(() => {
              if (!O) return;
              let e = O.slice();
              (e = e.filter(
                (e) =>
                  !(!Ae && e.lobbytype == v.AP.CASUAL_MATCH) &&
                  !(!Ne && e.lobbytype == v.AP.COMPETITIVE_MATCH) &&
                    !(
                      !ve &&
                      ![
                        v.AP.CASUAL_MATCH,
                        v.AP.COMPETITIVE_MATCH,
                        v.AP.WEEKEND_TOURNEY,
                        v.AP.FEATURED_GAMEMODE,
                      ].includes(e.lobbytype)
                    ) &&
                      !(!Fe && e.rankwassolo) &&
                  !(!De && !e.rankwassolo),
              )),
                B(e);
            }, [O, Ne, Ae, ve, Fe, De]);
          let we = null;
          if (
            (a
              ? ge && ie
                ? ge && Se
                  ? (we = `Error loading persona information for account ID ${a}. Double check universe & account ID (or try refreshing).`)
                  : ie &&
                    ye &&
                    (we = `Error loading match history for account ID ${a}.`)
                : (we = `Loading account ID ${a}...`)
              : (we = "Must pass in an account ID."),
            we)
          )
            return o.createElement(
              "div",
              { className: H().PersonaDetails },
              o.createElement(N.A, { bOverlapping: !1 }),
              o.createElement(
                c.mg,
                null,
                o.createElement("title", null, "Dota 2 - Persona Details"),
              ),
              o.createElement(T.A, null),
              o.createElement(
                "div",
                { className: H().ContentFrame },
                o.createElement("h2", { className: H().Header }, we),
              ),
              o.createElement(k.K, null),
            );
          const Pe = [
            {
              dataKey: "date",
              label: "Match Date",
              widthRelative: 13,
              cellRenderer: (e) =>
                m()(1e3 * e.cellData).format("MM/DD/YY HH:mm:ss"),
            },
            {
              dataKey: "matchid",
              label: "ID",
              widthRelative: 10,
              cellRenderer: (e) =>
                ((e, t, a = "") =>
                  o.createElement(
                    "a",
                    {
                      key: e,
                      href: `${S.r.BASE_URL}matches/match/${e}?u=${F(S.r.DOTA_APP_ID)}&appid=${S.r.DOTA_APP_ID}&highlight=${t}`,
                    },
                    a || e,
                  ))(e.cellData, e.columnData.strAccountId),
            },
            {
              dataKey: "heroid",
              label: "Hero",
              widthRelative: 5,
              cellRenderer: (e) => {
                const t = Oe?.heroes.find((t) => t.id == e.cellData),
                  a = t?.name?.replace("npc_dota_hero_", "");
                return a
                  ? o.createElement("img", {
                      className: H().HeroImage,
                      src: `${S.r.IMG_URL}heroes/wide/${a}.png`,
                      alt: e.cellData,
                    })
                  : o.createElement("img", {
                      className: H().HeroImage,
                      src: `${S.r.IMG_URL}heroes/wide/unknown.png`,
                    });
              },
            },
            {
              dataKey: "outcome",
              label: "Outcome",
              widthRelative: 7,
              cellRenderer: (e) => {
                if (e.rowData?.lobbytype == v.AP.PRACTICE)
                  return o.createElement(
                    "span",
                    { style: { color: q } },
                    D(v.AP.PRACTICE),
                  );
                let t = e.cellData;
                if ((t in v.rM || (t = 0), t <= 0)) return b(v.rM.UNKNOWN);
                const a = e?.rowData?.teamnumber + 2;
                if (a < 2 || a > 3) return b(v.rM.UNKNOWN);
                if (t < 2 || t > 3) {
                  const t = e.cellData;
                  return t in v.rM
                    ? o.createElement("span", { style: { color: $ } }, b(t))
                    : b(v.rM.UNKNOWN);
                }
                {
                  const n = a == t,
                    r = [],
                    l = e?.rowData?.rankchange;
                  let c = n ? (l >= 35 ? "#68c529" : K) : l <= -35 ? Y : W;
                  return (
                    r.push(
                      o.createElement(
                        "span",
                        { key: "W-L", style: { color: c } },
                        n ? "W" : "L",
                      ),
                    ),
                    n
                      ? r.push(
                          o.createElement(
                            "span",
                            { key: "rankChange", style: { color: c } },
                            ` (+${l})`,
                          ),
                        )
                      : l < 0
                        ? r.push(
                            o.createElement(
                              "span",
                              { key: "rankChange", style: { color: c } },
                              ` (${l})`,
                            ),
                          )
                        : r.push(
                            o.createElement(
                              "span",
                              { key: "rankChange", style: { color: c } },
                              ` (-${l})`,
                            ),
                          ),
                    r
                  );
                }
              },
            },
            {
              dataKey: "previousrank",
              label: "MMR",
              widthRelative: 5,
              cellRenderer: (e) => e.cellData,
            },
            {
              dataKey: "overperformance_score",
              label: "Perf",
              widthRelative: 4,
              cellRenderer: (e) => {
                const t = e.cellData || 0;
                let a = "";
                return (
                  t >= 300 ? (a = G) : t >= 175 ? (a = $) : t >= 100 && (a = U),
                  o.createElement(
                    "span",
                    { key: "op", style: { color: a } },
                    `${t}`,
                  )
                );
              },
            },
            {
              dataKey: "duration",
              label: "Dur",
              widthRelative: 6,
              cellRenderer: (e) => {
                const t = e.cellData;
                return t
                  ? t < 3600
                    ? m()
                        .utc(m().duration(t, "seconds").asMilliseconds())
                        .format("mm:ss")
                    : m()
                        .utc(m().duration(t, "seconds").asMilliseconds())
                        .format("h:mm:ss")
                  : "-";
              },
            },
            {
              dataKey: "lobbytype",
              label:
                "Ranked/Unranked (this label isn't used, check headerRenderer)",
              widthRelative: 8,
              cellRenderer: (e) => {
                let t = isNaN(e.cellData) ? e.rowData.lobbytype : e.cellData;
                t in v.AP || (t = -1);
                let a = q;
                return (
                  t == v.AP.CASUAL_MATCH
                    ? (a = j)
                    : t == v.AP.COMPETITIVE_MATCH && (a = V),
                  o.createElement("span", { style: { color: a } }, D(t))
                );
              },
              headerRenderer: (e) =>
                o.createElement(
                  o.Fragment,
                  null,
                  o.createElement(
                    "div",
                    { className: H().CheckBox },
                    o.createElement("input", {
                      type: "checkbox",
                      name: "ranked",
                      id: "ranked",
                      onChange: () => ke(!Ne),
                      checked: Ne,
                    }),
                    o.createElement(
                      "label",
                      { htmlFor: "ranked" },
                      o.createElement(
                        "span",
                        { style: { color: V } },
                        "Ranked",
                      ),
                    ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().CheckBox },
                    o.createElement("input", {
                      type: "checkbox",
                      name: "unranked",
                      id: "unranked",
                      onChange: () => Ie(!Ae),
                      checked: Ae,
                    }),
                    o.createElement(
                      "label",
                      { htmlFor: "unranked" },
                      o.createElement(
                        "span",
                        { style: { color: j } },
                        "Unranked",
                      ),
                    ),
                  ),
                ),
            },
            {
              dataKey: "rankwassolo",
              label: "Solo/Party (this label isn't used, check headerRenderer)",
              widthRelative: 6,
              cellRenderer: (e) =>
                e.cellData && e?.rowData?.lobbytype != v.AP.WEEKEND_TOURNEY
                  ? o.createElement("span", { style: { color: X } }, "Solo")
                  : o.createElement("span", { style: { color: J } }, "Party"),
              headerRenderer: (e) =>
                o.createElement(
                  o.Fragment,
                  null,
                  o.createElement(
                    "div",
                    { className: H().CheckBox },
                    o.createElement("input", {
                      type: "checkbox",
                      name: "solo",
                      id: "solo",
                      onChange: () => Re(!Fe),
                      checked: Fe,
                    }),
                    o.createElement(
                      "label",
                      { htmlFor: "solo" },
                      o.createElement("span", { style: { color: X } }, "Solo"),
                    ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().CheckBox },
                    o.createElement("input", {
                      type: "checkbox",
                      name: "party",
                      id: "party",
                      onChange: () => be(!De),
                      checked: De,
                    }),
                    o.createElement(
                      "label",
                      { htmlFor: "party" },
                      o.createElement("span", { style: { color: J } }, "Party"),
                    ),
                  ),
                ),
            },
            {
              dataKey: "gamemode",
              label: "Mode",
              widthRelative: 6,
              cellRenderer: (e) => {
                if (e?.rowData?.searchdata?.partylowpri)
                  return o.createElement(
                    "span",
                    { style: { color: Y } },
                    "SD (LP)",
                  );
                const t = `DOTA_GAMEMODE_${e.cellData}`;
                return t in v.Fk ? R(v.Fk[t]) : R(v.Fk.DOTA_GAMEMODE_NONE);
              },
            },
            {
              dataKey: "kills",
              label: "K/D/A",
              widthRelative: 7,
              cellRenderer: (e) =>
                isNaN(e.cellData) ||
                isNaN(e?.rowData?.deaths) ||
                isNaN(e?.rowData?.assists)
                  ? " - / - / - "
                  : `${e.cellData}/${e?.rowData?.deaths}/${e?.rowData?.assists}`,
            },
            {
              dataKey: "goldspent",
              label: "NW",
              widthRelative: 6,
              cellRenderer: (e) => {
                let t = e.cellData + e?.rowData?.gold;
                return (
                  isNaN(t) && (t = "-"),
                  o.createElement(
                    "span",
                    { style: { color: "darkgoldenrod" } },
                    `${t}`,
                  )
                );
              },
            },
            {
              dataKey: "item0",
              label: "Items",
              widthRelative: 20,
              cellRenderer: (e) => {
                const t = [];
                for (let a = 0; a < 6; a++) {
                  const n = Le?.itemabilities.find(
                    (t) => t.id == e?.rowData[`item${a}`],
                  );
                  let r = n?.name.replace("item_", "");
                  (n && r) || (r = "emptyitembg"),
                    t.push(
                      o.createElement("img", {
                        key: `${e.rowIndex}_item${a}`,
                        className: H().ItemIcon,
                        src: `${S.r.IMG_URL}items/${r}.png`,
                        alt: e.cellData,
                      }),
                    );
                }
                return o.createElement(
                  "div",
                  { className: H().ItemContainer },
                  t,
                  " ",
                );
              },
            },
            {
              dataKey: "role_assignment",
              label: "Role",
              widthRelative: 6,
              cellRenderer: (e) => {
                switch (e.cellData) {
                  case 1:
                    return "Safe";
                  case 2:
                    return "Off";
                  case 4:
                    return "Mid";
                  case 8:
                    return "S Sup";
                  case 16:
                    return "H Sup";
                  default:
                    return "-";
                }
              },
            },
            {
              dataKey: "reports",
              label: "Reports / Notes",
              widthRelative: 22,
              cellRenderer: (e) => {
                const t = Object.values(e.cellData || []),
                  a = Object.values(e?.rowData?.leaver || []),
                  n = Object.values(e?.rowData?.detections || []),
                  r = Object.values(e?.rowData?.lowpribans || []),
                  l = e?.rowData?.hwidchange,
                  c = e?.rowData?.hwidchangelink,
                  s = e?.rowData?.geolocchange,
                  i = e?.rowData?.languagechange,
                  d = [],
                  u = [];
                for (const e of t) u.push(e);
                const p = [];
                if (
                  (a.length &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "leaverTooltip",
                          toolTipContent: o.createElement(
                            "table",
                            { style: { borderSpacing: "5px" } },
                            o.createElement(
                              "thead",
                              null,
                              o.createElement(
                                "tr",
                                null,
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Date",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Leaver Status",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "State Flags",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Game State",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Lobby State",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Actions",
                                ),
                              ),
                            ),
                            o.createElement(
                              "tbody",
                              null,
                              a.map((e) =>
                                o.createElement(
                                  "tr",
                                  { key: `${e.time}` },
                                  o.createElement(
                                    "td",
                                    null,
                                    e.time
                                      ? m()(1e3 * e.time).format(
                                          "MMMM Do YYYY, h:mm:ss a",
                                        )
                                      : "-",
                                  ),
                                  o.createElement(
                                    "td",
                                    null,
                                    e.leaverstatusname,
                                  ),
                                  o.createElement(
                                    "td",
                                    null,
                                    e.flagnames &&
                                      Object.values(e.flagnames).length
                                      ? Object.values(e.flagnames).join(", ")
                                      : "-",
                                  ),
                                  o.createElement("td", null, e.gamestatename),
                                  o.createElement("td", null, e.lobbystatename),
                                  o.createElement(
                                    "td",
                                    null,
                                    e.actionnames &&
                                      Object.values(e.actionnames).length
                                      ? Object.values(e.actionnames).join(", ")
                                      : "-",
                                  ),
                                ),
                              ),
                            ),
                          ),
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { style: { color: Y } },
                          "[Lvr] ",
                        ),
                      ),
                    ),
                  d.length &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "commendTooltip",
                          toolTipContent: o.createElement(
                            "table",
                            { style: { borderSpacing: "12px" } },
                            o.createElement(
                              "thead",
                              null,
                              o.createElement(
                                "tr",
                                null,
                                o.createElement("th", { align: "left" }),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Commend",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Player",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Comment",
                                ),
                              ),
                            ),
                            o.createElement(
                              "tbody",
                              null,
                              d.map((e) => {
                                const t = z(e.reportreason),
                                  a = Q(e.reportreason);
                                return o.createElement(
                                  "tr",
                                  { key: `${e.reporteraccountid}` },
                                  o.createElement(
                                    "td",
                                    null,
                                    t && o.createElement("img", { src: t }),
                                  ),
                                  o.createElement("td", null, a),
                                  o.createElement(
                                    "td",
                                    null,
                                    e.reporteraccountid,
                                  ),
                                  o.createElement("td", null, e.comment || ""),
                                );
                              }),
                            ),
                          ),
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "playerCommends", style: { color: K } },
                          `[${d.length}] `,
                        ),
                      ),
                    ),
                  u.length)
                ) {
                  u.sort((e, t) => e.reporteraccountid - t.reporteraccountid);
                  const e = [...new Set(u.map((e) => e?.reporteraccountid))],
                    t = [];
                  let a = 0;
                  for (let e of u) {
                    const n = z(e.reportreason),
                      r = Q(e.reportreason);
                    a &&
                      a != e.reporteraccountid &&
                      t.push(
                        o.createElement(
                          "tr",
                          { key: `${a}-separator` },
                          o.createElement(
                            "td",
                            { colSpan: 3 },
                            o.createElement("hr", null),
                          ),
                        ),
                      ),
                      t.push(
                        o.createElement(
                          "tr",
                          { key: `${e.reporteraccountid}-${e.reportreason}` },
                          o.createElement(
                            "td",
                            null,
                            n && o.createElement("img", { src: n }),
                          ),
                          o.createElement("td", null, r),
                          o.createElement("td", null, e.reporteraccountid),
                        ),
                      ),
                      (a = e.reporteraccountid);
                  }
                  p.push(
                    o.createElement(
                      w.he,
                      {
                        key: "reportTooltip",
                        toolTipContent: o.createElement(
                          "table",
                          { style: { borderSpacing: "12px" } },
                          o.createElement(
                            "thead",
                            null,
                            o.createElement(
                              "tr",
                              null,
                              o.createElement("th", { align: "left" }),
                              o.createElement(
                                "th",
                                { align: "left" },
                                "Reason",
                              ),
                              o.createElement(
                                "th",
                                { align: "left" },
                                "Reporter",
                              ),
                            ),
                          ),
                          o.createElement("tbody", null, t),
                        ),
                        direction: "left",
                        nBodyAlignment: 1,
                        nAllowOffscreenPx: 1200,
                        strTooltipClassname: H().PlayerReportTooltip,
                      },
                      o.createElement(
                        "span",
                        { key: "playerReports", style: { color: G } },
                        `[${e.length}]`,
                      ),
                    ),
                  );
                }
                return (
                  n.length &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "detectionsTooltip",
                          toolTipContent: o.createElement(
                            "table",
                            { style: { borderSpacing: "12px" } },
                            o.createElement(
                              "thead",
                              null,
                              o.createElement(
                                "tr",
                                null,
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Suspicion (Enum)",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Game Time",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Data 1",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Data 2",
                                ),
                              ),
                            ),
                            o.createElement(
                              "tbody",
                              null,
                              n.map((e, t) =>
                                o.createElement(
                                  "tr",
                                  { key: `${e.matchid}-${t}` },
                                  o.createElement(
                                    "td",
                                    null,
                                    `${e.suspicionname} (${e.suspicion})`,
                                  ),
                                  o.createElement(
                                    "td",
                                    null,
                                    m()
                                      .utc(
                                        m()
                                          .duration(e.gametime, "seconds")
                                          .asMilliseconds(),
                                      )
                                      .format("mm:ss"),
                                  ),
                                  o.createElement("td", null, e.data1 || ""),
                                  o.createElement("td", null, e.data2 || ""),
                                ),
                              ),
                            ),
                          ),
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "playerReports", style: { color: G } },
                          "[SUS]",
                        ),
                      ),
                    ),
                  r.length &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "lowPriTooltip",
                          toolTipContent: o.createElement(
                            "table",
                            { style: { borderSpacing: "12px" } },
                            o.createElement(
                              "thead",
                              null,
                              o.createElement(
                                "tr",
                                null,
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Ban Type",
                                ),
                                o.createElement(
                                  "th",
                                  { align: "left" },
                                  "Games",
                                ),
                              ),
                            ),
                            o.createElement(
                              "tbody",
                              null,
                              r.map((e, t) =>
                                o.createElement(
                                  "tr",
                                  { key: `lp-${t}` },
                                  o.createElement(
                                    "td",
                                    null,
                                    e.bantypename || "",
                                  ),
                                  o.createElement(
                                    "td",
                                    null,
                                    e.penaltylowprigamesapplied || "0",
                                  ),
                                ),
                              ),
                            ),
                          ),
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "playerReports", style: { color: G } },
                          "[LP]",
                        ),
                      ),
                    ),
                  i &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "langchange",
                          toolTipContent: i,
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "langChange", style: { color: $ } },
                          `[${i.slice(-2)}]`,
                        ),
                      ),
                    ),
                  s &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "geochange",
                          toolTipContent: s,
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "geoChange", style: { color: $ } },
                          "[GEO]",
                        ),
                      ),
                    ),
                  l &&
                    p.push(
                      o.createElement(
                        w.he,
                        {
                          key: "hwchange",
                          toolTipContent: l,
                          direction: "left",
                          nBodyAlignment: 1,
                          nAllowOffscreenPx: 1200,
                          strTooltipClassname: H().PlayerReportTooltip,
                        },
                        o.createElement(
                          "span",
                          { key: "hwidChange", style: { color: $ } },
                          "[HW]",
                        ),
                      ),
                    ),
                  c &&
                    p.push(
                      o.createElement("div", {
                        key: "hwidChange",
                        dangerouslySetInnerHTML: { __html: c },
                      }),
                    ),
                  0 == p.length
                    ? ""
                    : o.createElement(
                        "div",
                        { className: H().ReportRowElement },
                        p,
                      )
                );
              },
            },
          ];
          let He = !0;
          for (let e of de)
            if (n?.persona && n?.persona[e.key]) {
              He = !1;
              break;
            }
          let Ge = !1;
          for (let e of pe)
            if (
              n?.persona &&
              n?.persona[e.key] &&
              m()(1e3 * n?.persona[e.key]).isAfter()
            ) {
              Ge = !0;
              break;
            }
          let $e = 0,
            Ue = !1;
          if (n?.persona?.banhistory)
            for (let e of n.persona.banhistory) {
              const t = e.comment || "";
              if (
                /Smurf/.test(t) &&
                /Main/.test(t) &&
                t.match(/.*(?:\D|^)(\d+)/) &&
                t.match(/.*(?:\D|^)(\d+)/)
              ) {
                const e = t.match(/.*(?:\D|^)(\d+)/);
                e && e.length && ($e = e[1]);
              } else if (
                /Streamer/i.test(t) &&
                /Main/.test(t) &&
                t.match(/.*(?:\D|^)(\d+)/) &&
                t.match(/.*(?:\D|^)(\d+)/)
              ) {
                const e = t.match(/.*(?:\D|^)(\d+)/);
                e && e.length && (($e = e[1]), (Ue = !0));
              }
            }
          const Be = n?.persona?.personaname || "";
          return o.createElement(
            "div",
            { className: H().PersonaDetails },
            o.createElement(N.A, { bOverlapping: !1 }),
            o.createElement(
              c.mg,
              null,
              o.createElement(
                "title",
                null,
                "Dota 2 Player" + (Be ? " - " + Be : ""),
              ),
            ),
            o.createElement(T.A, null),
            o.createElement("br", null),
            o.createElement(
              "div",
              { className: H().ContentFrame },
              o.createElement(
                "div",
                { className: H().TopContent },
                o.createElement(
                  "div",
                  { className: H().TopContentLeft },
                  o.createElement(
                    "h1",
                    { className: (0, h.A)(H().Header, H().HeaderFixedHeight) },
                    `${Be}`,
                  ),
                  o.createElement(
                    "div",
                    { className: H().GeneralInfoGrid },
                    Z.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-generalInfo-row` },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().RankInfoGrid },
                    ee.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-rankInfo-row` },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                                n?.persona[e.tertiaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().SupportInfoTopGrid },
                    te.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-supportInfo-row` },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                                n?.persona[e.tertiaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().SmurfInfoGrid },
                    ae.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-smurfInfo-row` },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  o.createElement("div", { className: H().SmoothLine }),
                  o.createElement(
                    "h2",
                    { className: H().Header },
                    "Recent (Last 32 games)",
                  ),
                  o.createElement(
                    "div",
                    { className: H().DetailedInfoOuterGrid },
                    ne.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-vacInfo-row` },
                        o.createElement(
                          "div",
                          { className: H().DetailedInfoInnerGrid },
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                ),
                o.createElement(
                  "div",
                  { className: H().TopContentRight },
                  o.createElement(
                    "div",
                    { className: H().ChartContainer },
                    C &&
                      o.createElement(
                        "div",
                        { className: H().ChartTitle },
                        `Last ${C.length} games`,
                      ),
                    o.createElement(
                      i.u,
                      { width: "99%", aspect: 1.9 },
                      o.createElement(
                        d.b,
                        {
                          data: C,
                          margin: { top: 5, right: 30, left: 20, bottom: 5 },
                        },
                        o.createElement(u.d, {
                          strokeDasharray: "12 8",
                          stroke: "#424242",
                          fillOpacity: 0.2,
                        }),
                        o.createElement(p.W, {
                          stroke: "#808080",
                          dataKey: "time",
                          type: "number",
                          tickFormatter: (e) => m()(1e3 * e).format("MM/DD/YY"),
                          domain: ["dataMin - 86400", "dataMax + 43200"],
                        }),
                        o.createElement(E.h, {
                          stroke: "#808080",
                          domain: ["auto", "auto"],
                        }),
                        o.createElement(y.m, {
                          cursor: !1,
                          labelFormatter: (e) =>
                            m()(1e3 * Number(e)).format("MM/DD/YY HH:mm:ss"),
                          contentStyle: { backgroundColor: "#0c1414" },
                        }),
                        o.createElement(f.s, {
                          layout: "vertical",
                          verticalAlign: "middle",
                          align: "right",
                          wrapperStyle: { paddingLeft: "10px" },
                        }),
                        o.createElement(g.N, {
                          type: "monotone",
                          dataKey: "ranked",
                          name: "Ranked",
                          dot: { fill: V, strokeWidth: 1, r: 3 },
                          stroke: "#888fd8",
                          strokeWidth: 2,
                          connectNulls: !0,
                        }),
                        o.createElement(g.N, {
                          type: "monotone",
                          dataKey: "casual",
                          name: "Unranked",
                          dot: { fill: j, strokeWidth: 1, r: 3 },
                          stroke: "#82ca9d",
                          strokeWidth: 2,
                          connectNulls: !0,
                        }),
                      ),
                    ),
                  ),
                ),
              ),
              o.createElement("br", null),
              o.createElement("div", { className: H().SmoothLine }),
              o.createElement(
                "div",
                {
                  className: (0, h.A)(
                    H().SupportGrid,
                    Ce && H().SupportGridHidden,
                  ),
                },
                o.createElement(
                  "div",
                  { className: H().SupportColumn, onClick: () => Me(!0) },
                  o.createElement(
                    "h2",
                    {
                      className: (0, h.A)(
                        H().HeaderNoMargin,
                        H().HeaderClickable,
                      ),
                    },
                    "Support, Bans, & Other Info",
                    o.createElement("img", {
                      className: (0, h.A)(H().ArrowIcon, H().ArrowIconRight),
                      src: `${S.r.IMG_URL}arrow_solid_right.png`,
                    }),
                  ),
                ),
              ),
              o.createElement(
                "div",
                {
                  className: (0, h.A)(
                    H().SupportGrid,
                    !Ce && H().SupportGridHidden,
                  ),
                },
                o.createElement(
                  "div",
                  { className: H().SupportColumn },
                  o.createElement(
                    "h2",
                    {
                      className: (0, h.A)(H().Header, H().HeaderClickable),
                      onClick: () => Me(!1),
                    },
                    "Support, Bans, & Other Info",
                    o.createElement("img", {
                      className: (0, h.A)(H().ArrowIcon, H().ArrowIconDown),
                      src: `${S.r.IMG_URL}arrow_over.png`,
                    }),
                  ),
                  o.createElement(
                    "div",
                    { className: H().SupportInfoGrid },
                    re.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-supportInfo-row` },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  o.createElement("br", null),
                  o.createElement(
                    "div",
                    { className: H().AccessFlagsGrid },
                    le.map((e) =>
                      o.createElement(
                        o.Fragment,
                        {
                          key: `${e.key}-${e.displayName}-accountFlagGenericInfo-row`,
                        },
                        o.createElement("div", null, e.displayName || e.key),
                        o.createElement(
                          "div",
                          null,
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                  !He && o.createElement("br", null),
                  o.createElement(
                    "div",
                    { className: H().WarningsGrid },
                    de.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-warningsInfo-row` },
                        !!n?.persona[e.key] &&
                          o.createElement("div", null, e.displayName || e.key),
                        !!n?.persona[e.key] &&
                          o.createElement(
                            "div",
                            null,
                            e.formatFunction
                              ? e.formatFunction.call(
                                  null,
                                  n?.persona[e.key],
                                  n?.persona[e.secondaryKey],
                                )
                              : JSON.stringify(
                                  n?.persona[e.key] || "",
                                  null,
                                  2,
                                ).replace(/['"]+/g, ""),
                          ),
                      ),
                    ),
                  ),
                  o.createElement("br", null),
                  o.createElement(
                    "div",
                    { className: H().BansGrid },
                    pe.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-bansInfo-row` },
                        !!n?.persona[e.key] &&
                          m()(1e3 * n?.persona[e.key]).isAfter() &&
                          o.createElement("div", null, e.displayName || e.key),
                        !!n?.persona[e.key] &&
                          m()(1e3 * n?.persona[e.key]).isAfter() &&
                          o.createElement(
                            "div",
                            null,
                            e.formatFunction
                              ? e.formatFunction.call(
                                  null,
                                  n?.persona[e.key],
                                  n?.persona[e.secondaryKey],
                                )
                              : JSON.stringify(
                                  n?.persona[e.key] || "",
                                  null,
                                  2,
                                ).replace(/['"]+/g, ""),
                          ),
                      ),
                    ),
                    $e > 0 &&
                      o.createElement(
                        o.Fragment,
                        null,
                        !Ue && o.createElement("div", null, "Main Account"),
                        Ue && o.createElement("div", null, "Streamer"),
                        o.createElement(
                          "div",
                          null,
                          o.createElement(
                            "a",
                            {
                              target: "_blank",
                              rel: "noopener noreferrer",
                              href: `${S.r.BASE_URL}${A.J.personadetails($e).substr(1)}`,
                            },
                            $e,
                          ),
                        ),
                      ),
                  ),
                  o.createElement("br", null),
                  o.createElement(
                    "div",
                    { className: H().VacInfoOuterGrid },
                    oe.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-vacInfo-row` },
                        o.createElement(
                          "div",
                          { className: H().VacInfoOuterGrid },
                          e.formatFunction
                            ? e.formatFunction.call(
                                null,
                                n?.persona[e.key],
                                n?.persona[e.secondaryKey],
                              )
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                ),
                o.createElement(
                  "div",
                  { className: H().OfficialInfoColumn },
                  o.createElement(
                    "h2",
                    { className: H().Header },
                    "Official Profile",
                  ),
                  o.createElement(
                    "div",
                    { className: H().OfficialProfileOuterGrid },
                    n?.persona?.official_profile &&
                      ce.map((e) =>
                        o.createElement(
                          o.Fragment,
                          {
                            key: `${e.key}-${e.displayName}-officialProfileInfo-row`,
                          },
                          o.createElement("div", null, e.displayName || e.key),
                          o.createElement(
                            "div",
                            { className: H().OfficialProfileInnerGrid },
                            e.formatFunction
                              ? e.formatFunction.call(
                                  null,
                                  n?.persona?.official_profile[e.key],
                                  n?.persona[e.secondaryKey],
                                )
                              : JSON.stringify(
                                  n?.persona?.official_profile[e.key] || "",
                                  null,
                                  2,
                                ).replace(/['"]+/g, ""),
                          ),
                        ),
                      ),
                    !n?.persona?.official_profile &&
                      o.createElement(
                        o.Fragment,
                        null,
                        o.createElement(
                          "span",
                          { style: { color: x } },
                          "(None)",
                        ),
                      ),
                  ),
                  o.createElement(
                    "div",
                    { className: H().TeamsInfoInfoOuterGrid },
                    o.createElement("br", null),
                    o.createElement("h2", { className: H().Header }, "Teams"),
                    n?.persona?.teams &&
                      se.map((e) =>
                        o.createElement(
                          o.Fragment,
                          { key: `${e.key}-${e.displayName}-teamsInfo-row` },
                          o.createElement(
                            "div",
                            { className: H().TeamsInfoInnerGrid },
                            e.formatFunction
                              ? e.formatFunction.call(
                                  null,
                                  n?.persona[e.key],
                                  n?.persona[e.secondaryKey],
                                )
                              : JSON.stringify(
                                  n?.persona[e.key] || "",
                                  null,
                                  2,
                                ).replace(/['"]+/g, ""),
                          ),
                        ),
                      ),
                    !n?.persona?.teams &&
                      o.createElement(
                        o.Fragment,
                        null,
                        o.createElement(
                          "span",
                          { style: { color: x } },
                          "(None)",
                        ),
                      ),
                  ),
                ),
                o.createElement(
                  "div",
                  { className: H().EventColumn },
                  o.createElement(
                    "h2",
                    { className: H().Header },
                    "Event Information",
                  ),
                  o.createElement(
                    "div",
                    { className: H().EventInfoOuterGrid },
                    me.map((e) =>
                      o.createElement(
                        o.Fragment,
                        { key: `${e.key}-${e.displayName}-eventInfo-row` },
                        o.createElement(
                          "div",
                          { className: H().EventInfoInnerGrid },
                          e.formatFunction
                            ? e.formatFunction.call(null, n?.persona[e.key])
                            : JSON.stringify(
                                n?.persona[e.key] || "",
                                null,
                                2,
                              ).replace(/['"]+/g, ""),
                        ),
                      ),
                    ),
                  ),
                ),
              ),
              o.createElement(
                "div",
                { className: (0, h.A)(!Ce && H().SupportGridHidden) },
                o.createElement("div", { className: H().SmoothLine }),
                o.createElement(
                  "table",
                  { className: H().BanHistoryTable },
                  o.createElement(
                    "thead",
                    null,
                    o.createElement(
                      "tr",
                      null,
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Ban Type",
                        ),
                      ),
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Ban Start",
                        ),
                      ),
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Ban End",
                        ),
                      ),
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Duration",
                        ),
                      ),
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Admin",
                        ),
                      ),
                      o.createElement(
                        "th",
                        { align: "left" },
                        o.createElement(
                          "h3",
                          { className: H().HeaderNoMargin },
                          "Comment",
                        ),
                      ),
                    ),
                  ),
                  o.createElement(
                    "tbody",
                    null,
                    o.createElement("tr", null, o.createElement("td", null)),
                    Ee(n?.persona?.banhistory),
                  ),
                ),
              ),
              o.createElement("div", { className: H().SmoothLine }),
              O &&
                O.length &&
                o.createElement(
                  "div",
                  { className: H().OtherModesCheckBox },
                  o.createElement("input", {
                    type: "checkbox",
                    name: "othermode",
                    id: "othermode",
                    onChange: () => Te(!ve),
                    checked: ve,
                  }),
                  o.createElement(
                    "label",
                    { htmlFor: "othermode" },
                    o.createElement(
                      "span",
                      null,
                      "Include custom games, practice games, and uncommon game modes",
                    ),
                  ),
                ),
              o.createElement(
                "div",
                { className: H().MatchHistoryOuterContainer },
                o.createElement(
                  "div",
                  { className: H().MatchHistoryInnerContainer },
                  O &&
                    O.length &&
                    o.createElement(_.t$, null, ({ width: e, height: t }) =>
                      o.createElement(
                        _.XI,
                        {
                          headerHeight: 70,
                          height: t,
                          width: e,
                          rowHeight: 33.33,
                          rowCount: P.length,
                          rowGetter: ({ index: e }) => P[e],
                          rowClassName: ({ index: e }) =>
                            -1 != e
                              ? e % 2
                                ? H().MatchRowEven
                                : H().MatchRowOdd
                              : "",
                          overscanRowCount: 50,
                          noRowsRenderer: () =>
                            o.createElement(
                              "h3",
                              null,
                              "No Matches Found. Toggle the checkbox at the bottom of the page for custom games and other modes.",
                            ),
                        },
                        Pe.map((t) =>
                          o.createElement(_.VP, {
                            key: t.dataKey,
                            label: t.label,
                            dataKey: t.dataKey,
                            width: e * t.widthRelative,
                            cellRenderer: t.cellRenderer,
                            columnData: { strAccountId: a },
                            headerRenderer: t.headerRenderer,
                          }),
                        ),
                      ),
                    ),
                  (!O || !O.length) &&
                    o.createElement("div", null, "No matches"),
                ),
              ),
            ),
            o.createElement(k.K, null),
          );
        };
      class fe extends o.Component {
        render() {
          return o.createElement(ye, null);
        }
      }
    },
    4533: (e, t, a) => {
      "use strict";
      a.r(t), a.d(t, { default: () => C });
      var n = a(75749),
        r = a.n(n),
        l = a(89506),
        o = a(88351),
        c = a(7552),
        s = a(83640),
        m = a(21384),
        i = a(47202),
        d = a(36305),
        u = a(55651),
        p = a(94610),
        E = a(9784),
        y = a.n(E);
      const f = "public",
        g = 5e3,
        _ = (e) =>
          c.createElement(
            "a",
            {
              href: `${l.r.BASE_URL}personadetails/${e}?u=${f}&appid=${l.r.DOTA_APP_ID}`,
            },
            e,
          );
      var S;
      !(function (e) {
        (e[(e.kTRAA_RegisterTeam = 0)] = "kTRAA_RegisterTeam"),
          (e[(e.kTRAA_InvitePlayer = 1)] = "kTRAA_InvitePlayer"),
          (e[(e.kTRAA_RemovePlayer = 2)] = "kTRAA_RemovePlayer"),
          (e[(e.kTRAA_CancelInvite = 3)] = "kTRAA_CancelInvite"),
          (e[(e.kTRAA_RegisterPlayer = 4)] = "kTRAA_RegisterPlayer"),
          (e[(e.kTRAA_AcceptInvite = 5)] = "kTRAA_AcceptInvite"),
          (e[(e.kTRAA_RejectInvite = 6)] = "kTRAA_RejectInvite"),
          (e[(e.kTRAA_UnregisterTeam = 7)] = "kTRAA_UnregisterTeam"),
          (e[(e.kTRAA_TransferTeam = 8)] = "kTRAA_TransferTeam"),
          (e[(e.kTRAA_TransferTeamAdmin = 9)] = "kTRAA_TransferTeamAdmin"),
          (e[(e.kTRAA_InviteCoach = 10)] = "kTRAA_InviteCoach"),
          (e[(e.kTRAA_RemoveCoach = 11)] = "kTRAA_RemoveCoach"),
          (e[(e.kTRAA_CancelInviteCoach = 12)] = "kTRAA_CancelInviteCoach"),
          (e[(e.kTRAA_AcceptCoachInvite = 13)] = "kTRAA_AcceptCoachInvite"),
          (e[(e.kTRAA_RejectCoachInvite = 14)] = "kTRAA_RejectCoachInvite"),
          (e[(e.kTRAA_ValveUpdateName = 15)] = "kTRAA_ValveUpdateName"),
          (e[(e.kTRAA_ValveUpdateTeamName = 16)] = "kTRAA_ValveUpdateTeamName"),
          (e[(e.kTRAA_Penalty20 = 20)] = "kTRAA_Penalty20");
      })(S || (S = {}));
      const h = {
          0: "kTRAA_RegisterTeam",
          1: "kTRAA_InvitePlayer",
          2: "kTRAA_RemovePlayer",
          3: "kTRAA_CancelInvite",
          4: "kTRAA_RegisterPlayer",
          5: "kTRAA_AcceptInvite",
          6: "kTRAA_RejectInvite",
          7: "kTRAA_UnregisterTeam",
          8: "kTRAA_TransferTeam",
          9: "kTRAA_TransferTeamAdmin",
          10: "kTRAA_InviteCoach",
          11: "kTRAA_RemoveCoach",
          12: "kTRAA_CancelInviteCoach",
          13: "kTRAA_AcceptCoachInvite",
          14: "kTRAA_RejectCoachInvite",
          15: "kTRAA_ValveUpdateName",
          16: "kTRAA_ValveUpdateTeamName",
          20: "kTRAA_Penalty20",
        },
        N = [
          {
            enum: S.kTRAA_RegisterTeam,
            formatFunction: () =>
              "Registered a team or re-registered an existing team.",
          },
          {
            enum: S.kTRAA_InvitePlayer,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Invited a new/legacy player ",
                c.createElement("b", null, `${e}`),
                ".",
              ),
          },
          {
            enum: S.kTRAA_RemovePlayer,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Removed a legacy player ",
                c.createElement("b", null, `${e}`),
                ".",
              ),
          },
          {
            enum: S.kTRAA_CancelInvite,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " cancelled an issued invite.",
              ),
          },
          {
            enum: S.kTRAA_RegisterPlayer,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " registered a new player.",
              ),
          },
          {
            enum: S.kTRAA_AcceptInvite,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " accepted an invite.",
              ),
          },
          {
            enum: S.kTRAA_RejectInvite,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " rejected an invite.",
              ),
          },
          {
            enum: S.kTRAA_UnregisterTeam,
            formatFunction: () => "Manager removed the team registration.",
          },
          {
            enum: S.kTRAA_TransferTeam,
            formatFunction: () =>
              "Manager transferred the team wholesale to new management.",
          },
          {
            enum: S.kTRAA_TransferTeamAdmin,
            formatFunction: (e = "", t = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Manager transferred management to a new manager ",
                c.createElement("b", null, `${t}`, "."),
              ),
          },
          {
            enum: S.kTRAA_InviteCoach,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Invited a coach ",
                c.createElement("b", null, `${e}`),
                ".",
              ),
          },
          {
            enum: S.kTRAA_RemoveCoach,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Removed a coach ",
                c.createElement("b", null, `${e}`),
                ".",
              ),
          },
          {
            enum: S.kTRAA_CancelInviteCoach,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " cancelled an issued coach invite.",
              ),
          },
          {
            enum: S.kTRAA_AcceptCoachInvite,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " (coach) accepted an invite.",
              ),
          },
          {
            enum: S.kTRAA_RejectCoachInvite,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement("b", null, `${e}`),
                " (coach) rejected an invite.",
              ),
          },
          {
            enum: S.kTRAA_ValveUpdateName,
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                "Valve fixed a name for player ",
                c.createElement("b", null, `${e}`),
                ".",
              ),
          },
          {
            enum: S.kTRAA_ValveUpdateTeamName,
            formatFunction: () => "Valve updated the team name.",
          },
          {
            enum: S.kTRAA_Penalty20,
            formatFunction: () => "20% point penalty.",
          },
        ],
        k = [
          {
            key: "pro",
            displayName: "Pro?",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
          { key: "tag", displayName: "Tag" },
          { key: "abbreviation", displayName: "Abbreviation" },
          {
            key: "time_created",
            displayName: "Time Created",
            formatFunction: (e) =>
              e ? new Date(1e3 * e).toLocaleString() : "",
          },
          {
            key: "pickup_team",
            displayName: "Pickup Team?",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
          {
            key: "url",
            displayName: "URL",
            formatFunction: (e) =>
              e
                ? c.createElement(
                    c.Fragment,
                    null,
                    c.createElement("a", { href: e }, e),
                  )
                : "",
          },
          {
            key: "country_code",
            displayName: "Country Code",
            formatFunction: (e = "") => e.toUpperCase(),
          },
        ],
        A = [
          {
            key: "account_id",
            displayName: "Account ID",
            formatFunction: (e) => _(e),
          },
          { key: "name", displayName: "Name" },
          { key: "persona_name", displayName: "Persona Name" },
          {
            key: "is_pro",
            displayName: "Pro",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
          {
            key: "admin",
            displayName: "Admin",
            formatFunction: (e) => (e ? "YES" : "NO"),
          },
          {
            key: "kick_link",
            displayName: "KICK",
            formatFunction: (e, t) =>
              c.createElement(
                "div",
                {
                  className: y().Link,
                  onClick: async () => {
                    await r().get(`${e}`), setTimeout(() => t(), 1e3);
                  },
                },
                "KICK",
              ),
          },
          {
            key: "make_admin_link",
            displayName: "MAKE ADMIN",
            formatFunction: (e, t) =>
              !!e &&
              c.createElement(
                "div",
                {
                  className: y().Link,
                  onClick: async () => {
                    await r().get(`${e}`), setTimeout(() => t(), 1e3);
                  },
                },
                "MAKE ADMIN",
              ),
          },
        ],
        I = [
          {
            key: "manager_account_id",
            displayName: "Manager Account ID",
            formatFunction: (e) => _(e),
          },
          { key: "manager_email", displayName: "Manager Email" },
        ],
        v = [
          {
            key: "color_primary",
            displayName: "Color (Primary)",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                e &&
                  c.createElement(
                    "div",
                    null,
                    c.createElement("span", {
                      className: y().ColorBox,
                      style: { backgroundColor: e },
                    }),
                    " ",
                    e,
                  ),
              ),
          },
          {
            key: "color_secondary",
            displayName: "Color (Secondary)",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                e &&
                  c.createElement(
                    "div",
                    null,
                    c.createElement("span", {
                      className: y().ColorBox,
                      style: { backgroundColor: e },
                    }),
                    " ",
                    e,
                  ),
              ),
          },
          {
            key: "url_logo",
            displayName: "DPC Logo",
            formatFunction: (e = "", t = 0) =>
              c.createElement(
                c.Fragment,
                null,
                e &&
                  t &&
                  c.createElement(
                    "div",
                    { className: y().DPCLogoContainer },
                    c.createElement("img", {
                      onError: ({ currentTarget: e }) => {
                        (e.onerror = null),
                          (e.src = `${l.r.IMG_URL}teams_override/team_unknown_web.png`);
                      },
                      src: `${l.r.CDN_URL}apps/dota2/teamlogos/${t}.png`,
                    }),
                  ),
              ),
          },
        ],
        T = [
          {
            key: "ugc_logo_url",
            displayName: "Logo",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement(
                  "div",
                  { className: y().URLLogoContainer },
                  e && c.createElement("img", { src: e }),
                ),
              ),
          },
          {
            key: "ugc_base_logo_url",
            displayName: "Base Logo",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement(
                  "div",
                  { className: y().URLLogoContainer },
                  e && c.createElement("img", { src: e }),
                ),
              ),
          },
          {
            key: "ugc_banner_logo_url",
            displayName: "Banner Logo",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement(
                  "div",
                  { className: y().URLLogoContainer },
                  e && c.createElement("img", { src: e }),
                ),
              ),
          },
          {
            key: "ugc_sponsor_logo_url",
            displayName: "Sponsor Logo",
            formatFunction: (e = "") =>
              c.createElement(
                c.Fragment,
                null,
                c.createElement(
                  "div",
                  { className: y().URLLogoContainer },
                  e && c.createElement("img", { src: e }),
                ),
              ),
          },
        ],
        F = [
          {
            key: "account_id",
            displayName: "Account ID",
            formatFunction: (e) => _(e),
          },
          {
            key: "timestamp",
            displayName: "Timestamp",
            formatFunction: (e) =>
              e ? new Date(1e3 * e).toLocaleString() : "",
          },
          {
            key: "action",
            displayName: "Action Enum",
            formatFunction: (e) => `${h[e]} (${e})`,
          },
          {
            key: "action",
            displayName: "Audit Action",
            formatFunction: (e, t = "", a = "") =>
              N.find((t) => t.enum === e).formatFunction.call(null, t, a),
          },
        ],
        R = [
          { key: "workshop_account_id", displayName: "Workshop Account ID" },
          {
            key: "comment",
            displayName: "Comment",
            formatFunction: (e) => (e ? `"${e}"` : ""),
          },
          {
            key: "comment_timestamp",
            displayName: "Last Comment",
            formatFunction: (e) =>
              e ? new Date(1e3 * e).toLocaleString() : "",
          },
          { key: "spray_count", displayName: "Sprays" },
          { key: "wallpaper_count", displayName: "Wallpapers" },
          { key: "emoticon_count", displayName: "Emoticons" },
          { key: "voiceline_count", displayName: "Voicelines" },
          {
            key: "timestamp",
            displayName: "Last Changed",
            formatFunction: (e) =>
              e ? new Date(1e3 * e).toLocaleString() : "",
          },
        ],
        D = [
          { key: "series_id", displayName: "Series ID" },
          {
            key: "scheduled_time",
            displayName: "Series Date & Time",
            formatFunction: (e) =>
              e ? new Date(1e3 * e).toLocaleString() : "",
          },
          {
            key: "outcome",
            displayName: "Outcome",
            formatFunction: (e) =>
              c.createElement(
                "div",
                {
                  style: {
                    color:
                      "" +
                      ("Win" === e
                        ? "green"
                        : "Loss" === e
                          ? "red"
                          : "Tie" === e
                            ? "yellow"
                            : "skyblue"),
                  },
                },
                e,
              ),
          },
          { key: "score", displayName: "Score" },
          {
            key: "opponent_team_id",
            displayName: "Opponent",
            formatFunction: (e, t) => {
              return c.createElement(
                c.Fragment,
                null,
                `${t} ( `,
                ((a = e),
                c.createElement(
                  "a",
                  { href: `${l.r.BASE_URL}${u.J.teamdetails(a).substr(1)}` },
                  a,
                )),
                " )",
              );
              var a;
            },
          },
          {
            key: "matches",
            displayName: "Match IDs",
            formatFunction: (e) => {
              const t = [];
              return (
                t.push(
                  e.map((e) => {
                    return [
                      ((t = e.match_id),
                      c.createElement(
                        "a",
                        {
                          key: t,
                          href: `${l.r.BASE_URL}matches/match/${t}?u=${f}&appid=${l.r.DOTA_APP_ID}`,
                        },
                        t,
                      )),
                      c.createElement(
                        "span",
                        { key: `${e.match_id}-tab` },
                        " ",
                      ),
                    ];
                    var t;
                  }),
                ),
                t
              );
            },
          },
        ],
        b = (e) => {
          const t = (0, o.g)().id,
            [a, n] = (0, c.useState)([]),
            [u, E] = (0, c.useState)(!1),
            [_, h] = (0, c.useState)(!1),
            [N, b] = (0, c.useState)({}),
            [C, M] = (0, c.useState)(!1),
            [O, L] = (0, c.useState)(!1),
            [w, P] = (0, c.useState)({}),
            [H, G] = (0, c.useState)([]),
            [$, U] = (0, c.useState)(!0),
            [B, x] = (0, c.useState)([]);
          async function K() {
            if (
              !l.r.DOTA_APP_ID ||
              !l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD
            )
              return;
            const e = {
                appid: l.r.DOTA_APP_ID,
                registration_period:
                  l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD,
              },
              t = await r().get(
                l.r.BASE_URL + "webapi/IDOTA2Teams/GetRegisteredTeams/v001",
                { params: e },
              ),
              a = t?.data?.result?.teams || [];
            a.length && n(a), E(!0);
          }
          async function W() {
            if (
              !l.r.DOTA_APP_ID ||
              !l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD ||
              !t
            )
              return;
            const e = { appid: l.r.DOTA_APP_ID, u: f, team_id: t },
              a = await r().get(
                l.r.BASE_URL + "webapi/IDOTA2Teams/GetSingleTeamInfo/v001",
                { params: e },
              ),
              n = a?.data,
              o = n.members || [];
            try {
              const e = await r().get(l.r.BASE_URL + "teams/getugcfilelinks/", {
                params: { team_id: t },
              });
              e.data && Object.assign(n, e.data),
                await Promise.all(
                  o.map(async (e, t) => {
                    const a = await r().get(
                      l.r.BASE_URL + "webapi/IDOTA2Fantasy/GetPlayerInfo/v0001",
                      { params: { account_id: e.account_id } },
                    );
                    (o[t].is_pro = !!a?.data?.is_pro),
                      (o[t].name = a?.data?.name || "");
                    const n = await r().get(
                      l.r.BASE_URL + "teams/getpersonaname/",
                      { params: { account_id: e.account_id } },
                    );
                    o[t].persona_name = n?.data || "";
                  }),
                );
              const a = (e, t) =>
                e.is_pro && !t.is_pro
                  ? -1
                  : !e.is_pro && t.is_pro
                    ? 1
                    : e.admin && !t.admin
                      ? -1
                      : (!e.admin && t.admin) ||
                          e?.pro_name.toLowerCase() > t?.pro_name.toLowerCase()
                        ? 1
                        : e?.pro_name.toLowerCase() < t?.pro_name.toLowerCase()
                          ? -1
                          : 0;
              o.sort(a);
            } catch (e) {
              console.log("Error fetching individual player info.");
            }
            a && a.data && b(n), M(!0);
          }
          (0, c.useEffect)(() => {
            try {
              !(async function () {
                if (!l.r.DOTA_TEAM_FAN_UPLOAD_CONTENT_SEASON) return;
                const e = { season: l.r.DOTA_TEAM_FAN_UPLOAD_CONTENT_SEASON },
                  a = await r().get(
                    l.r.BASE_URL +
                      "webapi/IDOTA2Teams/GetFanContentStatus/v0001",
                    { params: e },
                  ),
                  n = a?.data?.team_status_list || [];
                if (n.length && t) {
                  const e = n.find((e) => e.team_id.toString() == t);
                  e && P(e);
                }
              })();
            } catch (e) {
              console.log("Could not fetch fan content status.");
            }
          }, [t]),
            (0, c.useEffect)(() => {
              try {
                K();
              } catch (e) {
                console.log("Could not fetch registered teams."), h(!0);
              }
            }, []),
            (0, c.useEffect)(() => {
              try {
                W();
              } catch (e) {
                console.log("Could not fetch single team info."), L(!0);
              }
            }, [t]),
            (0, c.useEffect)(() => {
              try {
                !(async function () {
                  if (
                    !l.r.DOTA_APP_ID ||
                    !l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD ||
                    !t
                  )
                    return;
                  const e = {
                      team_id: t,
                      registration_period:
                        l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD,
                    },
                    a = await r().get(
                      l.r.BASE_URL +
                        "webapi/IDOTA2Teams/GetTeamAuditInformation/v001",
                      { params: e },
                    ),
                    n = a?.data,
                    o = n?.actions || [];
                  await Promise.all(
                    o.map(async (e) => {
                      if (
                        e.action === S.kTRAA_TransferTeamAdmin &&
                        e.account_id
                      ) {
                        const t = await r().get(
                          l.r.BASE_URL + "teams/getpersonaname/",
                          { params: { account_id: e.account_id } },
                        );
                        e.target_manager_name = t?.data || "";
                      }
                    }),
                  ),
                    a && a.data && n.actions && x(n.actions);
                })();
              } catch (e) {
                console.log("Could not fetch single team info."), L(!0);
              }
            }, [t]),
            (0, c.useEffect)(() => {
              let e;
              try {
                e = JSON.parse(l.r.DPC_DATA).events;
              } catch (e) {}
              if (!e) return;
              e = e.filter(
                (e) =>
                  e.registration_period ===
                  l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD,
              );
              let a = [];
              for (let t of e) {
                const e = t.leagues.map((e) => e.league_id);
                a.push(...e);
              }
              a.sort(),
                (a = a.filter((e, t, a) => a.indexOf(e) == t)),
                a.length > 50 && (a = a.slice(a.length - 50));
              try {
                !(async function () {
                  if (!a.length) return;
                  const e = { league_ids: a.join(",") },
                    n = await r().get(
                      l.r.BASE_URL + "webapi/IDOTA2League/GetLeaguesData/v001",
                      { params: e },
                    ),
                    o = n?.data,
                    c = o?.leagues,
                    s = [];
                  for (let e of c)
                    for (let a of e.node_groups)
                      for (let n of a.node_groups)
                        for (let a of n.nodes)
                          a.team_id_1 &&
                            a.team_id_2 &&
                            (a.team_id_1 == t || a.team_id_2 == t) &&
                            ((a.league_name =
                              e.info.name + ` (${e.info.league_id})`),
                            a.team_id_1 == t
                              ? ((a.opponent_team_id = a.team_id_2),
                                a.team_1_wins > a.team_2_wins
                                  ? (a.outcome = "Win")
                                  : a.team_1_wins === a.team_2_wins
                                    ? (a.outcome = "Tie")
                                    : (a.outcome = "Loss"),
                                (a.score = `${a.team_1_wins} - ${a.team_2_wins}`))
                              : ((a.opponent_team_id = a.team_id_1),
                                a.team_2_wins > a.team_1_wins
                                  ? (a.outcome = "Win")
                                  : a.team_2_wins === a.team_1_wins
                                    ? (a.outcome = "Tie")
                                    : (a.outcome = "Loss"),
                                (a.score = `${a.team_2_wins} - ${a.team_1_wins}`)),
                            0 === a.team_1_wins &&
                              0 === a.team_2_wins &&
                              a.scheduled_time &&
                              new Date().getTime() < 1e3 * a.scheduled_time &&
                              (a.outcome = "Upcoming"),
                            s.push(a));
                  var m;
                  s.sort((e, t) =>
                    e.scheduled_time > t.scheduled_time
                      ? -1
                      : e.scheduled_time < t.scheduled_time
                        ? 1
                        : 0,
                  ),
                    s.length &&
                      G(
                        ((m = "league_name"),
                        s.reduce(
                          (e, t) => ({ ...e, [t[m]]: [...(e[t[m]] || []), t] }),
                          {},
                        )),
                      );
                })();
              } catch (e) {
                console.log("Could not fetch leagues data.");
              }
            }, [t]);
          const Y = a.find((e) => e.team_id == t) || {};
          let j;
          if (
            ((u && C) || (j = c.createElement("div", null, "Loading...")),
            u &&
              (0 == a.length || _) &&
              (j = c.createElement(
                "div",
                null,
                "Error loading registered teams...",
              )),
            C &&
              (0 == Object.keys(N).length || O) &&
              (j = c.createElement(
                "div",
                null,
                `Error loading single team info for teamId ${t} `,
              )),
            j)
          )
            return c.createElement(
              "div",
              { className: y().TeamDetails },
              c.createElement(i.A, { bOverlapping: !1 }),
              c.createElement(
                s.mg,
                null,
                c.createElement("title", null, "Dota 2 - Team Details"),
              ),
              c.createElement(p.A, null),
              c.createElement("div", { className: y().ContentFrame }, j),
              c.createElement(d.K, null),
            );
          const V = N.members || [];
          V.forEach((e) => {
            (e.kick_link = `${l.r.BASE_URL}webapi/IDOTA2Teams/RemoveTeamMember/v0001?u=${f}&appid=${l.r.DOTA_APP_ID}&team_id=${t}&account_id=${e.account_id}`),
              (e.make_admin_link = e.admin
                ? ""
                : `${l.r.BASE_URL}webapi/IDOTA2Teams/SetTeamAdmin/v0001?u=${f}&appid=${l.r.DOTA_APP_ID}&team_id=${t}&account_id=${e.account_id}`);
          });
          const q = (e) => {
            const t = a.find((t) => t.team_id == e);
            return t ? t.team_name : "";
          };
          return c.createElement(
            "div",
            { className: y().TeamDetails },
            c.createElement(i.A, { bOverlapping: !1 }),
            c.createElement(
              s.mg,
              null,
              c.createElement("title", null, "Dota 2 - Team Details"),
            ),
            c.createElement(p.A, null),
            c.createElement(
              "div",
              { className: y().ContentFrame },
              c.createElement(
                "h1",
                { className: y().Header },
                `Team Details for ${N?.name} (${N.team_id})`,
              ),
              c.createElement(
                "div",
                { className: y().MiscInfoGrid },
                k.map((e) =>
                  c.createElement(
                    c.Fragment,
                    { key: `${e.key}-misc-row` },
                    c.createElement("div", null, e.displayName || e.key),
                    c.createElement(
                      "div",
                      null,
                      e.formatFunction
                        ? e.formatFunction.call(null, N[e.key])
                        : JSON.stringify(N[e.key] || "", null, 2).replace(
                            /['"]+/g,
                            "",
                          ),
                    ),
                  ),
                ),
                !$ &&
                  c.createElement(
                    c.Fragment,
                    null,
                    c.createElement(
                      "div",
                      { className: y().Link, onClick: () => U(!0) },
                      "Update Info / Add Member",
                    ),
                    c.createElement("div", null),
                  ),
              ),
              $ &&
                c.createElement(
                  c.Fragment,
                  null,
                  c.createElement("div", { className: y().SmoothLine }),
                  c.createElement(
                    ({ strTeamId: e }) => {
                      const [t, a] = (0, c.useState)(""),
                        [n, o] = (0, c.useState)(""),
                        [s, m] = (0, c.useState)(""),
                        [i, d] = (0, c.useState)(!1);
                      return c.createElement(
                        "form",
                        {
                          onSubmit: async (a) => {
                            if ((a.preventDefault(), !t && !n && !s)) return;
                            d(!0);
                            const o = {
                              team_id: e,
                              team_name: t,
                              team_tag: n,
                              team_abbreviation: s,
                            };
                            await r().get(
                              `${l.r.BASE_URL}webapi/IDOTA2Teams/EditTeamName/v0001`,
                              { params: o },
                            );
                            W(), setTimeout(() => d(!1), g);
                          },
                        },
                        c.createElement(
                          "h2",
                          { className: y().Header },
                          "Update Team Information",
                        ),
                        c.createElement(
                          "div",
                          { className: y().EditInfoGrid },
                          c.createElement("div", null, "Team Name"),
                          c.createElement("input", {
                            className: y().MediumTextField,
                            type: "text",
                            name: "teamName",
                            maxLength: 32,
                            onChange: (e) => a(e.target.value),
                          }),
                          c.createElement("div", null, "Tag"),
                          c.createElement("input", {
                            className: y().SmallTextField,
                            type: "text",
                            name: "teamTag",
                            maxLength: 8,
                            onChange: (e) => o(e.target.value),
                          }),
                          c.createElement("div", null, "Abbreviation"),
                          c.createElement("input", {
                            className: y().SmallTextField,
                            type: "text",
                            name: "teamAbbreviation",
                            maxLength: 4,
                            onChange: (e) => m(e.target.value),
                          }),
                          c.createElement(
                            "div",
                            null,
                            c.createElement(
                              "button",
                              { className: y().SubmitButton, disabled: i },
                              i ? "Updating..." : "Update",
                            ),
                          ),
                        ),
                      );
                    },
                    { strTeamId: t },
                  ),
                  c.createElement("div", { className: y().SmoothLine }),
                  c.createElement(
                    ({ strTeamId: e }) => {
                      const [t, a] = (0, c.useState)(""),
                        [n, o] = (0, c.useState)(!1);
                      return c.createElement(
                        "form",
                        {
                          onSubmit: async (a) => {
                            if ((a.preventDefault(), !t)) return;
                            o(!0);
                            const n = { team_id: e, account_id: t };
                            await r().get(
                              `${l.r.BASE_URL}webapi/IDOTA2Teams/AddTeamMember/v0001`,
                              { params: n },
                            );
                            W(), setTimeout(() => o(!1), g);
                          },
                        },
                        c.createElement(
                          "h2",
                          { className: y().Header },
                          "Add Team Member",
                        ),
                        c.createElement(
                          "div",
                          { className: y().EditInfoGrid },
                          c.createElement("div", null, "Account ID"),
                          c.createElement("input", {
                            className: y().MediumTextField,
                            type: "text",
                            name: "accountId",
                            maxLength: 20,
                            onChange: (e) => a(e.target.value),
                          }),
                          c.createElement(
                            "div",
                            null,
                            c.createElement(
                              "button",
                              { className: y().SubmitButton, disabled: n },
                              n ? "Adding..." : "Add Account",
                            ),
                          ),
                        ),
                      );
                    },
                    { strTeamId: t },
                  ),
                ),
              c.createElement("div", { className: y().SmoothLine }),
              c.createElement("h2", { className: y().Header }, "Members"),
              c.createElement(
                "div",
                {
                  className: y().MembersGrid,
                  style: {
                    gridTemplateColumns: `250px repeat(${A.length - 1}, auto)`,
                  },
                },
                c.createElement(
                  c.Fragment,
                  null,
                  A.map((e) =>
                    c.createElement(
                      "div",
                      { key: `${e.key}-members-grid-header}` },
                      c.createElement("b", null, e.displayName || e.key),
                    ),
                  ),
                ),
                c.createElement(
                  c.Fragment,
                  null,
                  !!V.length &&
                    V.map((e) =>
                      A.map((t) =>
                        c.createElement(
                          "div",
                          { key: `${t.key}-member-row-${e.account_id}` },
                          t.formatFunction
                            ? t.formatFunction.call(null, e[t.key], W)
                            : JSON.stringify(e[t.key] || "", null, 2).replace(
                                /['"]+/g,
                                "",
                              ),
                        ),
                      ),
                    ),
                  !V.length && c.createElement("div", null, "No team members."),
                ),
              ),
              c.createElement("br", null),
              c.createElement(
                "div",
                {
                  className: y().ManagerGrid,
                  style: {
                    gridTemplateColumns: `250px repeat(${I.length - 1}, auto)`,
                  },
                },
                c.createElement(
                  c.Fragment,
                  null,
                  I.map((e) =>
                    c.createElement(
                      "div",
                      { key: `${e.key}-manager-grid-header}` },
                      c.createElement("b", null, e.displayName || e.key),
                    ),
                  ),
                ),
                c.createElement(
                  c.Fragment,
                  null,
                  I.map((e) =>
                    c.createElement(
                      c.Fragment,
                      { key: `${e.key}-manager-row` },
                      c.createElement(
                        "div",
                        null,
                        e.formatFunction
                          ? e.formatFunction.call(null, Y[e.key])
                          : JSON.stringify(Y[e.key] || "", null, 2).replace(
                              /['"]+/g,
                              "",
                            ),
                      ),
                    ),
                  ),
                  !I.length && c.createElement("div", null, "No manager."),
                ),
              ),
              $ &&
                c.createElement(
                  c.Fragment,
                  null,
                  c.createElement("div", { className: y().SmoothLine }),
                  c.createElement(
                    ({ strTeamId: e }) => {
                      const [t, a] = (0, c.useState)(""),
                        [n, o] = (0, c.useState)(""),
                        [s, m] = (0, c.useState)(!1);
                      return c.createElement(
                        "form",
                        {
                          onSubmit: async (e) => {
                            if ((e.preventDefault(), !t || !n)) return;
                            m(!0);
                            const a = {
                              admin_account_id: parseInt(t),
                              admin_email: n,
                              registration_period:
                                l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD,
                            };
                            await r().post(
                              `${l.r.BASE_URL}webapi/IDOTA2Teams/UpdateRegisteredTeamData/v0001?u=${f}&appid=${l.r.DOTA_APP_ID}`,
                              { params: a },
                            );
                            K(), setTimeout(() => m(!1), g);
                          },
                        },
                        c.createElement(
                          "h2",
                          { className: y().Header },
                          "Update Manager Email",
                        ),
                        c.createElement(
                          "div",
                          { className: y().EditInfoGrid },
                          c.createElement("div", null, "Manager Account ID"),
                          c.createElement("input", {
                            className: y().MediumTextField,
                            type: "text",
                            name: "adminAccountId",
                            maxLength: 20,
                            onChange: (e) => a(e.target.value),
                          }),
                          c.createElement("div", null, "Manager Email"),
                          c.createElement("input", {
                            className: y().MediumTextField,
                            type: "email",
                            name: "adminEmail",
                            maxLength: 255,
                            onChange: (e) => o(e.target.value),
                          }),
                          c.createElement(
                            "div",
                            null,
                            c.createElement(
                              "button",
                              { className: y().SubmitButton, disabled: s },
                              s ? "Updating..." : "Update Manager Email",
                            ),
                          ),
                        ),
                      );
                    },
                    { strTeamId: t },
                  ),
                ),
              c.createElement("div", { className: y().SmoothLine }),
              c.createElement(
                "h2",
                { className: y().Header },
                "Logos & Colors",
              ),
              c.createElement(
                "div",
                { className: y().LogoAndColorsGrid },
                v.map((e) =>
                  c.createElement(
                    c.Fragment,
                    { key: `${e.key}-logo-colors-row` },
                    c.createElement("div", null, e.displayName || e.key),
                    c.createElement(
                      "div",
                      null,
                      e.formatFunction
                        ? e.formatFunction.call(null, N[e.key], N.team_id)
                        : JSON.stringify(N[e.key] || "", null, 2).replace(
                            /['"]+/g,
                            "",
                          ),
                    ),
                  ),
                ),
              ),
              c.createElement("br", null),
              c.createElement(
                "div",
                {
                  className: y().UGCLogosGrid,
                  style: { gridTemplateColumns: `repeat(${T.length}, auto)` },
                },
                c.createElement(
                  c.Fragment,
                  null,
                  T.map((e) =>
                    c.createElement(
                      "div",
                      { key: `${e.key}-ugc-grid-header}` },
                      c.createElement("b", null, e.displayName || e.key),
                    ),
                  ),
                ),
                c.createElement(
                  c.Fragment,
                  null,
                  T.map((e) =>
                    c.createElement(
                      "div",
                      { key: `${e.key}-ugc-logo` },
                      e.formatFunction
                        ? e.formatFunction.call(null, N[e.key])
                        : JSON.stringify(N[e.key] || "", null, 2).replace(
                            /['"]+/g,
                            "",
                          ),
                    ),
                  ),
                ),
              ),
              c.createElement("div", { className: y().SmoothLine }),
              c.createElement(
                "h2",
                { className: y().Header },
                "Audit Action History",
              ),
              c.createElement(
                "div",
                {
                  className: y().AuditActionsGrid,
                  style: { gridTemplateColumns: `repeat(${F.length}, auto)` },
                },
                c.createElement(
                  c.Fragment,
                  null,
                  F.map((e) =>
                    c.createElement(
                      "div",
                      {
                        key: `${e.key}-${e.displayName}-audit-action-grid-header`,
                      },
                      c.createElement("b", null, e.displayName || e.key),
                    ),
                  ),
                ),
                c.createElement(
                  c.Fragment,
                  null,
                  !!B.length &&
                    B.map((e) =>
                      F.map((t) =>
                        c.createElement(
                          "div",
                          { key: `${t.key}-${t.displayName}-${e.timestamp}` },
                          t.formatFunction
                            ? t.formatFunction.call(
                                null,
                                e[t.key],
                                e.player_name,
                                e.target_manager_name,
                              )
                            : JSON.stringify(e[t.key] || "", null, 2).replace(
                                /['"]+/g,
                                "",
                              ),
                        ),
                      ),
                    ),
                  !B.length &&
                    c.createElement("div", null, "No audit actions."),
                ),
              ),
              c.createElement("div", { className: y().SmoothLine }),
              c.createElement(
                "h2",
                { className: y().Header },
                "Supporters Club / Workshop Status",
              ),
              c.createElement(
                "div",
                { className: y().WorkshopStatusGrid },
                R.map((e) =>
                  c.createElement(
                    c.Fragment,
                    { key: `${e.key}-workshop-status-row` },
                    c.createElement("div", null, e.displayName || e.key),
                    c.createElement(
                      "div",
                      null,
                      e.formatFunction
                        ? e.formatFunction.call(null, w[e.key])
                        : JSON.stringify(w[e.key] || "", null, 2).replace(
                            /['"]+/g,
                            "",
                          ),
                    ),
                  ),
                ),
              ),
              c.createElement("div", { className: y().SmoothLine }),
              c.createElement(
                "h2",
                { className: (0, m.A)(y().Header, y().SeasonMatchHeader) },
                `Season ${l.r.DOTA_LEAGUE_CURRENT_REGISTRATION_PERIOD} Matches`,
              ),
              c.createElement(
                "div",
                {
                  className: y().MatchesGrid,
                  style: { gridTemplateColumns: `repeat(${D.length}, auto)` },
                },
                c.createElement(
                  c.Fragment,
                  null,
                  (() => {
                    const e = [];
                    return (
                      Object.keys(H).forEach((t, a) => {
                        e.push(
                          c.createElement(
                            "h3",
                            {
                              key: `league-name-row-${a}`,
                              style: { gridColumn: `span ${D.length}` },
                            },
                            c.createElement("b", null, t),
                          ),
                        ),
                          e.push(
                            D.map((e) =>
                              c.createElement(
                                "div",
                                {
                                  key: `${e.key}-${e.displayName}-matches-grid-header-league-${a}`,
                                },
                                c.createElement(
                                  "b",
                                  null,
                                  e.displayName || e.key,
                                ),
                              ),
                            ),
                          );
                        for (let a of H[t])
                          e.push(
                            D.map((e) =>
                              c.createElement(
                                "div",
                                {
                                  key: `${e.key}-${e.displayName}-${a.series_id}`,
                                },
                                e.formatFunction
                                  ? e.formatFunction.call(
                                      null,
                                      a[e.key],
                                      q(a.opponent_team_id),
                                    )
                                  : JSON.stringify(
                                      a[e.key] || "",
                                      null,
                                      2,
                                    ).replace(/['"]+/g, ""),
                              ),
                            ),
                          );
                      }),
                      e
                    );
                  })(),
                  !Object.keys(H).length &&
                    c.createElement(
                      "div",
                      null,
                      c.createElement("br", null),
                      "No league matches.",
                    ),
                ),
              ),
              c.createElement("br", null),
            ),
            c.createElement(d.K, null),
          );
        };
      class C extends c.Component {
        render() {
          return c.createElement(b, null);
        }
      }
    },
  },
]);
