/*
 *  GRUB  --  GRand Unified Bootloader
 *  Copyright (C) 2003,2005,2006,2007,2009  Free Software Foundation, Inc.
 *
 *  GRUB is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  GRUB is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef GRUB_ENV_PRIVATE_HEADER
#define GRUB_ENV_PRIVATE_HEADER	1

#include <grub/env.h>

/* The size of the hash table.  */
#define	HASHSZ	13

/* A hashtable for quick lookup of variables.  */
struct grub_env_context
{
  /* A hash table for variables.  */
  struct grub_env_var *vars[HASHSZ];

  /* One level deeper on the stack.  */
  struct grub_env_context *prev;
};

/* This is used for sorting only.  */
struct grub_env_sorted_var
{
  struct grub_env_var *var;
  struct grub_env_sorted_var *next;
};

extern struct grub_env_context *EXPORT_VAR(grub_current_context);

#endif /* ! GRUB_ENV_PRIVATE_HEADER */


nSession();
			t = s.BeginTransaction();

			u = (User) await (s.CreateQuery("from User u where u.name = :name").SetParameter("name", "emmanuel").UniqueResultAsync());
			Assert.AreEqual("emmanuel", u.Name);
			await (s.DeleteAsync(u));

			await (t.CommitAsync());
			s.Close();
		}
	}
}


      !F || (P && !m.stagger))
      ) {
        if (
          ((p = (l = E[0] ? fa(E[0]).harness : 0) && m[l.prop]),
          (i = ua(m, ft)),
          S &&
            (S._zTime < 0 && S.progress(1),
            e < 0 && M && y && !A
              ? S.render(-1, !0)
              : S.revert(M && C ? ht : ut),
            (S._lazy = 0)),
          v)
        ) {
          if (
            (za(
              (t._startAt = Zt.set(
                E,
                qa(
                  {
                    data: "isStart",
                    overwrite: !1,
                    parent: D,
                    immediateRender: !0,
                    lazy: !S && w(T),
                    startAt: null,
                    delay: 0,
                    onUpdate: b,
                    onUpdateParams: x,
                    callbackScope: k,
                    stagger: 0,
                  },
                  v
                )
              ))
            ),
            (t._startAt._dp = 0),
            (t._startAt._sat = t),
            e < 0 && (L || (!y && !A)) && t._startAt.revert(ht),
            y && C && e <= 0 && r <= 0)
          )
            return void (e && (t._zTime = e));
        } else if (M && C && !S)
          if (
            (e && (y = !1),
            (a = qa(
              {
                overwrite: !1,
                data: "isFromStart",
                lazy: y && !S && w(T),
                immediateRender: y,
                stagger: 0,
                parent: D,
              },
              i
            )),
            p && (a[l.prop] = p),
            za((t._startAt = Zt.set(E, a))),
            (t._startAt._dp = 0),
            (t._startAt._sat = t),
            e < 0 && (L ? t._startAt.revert(ht) : t._startAt.render(-1, !0)),
            (t._zTime = e),
            y)
          ) {
            if (!e) return;
          } else _initTween(t._startAt, X, X);
        for (
          t._pt = t._ptCache = 0, T = (C && w(T)) || (T && !C), n = 0;
          n < E.length;
          n++
        ) {
          if (
            ((h = (o = E[n])._gsap || ea(E)[n]._gsap),
            (t._ptLookup[n] = c = {}),
            dt[h.id] && ct.length && ma(),
            (d = z === E ? n : z.indexOf(o)),
            l &&
              !1 !== (f = new l()).init(o, p || i, t, d, z) &&
              ((t._pt = s =
                new _e(t._pt, o, f.name, 0, 1, f.render, f, 0, f.priority)),
              f._props.forEach(function (t) {
                c[t] = s;
              }),
              f.priority && (u = 1)),
            !l || p)
          )
            for (a in i)
              pt[a] && (f = ac(a, i, t, d, o, z))
                ? f.priority && (u = 1)
                : (c[a] = s =
                    Qt.call(t, o, a, "get", i[a], d, z, 0, m.stringFilter));
          t._op && t._op[n] && t.kill(o, t._op[n]),
            R &&
              t._pt &&
              ((Nt = t),
              I.killTweensOf(o, c, t.


        <hx-password-control>
          <input
            placeholder="Please Enter Password"
            type="password"
          />
          Valid w/ Placeholder
        </hx-password-control>

        <hx-password-control class="hxInvalid">
          <input
            placeholder="Please Enter Password"
            type="password"
          />
          Invalid w/ Placeholder
        </hx-password-control>

        <hx-password-control>
          <input
            disabled
            placeholder="Please Enter Password"
            type="password"
          />
          Disabled w/ Placeholder
        </hx-password-control>

Layout

        <hx-icon type="info-circle"></hx-icon>
        Extra elements should not be visible.

        input + label
        <hx-password-control>
          <input type="password" />
          Password
        </hx-password-control>

        input + label.hxRequired
        <hx-password-control>
          <input type="password" />
          Password
        </hx-password-control>

        input + label + div
        <hx-password-control>
          <input type="password" />
          Password

DIV

        </hx-password-control>

{% endblock %}
---
title: Testing - File Tile
crumbs:
  - path: components/file
    label: File
---
{% extends 'test.njk' %}

{% block content %}

Sub-optimal Attributes

Empty Element

        <hx-file-tile></hx-file-tile>

Name Only (no extension)

        <hx-file-tile
          name="filename-without-extension"
        ></hx-file-tile>

Name Only (with extension)

        <hx-file-tile
          name="file-name-with-extension.docx"
        ></hx-file-tile>

Details Only

        <hx-file-tile
          details="0Kb"
        ></hx-file-tile>

Very Long Details Only

        <hx-file-tile
          details="The quick brown fox jumps over the lazy dog and stuff"
        ></hx-file-tile>

Unknown Icon

        <hx-file-tile
          icon="shenanigans"
          name="invalid.ico"
        ></hx-file-tile>
        icon =


-session first-party tracking tests
            Which browsers prevent websites from tracking you across browser sessions?

          A common vulnerability of web browsers is that they allow websites ("first parties") to 'tag' your browser with some tracking data. This tag can be used to re-identify you when you return to a website you visited before. This category of leaks can be prevented by browser if they clean or isolate data between browser sessions. (In cases where a user has logged into a website or entered detailed information, it may be justifiable for a browser to retain information across sessions. These tests check when no such justification exists: when you have entered no significant information into a website, will the browser still retain data that allows you to be tracked across sessions?)

Alt-SvcAlt-Svc allows the server to indicate to the web browser that a resource should be loaded on a different server. Because this is a persistent setting, it could be used to track users across websites if it is not correctly partitioned.

 –
write: async () => {
      // Clear Alt-Svc caching first.
      let responseText = "";
      for (let i = 0; i < 3; ++i) {
        await fetch(altSvcOrigin + "/clear");
        await sleepMs(100);
      }
      responseText = await fetchText(altSvcOrigin + "/protocol");
      console.log("after clear:", responseText);
      // Store "h3" state in Alt-Svc cache
      for (let i = 0; i < 3; ++i) {
        await fetch(altSvcOrigin + "/set");
        await sleepMs(100);
      }
      responseText = await fetchText(altSvcOrigin + "/protocol");
      console.log("after set:", responseText);
    }

read: async () => {
      const protocol = await fetchText(altSvcOrigin + "/protocol");
      if ((new URL(location)).searchParams.get("thirdparty") === "same") {
        if (protocol !== "h3") {
          throw new Error("Unsupported");
        }
      }
      return protocol;
    }

result, same session: h2, h2, h2, h2, h2

result, different session: h2, h2, h2, h2, h2

unsupported: true, true, true, true, true

passed: undefined

test failed: false, false, false, false, false

CacheStorageThe Cache API is a content storage mechanism originally introduced to support ServiceWorkers. If the same Cache object is accessible to multiple websites, it can be abused to track users.

 –
write: async (key) => {
      try {
        let cache = await caches.open("supercookies");
        cache.addAll([`test.css?key=${key}`]);
      } catch (e) {
        throw new Error("Unsupported");
      }
    }

read: async () => {
      let cache = await caches.open("supercookies");
      let cacheKeys = await cache.keys();
      let url = cacheKeys[0].url;
      return (new URL(url)).searchParams.get("key");
    }

result, same session: Error: undefined is not an object (evaluating 'cacheKeys[0].url'), Error: un


LinkLuaModifier("modifier_kobold_foreman_warcry_oaa_buff", "abilities/neutrals/oaa_kobold_foreman_warcry.lua", LUA_MODIFIER_MOTION_NONE)

kobold_foreman_warcry_oaa = class(AbilityBaseClass)

function kobold_foreman_warcry_oaa:OnSpellStart()
  local caster = self:GetCaster()
  local radius = self:GetSpecialValueFor("radius")
  local duration = self:GetSpecialValueFor("buff_duration")

  local allies = FindUnitsInRadius(
    caster:GetTeamNumber(),
    caster:GetOrigin(),
    nil,
    radius,
    DOTA_UNIT_TARGET_TEAM_FRIENDLY,
    bit.bor(DOTA_UNIT_TARGET_HERO, DOTA_UNIT_TARGET_BASIC),
    bit.bor(DOTA_UNIT_TARGET_FLAG_INVULNERABLE, DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD),
    FIND_ANY_ORDER,
    false
  )

  for _, ally in pairs(allies) do
    -- Apply a buff
    if ally then
      ally:AddNewModifier(caster, self, "modifier_kobold_foreman_warcry_oaa_buff", { duration = duration } )
    end
  end
end

--------------------------------------------------------------------------------

modifier_kobold_foreman


",
"aglaucopsia":"[医] 绿色盲",
"aglaukopsia":"[医] 绿色盲",
"agleam":"a. 光亮的, 闪亮的",
"agler":"n. (Agler)人名；(罗)阿格勒尔",
"aglet":"n. 金属小箍, 金属饰物",
"agley":"adv. 斜斜地, 歪地",
"aglia":"[医] 角膜斑, 巩膜斑",
"aglianico":"[网络] 阿里亚尼考；艾格尼科；亚里亚尼可",
"aglimmer":"a. 闪烁的\\nadv. 闪烁地",
"aglio":"n. (Aglio)人名；(意、西)阿利奥",
"aglionby":"n. (Aglionby)人名；(英)阿格利昂比",
"aglitter":"a. 闪闪发光的\\nadv. 闪闪发光地",
"aglobulia":"[医] 红细胞减少",
"aglobuliosis":"[医] 红细胞减少",
"aglobulism":"[医] 红细胞减少",
"aglomerular":"[医] 无肾小球的",
"aglomerular kidney":"[医] 无小球[性]肾",
"Aglossa":"无舌亚目",
"aglossal":"a. 【病理学】无舌的",
"aglossia":"[医] 无舌[畸形]; 出言不能",
"aglossostoma":"[医] 无舌锁口畸胎",
"aglossostomia":"[医] 无舌锁口[畸形]",
"aglossus":"[医] 无舌畸胎",
"aglow":"a. 发光的, 通红的\\nadv. 发光地",
"aglu":"n. [加拿大英语](海豹凿穿冰层而成的)呼吸孔，透气孔[亦作 agloo]",
"aglucon":"[化] 配基; 糖苷配基; 配质; 苷元; 甙元(葡糖苷之非糖部)",
"aglucone":"[化] 配基; 糖苷配基; 配质; 苷元; 甙元(葡糖苷之非糖部)\\n[医] 配基, 甙配基",
"aglutition":"[医] 吞咽不能",
"agly":"adv. 斜斜地;弯曲地",
"aglycaemia":"[医] 血糖缺乏",
"aglycemia":"[医] 血糖缺乏",
"aglycon":"n. [生化]糖苷配基",
"aglycone":"[化] 糖苷配基\\n[医] 配基, 甙配基",
"aglycosuria":"[医] 无糖尿",
"aglycosuric":"[医] 无糖尿的",
"Aglypha":"[医] 无毒蛇类",
"aglyphodontia":"[医] 无沟牙类(阔口类,蛇)",
"aglyphous":"无沟齿",
"agm":"abbr. 空对地导弹（Air-to-Ground Missile）；美国音乐家协会（American Guild


 4px;
    --callout-border-opacity: 1;
    --callout-padding: 0;
    --callout-radius: var(--radius-s);
    --callout-title-color: inherit;
    --callout-title-padding: 8px 16px;
    --callout-title-size: inherit;
    --callout-content-padding: 0px 16px;
    --callout-content-background: #FFFFFFBF;
    --callout-content-radius: 0px;
}

.theme-dark .callout:is([data-callout-metadata*="style-4"], [data-callout*=style-4]),
.callout-style-4.theme-dark {
    --callout-border-width: 0 0 0 4px;
    --callout-border-opacity: 1;
    --callout-padding: 0;
    --callout-radius: var(--radius-s);
    --callout-title-color: inherit;
    --callout-title-padding: 8px 16px;
    --callout-title-size: inherit;
    --callout-content-padding: 0px 16px;
    --callout-content-background: #00000040;
    --callout-content-radius: 0px;
}

.callout-content {
    border-radius: var(--callout-content-radius);
}

/* ======Blockquotes ====== */
body {
    --background-alt-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23000000' fill-opacity='0.12' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
    --background-alt-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23ffffff' fill-opacity='0.12' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
}

body {
    /* Blockquotes */
    --blockquote-border-thickness: 3px;
    --blockquote-border-color: var(--interactive-accent);
    --blockquote-font-style: normal;
    --blockquote-color: inherit;
    --blockquote-background-color: transparent;
    --blockquote-background-light: var(--background-alt-light);
    --blockquote-background-dark: var(--background-alt-dark);
}

.theme-light .markdown-source-view .cm-scroller .cm-line.HyperMD-quote,
.theme-light .markdown-rendered blockquote {
    border-radius: var(--radius-s);
    background: var(--blockquote-background-light);
}

.theme-dark .markdown-source-view .cm-scroller .cm-line.HyperMD-quote,
.theme-dark .markdown-rendered blockquote {
    border-radius: var(--radius-s);
    background: var(--blockquote-background-dark);
}

.markdown-rendered blockquote,
.markdown-preview-view blockquote {
    position: relative;
}

.markdown-rendered blockquote::before,
.markdown-preview-view blockquote::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 4px;
    height: calc(100% - 8px);
    width: var(--blockquote-border-thickness);
    background-color: var(--blockquote-border-color);
    border-radius: 24px;
}

.markdown-rendered blockquote {
    border-left: none;
}

.markdown-source-view.mod-cm6.is-live-preview .H


add_u32 s[s_p_out], s[s_p_out], s[s_tmp+3]
    s_addc_u32 s[s_p_out+1], s[s_p_out+1], 0

    s_lshl_b32 s[s_out_stride_wo], s[s_out_stride_wo], 2
    v_add_u32 v[v_out_inb], s[s_block_gtc_inb], v[v_co_sub_m_index]   ; total n*ho*wo
    v_mul_lo_u32 v[v_out_os], s[s_out_stride_wo], v[v_out_inb]
    v_lshlrev_b32 v[v_tmp], 2, v[v_co_sub_n_index]
    v_add_u32 v[v_out_os], v[v_out_os], v[v_tmp]
    ; move slice stride
    s_lshl_b32 s[s_gemm_k_num_c], s[s_sub_c], 2
    s_lshl_b32 s[s_tmp], s[s_c], 2
    s_sub_u32  s[s_gemm_k_diff_c],  s[s_tmp], s[s_gemm_k_num_c]
    v_bfe_u32 v[v_wei_flag], v[v_wei_tmp_pack], 0, 1
    s_mov_b32 s[s_move_slice_k_stride_c], 64
    v_bfe_u32 v[v_wei_flag+1], v[v_wei_tmp_pack], 1, 1

    s_mov_b32 s[s_p_out+2], 0xffffffff
    s_mov_b32 s[s_p_out+3], 0x27000
    ; start MFMA loop, 32x32 wave tile with 2x2 repeat, 1x1 step, k_pack:4
    s_waitcnt vmcnt(2)
    ds_write_b128 v[v_sst_b_os], v[v_gld_b+0:v_gld_b+0+3]
    ds_write_b128 v[v_sst_b_os], v[v_gld_b+4:v_gld_b+4+3] offset:1024

    s_waitcnt vmcnt(0)
    ds_write_b128 v[v_sst_a_os], v[v_gld_a+0:v_gld_a+0+3]
    ds_write_b128 v[v_sst_a_os], v[v_gld_a+4:v_gld_a+4+3] offset:1024

    .v_clear_nc a_c, 64
    ; make sure acc WAR harzard, at least 1 nop for src_c
    s_sub_i32 s[s_kitr], s[s_knum], 16
    s_cmp_gt_i32 s[s_kitr], 0
    s_cbranch_scc0 L_igemm_fwd_gtcx2_nhwc_fp32_bx0_ex0_bt128x128x16_wt32x32x2_ws1x1_wr2x2_ta1x4x2x1_1x4x1x64_tb1x4x2x1_1x4x1x64_gkgs_mfma_end

    s_add_u32 s[s_in_offset],  s[s_move_slice_k_stride_c], s[s_in_offset]
    v_add_u32 v[v_wei_os], s[s_move_slice_k_stride_c], v[v_wei_os]

    s_waitcnt lgkmcnt(0)
    s_barrier
L_igemm_fwd_gtcx2_nhwc_fp32_bx0_ex0_bt128x128x16_wt32x32x2_ws1x


    UInt16 elapsedTime = pDetected->Elapsed;
            OVR_DEBUG_LOG(("Time to 'ColorDetected' = %d", elapsedTime));

            getActiveResult()->DeviceMeasuredElapsedMilliS = elapsedTime;

            if (areResultsComplete())
            {
                // We're done.
                processResults();
                reset();
            }
            else
            {
                // Run another measurement.
                State = State_WaitingForSettlePostMeasurement;
                OVR_DEBUG_LOG(("State_WaitingForColorDetected -> State_WaitingForSettlePostMeasurement."));

                UInt32 waitTime = TIME_TO_WAIT_FOR_SETTLE_POST_MEASUREMENT + getRandomComponent(TIME_TO_WAIT_FOR_SETTLE_POST_MEASUREMENT_RANDOMNESS);
                setTimer(waitTime);

                LatencyTestDisplay ltd(2, 0x40400040);
                Device->SetDisplay(ltd);
            }
        }
    }
    else if (msg.Type == Message_DeviceRemoved)
    {
        reset();
    }
}

LatencyTest::MeasurementResult* LatencyTest::getActiveResult()
{
    OVR_ASSERT(!Results.IsEmpty());
    return Results.GetLast();
}

void LatencyTest::setTimer(UInt32 timeMilliS)
{
    ActiveTimerMilliS = timeMilliS;
}

void LatencyTest::clearTimer()
{
    ActiveTimerMilliS = 0;
}

void LatencyTest::reset()
{
    clearMeasurementResults();
    State = State_WaitingForButton;

    HaveOldTime = false;
    ActiveTimerMilliS = 0;
}

void LatencyTest::clearMeasurementResults()
{
    while(!Results.IsEmpty())
    {
        MeasurementResult* pElem = Results.GetFirst();
        pElem->RemoveNode();
        delete pElem;
    }
}

LatencyTest::LatencyTestHandler::~LatencyTestHandler()
{
    RemoveHandlerFromDevices();
}

void LatencyTest::LatencyTestHandler::OnMessage(const Message& msg)
{
    pLatencyTestUtil->handleMessage(msg);
}

void LatencyTest::ProcessInputs()
{
    updateForTimeouts();
    handleMessage(Message(), LatencyTest_ProcessInputs);
}

bool LatencyTest::DisplayScreenColor(Color& colorToDisplay)
{
    updateForTimeouts();

    if (State == State_WaitingForButton)
    {
        return false;
    }

    colorToDisplay = RenderColor;
    return true;
}

const char*	LatencyTest::GetResultsString()
{
	if (!ResultsString.IsEmpty() && ReturnedResultString != ResultsString.ToCStr())
	{
		ReturnedResultString = ResultsString;
		return ReturnedResultString.ToCStr();
	}

	return NULL;
}

bool LatencyTest::areResultsComplete()
{
    UInt32 initialMeasurements = 0;

    UInt32 measurements1to2 = 0;
    UInt32 measurements2to1 = 0;

    MeasurementResult* pCurr = Results.GetFirst();
    while(true)
    {
        // Process.
        if (!pCurr->TimedOutWaitingForTestStarted &&
            !pCurr->TimedOutWaitingForColorDetected)
        {
            initialMeasurements++;

            if (initialMeasurements > INITIAL_SAMPLES_TO_IGNORE)
            {
                if (pCurr->TargetColor == COLOR2)
                {
                    measurements1to2++;
                }
                else
                {
                    measurements2to1++;
                }
            }
        }

        if (Results.IsLast(pCurr))
        {
            break;
        }
        pCurr = Results.GetNext(pCurr);
    }

    if (measurements1to2 >= DEFAULT_NUMBER_OF_SAMPLES &&
        measurements2to1 >= DEFAULT_NUMBER_OF_SAMPLES)
    {
        return true;
    }

    return false;
}

void LatencyTest::processResults()
{

    UInt32 minTime1To2


nop
.text
.globl b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl11frgGbQrpAhzREXAF1_6QrpAhzRE10HReebePbqr
.type b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl11frgGbQrpAhzREXAF1_6QrpAhzRE10HReebePbqr,%function
b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl11frgGbQrpAhzREXAF1_6QrpAhzRE10HReebePbqr:
nop
.text
.globl b__MA6vph_6417DhnagvglSbeznggre5erfrgRi
.type b__MA6vph_6417DhnagvglSbeznggre5erfrgRi,%function
b__MA6vph_6417DhnagvglSbeznggre5erfrgRi:
nop
.text
.globl b_hqng_trgNinvynoyr_64
.type b_hqng_trgNinvynoyr_64,%function
b_hqng_trgNinvynoyr_64:
nop
.text
.globl b_hqngct_bcraOnfrFxryrgbaf_64
.type b_hqngct_bcraOnfrFxryrgbaf_64,%function
b_hqngct_bcraOnfrFxryrgbaf_64:
nop
.text
.globl b_hfcbbs_purpxHGS8_64
.type b_hfcbbs_purpxHGS8_64,%function
b_hfcbbs_purpxHGS8_64:
nop
.text
.globl b__MA6vph_6415NycunorgvpVaqrk12pyrneErpbeqfRE10HReebePbqr
.type b__MA6vph_6415NycunorgvpVaqrk12pyrneErpbeqfRE10HReebePbqr,%function
b__MA6vph_6415NycunorgvpVaqrk12pyrneErpbeqfRE10HReebePbqr:
nop
.text
.globl b__MAX6vph_646ahzore15SbeznggrqAhzore12gbGrzcFgevatRE10HReebePbqr
.type b__MAX6vph_646ahzore15SbeznggrqAhzore12gbGrzcFgevatRE10HReebePbqr,%function
b__MAX6vph_646ahzore15SbeznggrqAhzore12gbGrzcFgevatRE10HReebePbqr:
nop
.text
.globl b_hpby_zretrFbegxrlf_64
.type b_hpby_zretrFbegxrlf_64,%function
b_hpby_zretrFbegxrlf_64:
nop
.text
.globl b__MA6vph_6415NycunorgvpVaqrk14VzzhgnoyrVaqrkQ2Ri
.type b__MA6vph_6415NycunorgvpVaqrk14VzzhgnoyrVaqrkQ2Ri,%function
b__MA6vph_6415NycunorgvpVaqrk14VzzhgnoyrVaqrkQ2Ri:
nop
.text
.globl b__MA6vph_6411ZrnfherHavg12trgRneguZnffRi
.type b__MA6vph_6411ZrnfherHavg12trgRneguZnffRi,%function
b__MA6vph_6411ZrnfherHavg12trgRneguZnffRi:
nop
.text
.globl b__MA6vph_6411ZrnfherHavg17trgTnyybaVzcrevnyRi
.type b__MA6vph_6411ZrnfherHavg17trgTn


is updated object so that method calls can be
     *         chained together.
     */
    public DescribeChannelMembershipForAppInstanceUserRequest withChannelArn(String channelArn) {
        this.channelArn = channelArn;
        return this;
    }

    /**
     *

     * The ARN of the user or bot in a channel.
     *

     *

     * Constraints:

     * Length: 5 - 1600

     * Pattern:
     * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:
     * [a-z0-9-\.]{0,63}:[^/].{0,1023}

     *
     * @return

     *         The ARN of the user or bot in a channel.
     *

     */
    public String getAppInstanceUserArn() {
        return appInstanceUserArn;
    }

    /**
     *

     * The ARN of the user or bot in a channel.
     *

     *

     * Constraints:

     * Length: 5 - 1600

     * Pattern:
     * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:
     * [a-z0-9-\.]{0,63}:[^/].{0,1023}

     *
     * @param appInstanceUserArn

     *            The ARN of the user or bot in a channel.
     *

     */
    public void setAppInstanceUserArn(String appInstanceUserArn) {
        this.appInstanceUserArn = appInstanceUserArn;
    }

    /**
     *

     * The ARN of the user or bot in a channel.
     *

     *

     * Returns a reference to this object so that method calls can be chained
     * together.
     *

     * Constraints:

     * Length: 5 - 1600

     * Pattern:
     * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:
     * [a-z0-9-\.]{0,63}:[^/].{0,1023}

     *
     * @param appInstanceUserArn

     *            The ARN of the user or bot in a channel.
     *

     * @return A reference to this updated object so that method calls can be
     *         chained together.
     */
    public DescribeChannelMembershipForAppInstanceUserRequest withAppInstanceUserArn(
            String appInstanceUserArn) {
        this.appInstanceUserArn = appInstanceUserArn;
        return this;
    }

    /**
     *

     * The ARN of the AppInstanceUser or
     * AppInstanceBot that makes the API call.
     *

     *

     * Constraints:

     * Length: 5 - 1600

     * Pattern:
     * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:
     *


}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
/*!
 * Timepicker Component for Twitter Bootstrap
 *
 * Copyright 2013 Joris de Wit
 *
 * Contributors https://github.com/jdewit/bootstrap-timepicker/graphs/contributors
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */.bootstrap-timepicker{position:relative}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu{left:auto;right:0}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before{left:auto;right:12px}.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after{left:auto;right:13px}.bootstrap-timepicker .add-on{cursor:pointer}.bootstrap-timepicker .add-on i{display:inline-block;width:16px;height:16px}.bootstrap-timepicker-widget.dropdown-menu{padding:2px 3px 2px 2px}.bootstrap-timepicker-widget.dropdown-menu.open{display:inline-block}.bootstrap-timepicker-widget.dropdown-menu:before{border-bottom:7px solid rgba(0,0,0,0.2);border-left:7px solid transparent;border-right:7px solid transparent;content:"";display:inline-block;left:9px;position:absolute;top:-7px}.bootstrap-timepicker-widget.dropdown-menu:after{border-bottom:6px solid #fff;border-left:6px solid transparent;border-right:6px solid transparent;content:"";display:inline-block;left:10px;position:absolute;top:-6px}.bootstrap-timepicker-widget a.btn,.bootstrap-timepicker-widget input{border-radius:4px}.bootstrap-timepicker-widget table{width:100%;


, 0, this.srcImage.width, this.srcImage.height, 0, this.buffer.height / 2 - h / 2, w, h);
                //ctx.drawImage(this.srcImage, 0, 0, this.srcImage.width, this.srcImage.height, 0, this.buffer.height / 2 - h / 2, w, h);
            }

            this.buffer.getContext('2d').drawImage(this.canvas,0,0,this.canvasWidth,this.canvasHeight);

            ctx.fillStyle = "rgba(0, 0, 0, 0.7)";
            ctx.fillRect(0, 0, this.canvasWidth, this.canvasHeight);

            ctx.drawImage(this.buffer,bounds.left, bounds.top,
                Math.max(bounds.getWidth(),1), Math.max(bounds.getHeight(),1),bounds.left,
                bounds.top, bounds.getWidth(),bounds.getHeight());

            var marker:CornerMarker;
            for(var i:number = 0; i<this.markers.length;i++)
            {
                marker = this.markers[i];
                marker.draw(ctx);
            }

            this.center.draw(ctx);
            ctx.lineWidth = 2;
            ctx.strokeStyle = 'rgba(255,228,0,1)';
            ctx.strokeRect(bounds.left, bounds.top, bounds.getWidth(),bounds.getHeight());

        }
        else
        {
            ctx.fillStyle = 'rgba(192,192,192,1)';
            ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
        }
    }

    dragCrop(x:number,y:number, marker:DragMarker)
    {
        var bounds:Bounds = this.getBounds();
        var left = x-(bounds.getWidth()/2);
        var right = x+(bounds.getWidth()/2);
        var top = y-(bounds.getHeight()/2);
        var bottom = y+(bounds.getHeight()/2);

        if(right >= this.maxXClamp)
        {
            x = this.maxXClamp-bounds.getWidth()/2;
        }

        if(left <= this.minXClamp)
        {
            x = bounds.getWidth()/2+this.minXClamp;
        }

        if(top <this.minYClamp)
        {
            y = bounds.getHeight()/2+this.minYClamp;
        }

        if(bottom >= this.maxYClamp)
        {
            y = this.maxYClamp-bounds.getHeight()/2;
        }

        this.tl.moveX(x-(bounds.getWidth()/2));
        this.tl.moveY(y-(bounds.getHeight()/2));
        this.tr.moveX(x+(bounds.getWidth()/2));
        this.tr.moveY(y-(bounds.getHeight()/2));
        this.bl.moveX(x-(bounds.getWidth()/2));
        this.bl.moveY(y+(bounds.getHeight()/2));
        this.br.moveX(x+(bounds.getWidth()/2));
        this.br.moveY(y+(bounds.getHeight()/2));

        marker.setPosition(x,y);
    }

    dragCorner(x:number,y:number, marker:CornerMarker)
    {
        var iX:number = 0;
        var iY:number =0;
        var ax:number = 0;
        var ay:number = 0;
        var newHeight:number =0;
        var newWidth:number =0;
        var newY:number =0;
        var newX:number =0;
        var anchorMarker:CornerMarker;
        var fold:number = 0;

        if(this.keepAspect)
        {
            anchorMarker = marker.getHorizontalNeighbour().getVerticalNeighbour();
            ax = anchorMarker.getPosition().x;
            ay = anchorMarker.getPosition().y;

            if(x <= anchorMarker.getPosition().x)
            {

                if(y <= anchorMarker.getPosition().y)
                {
                    iX = ax-(100/this.aspectRatio);
                    iY = ay-(100


ngExtent: String /* "PlaneUsingExtent" */
    var PlaneUsingBoundaryPolygon: String /* "PlaneUsingBoundaryPolygon" */
    var EARLineTraceChannels_MAX: String /* "EARLineTraceChannels_MAX" */
}

external object EEasingFunc {
    var Linear: String /* "Linear" */
    var Step: String /* "Step" */
    var SinusoidalIn: String /* "SinusoidalIn" */
    var SinusoidalOut: String /* "SinusoidalOut" */
    var SinusoidalInOut: String /* "SinusoidalInOut" */
    var EaseIn: String /* "EaseIn" */
    var EaseOut: String /* "EaseOut" */
    var EaseInOut: String /* "EaseInOut" */
    var ExpoIn: String /* "ExpoIn" */
    var ExpoOut: String /* "ExpoOut" */
    var ExpoInOut: String /* "ExpoInOut" */
    var CircularIn: String /* "CircularIn" */
    var CircularOut: String /* "CircularOut" */
    var CircularInOut: String /* "CircularInOut" */
    var EEasingFunc_MAX: String /* "EEasingFunc_MAX" */
}

external interface `T$1` {
    var InitialSeed: Number
}

external interface `T$2` {
    var Stream: RandomStream
}

external open class RandomStream {
    open var InitialSeed: Number
    open var Seed: Number
    open fun clone(): RandomStream
    open fun BreakRandomStream(InitialSeed: Number = definedExternally): `T$1`
    open fun RandomBoolFromStream(): Boolean
    open fun RandomFloatFromStream(): Number
    open fun RandomUnitVectorFromStream(): Vector
    open fun ResetRandomStream()
    open fun SeedRandomStream(): `T$2`
    open fun SetRandomStreamSeed(NewSeed: Number = definedExternally): `T$2`

    companion object {
        fun C(Other: UObject): RandomStream
        fun C(Other: Any): RandomStream
        fun BreakRandomStream(InRandomStream: RandomStream, InitialSeed: Number = definedExternally): `T$1`
        fun RandomBoolFromStream(Stream: RandomStream): Boolean
        fun RandomFloatFromStream(Stream: RandomStream): Number
        fun RandomUnitVectorFromStream(Stream: RandomStream): Vector
        fun ResetRandomStream(Stream: RandomStream)
        fun SeedRandomStream(Stream: RandomStream = definedExternally): `T$2`
        fun SetRandomStreamSeed(Stream: RandomStream = definedExternally, NewSeed: Number = definedExternally): `T$2`
        fun MakeRandomStream(InitialSeed: Number): RandomStream
    }
}

external interface `T$3` {
    var Roll: Number
    var Pitch: Number
    var Yaw: Number
}

external interface `T$4` {
    var X: Vector
    var Y: Vector
    var Z: Vector
}

external interface `T$5` {
    var DeviceRotation: Rotator
    var DevicePosition: Vector
}

external open class Rotator {
    open var Pitch: Number
    open var Yaw: Number
    open var Roll: Number
    open fun clone(): Rotator
    open fun ToText(): String
    open fun ToString(): String
    open fun BreakRotator(Roll: Number = definedExternally, Pitch: Number = definedExternally, Yaw: Number = definedExternally): `T$3`
    open fun BreakRotIntoAxes(X: Vector = definedExternally, Y: Vector = definedExternally, Z: Vector = definedExternally): `T$4`
    open fun CombineRotators(B: Rotator): Rotator
    open fun ToQuaternion(): Quat
    open fun ToTransform(): Transform
    open fun GetRotationXVector(): Vector
    open fun DynamicWeightedMovingAverageRotator(PreviousSample: Rotator, MaxDistance: Number, MinWeight: Number, MaxWeight: Number): Rotator
    open fun Equal(B: Rotator, ErrorT


Void"])),zr(t.U,hf,lt(ut(Pe,1),ue,2,6,[dv,"WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"])),zr(t.W,hf,lt(ut(Pe,1),ue,2,6,[dv,"ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"])),zr(t.bb,hf,lt(ut(Pe,1),ue,2,6,[dv,"ValidDefaultValueLiteral"])),zr(t.eb,hf,lt(ut(Pe,1),ue,2,6,[dv,"ValidLowerBound ValidUpperBound ConsistentBounds ValidType"])),zr(t.H,hf,lt(ut(Pe,1),ue,2,6,[dv,"ConsistentType ConsistentBounds ConsistentArguments"]))}function kSn(t,e,n){var r,s,o,h,d,m,k,T,A,P,$,U,J,tt,ht,Tt,At,Bt,Wt,se,Ce,rn,Ze;if(!e.dc()){if(s=new Qu,d=n||u(e.Xb(0),18),U=d.c,D_(),P=U.i.k,!(P==(Un(),xs)||P==uu||P==Ms||P==md))throw at(new zn("The target node of the edge must be a normal node or a northSouthPort."));for(ro(s,dc(lt(ut(la,1),ue,8,0,[U.i.n,U.n,U.a]))),(ve(),Gu).Hc(U.j)&&(tt=Rt(Ht(X(U,(oe(),MT)))),A=new ae(dc(lt(ut(la,1),ue,8,0,[U.i.n,U.n,U.a])).a,tt),hs(s,A,s.c.b,s.c)),T=null,r=!1,m=e.Kc();m.Ob();)h=u(m.Pb(),18),o=h.a,o.b!=0&&(r?(k=qd(ki(T,(ur(o.b!=0),u(o.a.a.c,8))),.5),hs(s,k,s.c.b,s.c),r=!1):r=!0,T=Oa((ur(o.b!=0),u(o.c.b.c,8))),Ma(s,o),nh(o));J=d.d,Gu.Hc(J.j)&&(tt=Rt(Ht(X(J,(oe(),MT)))),A=new ae(dc(lt(ut(la,1),ue,8,0,[J.i.n,J.n,J.a])).a,tt),hs(s,A,s.c.b,s.c)),ro(s,dc(lt(ut(la,1),ue,8,0,[J.i.n,J.n,J.a]))),t.d==(b7(),L1t)&&(ht=(ur(s.b!=0),u(s.a.a.c,8)),Tt=u(jh(s,1),8),At=new mst(i5t(U.j)),At.a*=5,At.b*=5,Bt=ia(new ae(Tt.a,Tt.b),ht),Wt=new ae(dst(At.a,Bt.a),dst(At.b,Bt.b)),ki(Wt,ht),se=Dr(s,1),kI(se,Wt),Ce=(ur(s.b!=0),u(s.c.


10',	'100',	'8060',	'',	'',	'',	'回合开始50%几率获得4层物理护盾'},
{'307305',	'',	'99930002',	'1',	'',	'Self',	'',	'6000',	'AddPhysicsShieldCount',	'2209,4,10',	'100',	'8060',	'',	'',	'',	'回合开始60%几率获得4层物理护盾'},
{'307401',	'',	'99930002',	'1',	'',	'Self',	'',	'2000',	'AddLightShieldCount',	'2309,4,10',	'100',	'8060',	'',	'',	'',	'回合开始20%几率获得4层能量护盾'},
{'307402',	'',	'99930002',	'1',	'',	'Self',	'',	'3000',	'AddLightShieldCount',	'2309,4,10',	'100',	'8060',	'',	'',	'',	'回合开始30%几率获得4层能量护盾'},
{'307403',	'',	'99930002',	'1',	'',	'Self',	'',	'4000',	'AddLightShieldCount',	'2309,4,10',	'100',	'8060',	'',	'',	'',	'回合开始40%几率获得4层能量护盾'},
{'307404',	'',	'99930002',	'1',	'',	'Self',	'',	'5000',	'AddLightShieldCount',	'2309,4,10',	'100',	'8060',	'',	'',	'',	'回合开始50%几率获得4层能量护盾'},
{'307405',	'',	'99930002',	'1',	'',	'Self',	'',	'6000',	'AddLightShieldCount',	'2309,4,10',	'100',	'8060',	'',	'',	'',	'回合开始60%几率获得4层能量护盾'},
{'307501',	'',	'99930002',	'1',	'',	'Self',	'',	'2000',	'AddBuff',	'2102',	'',	'8060',	'',	'',	'',	'回合开始20%几率获生命10%的护盾'},
{'307502',	'',	'99930002',	'1',	'',	'Self',	'',	'3000',	'AddBuff',	'2102',	'',	'8060',	'',	'',	'',	'回合开始30%几率获生命10%的护盾'},
{'307503',	'',	'99930002',	'1',	'',	'Self',	'',	'4000',	'AddBuff',	'2102',	'',	'8060',	'',	'',	'',	'回合开始40%几率获生命10%的护盾'},
{'307504',	'',	'99930002',	'1',	'',	'Self',	'',	'5000',	'AddBuff',	'2102',	'',	'8060',	'',	'',	'',	'回合开始50%几率获生命10%的护盾'},
{'307505',	'',	'99930002',	'1',	'',	'Self',	'',	'6000',	'AddBuff'


，誓不罢休',	'为了促进祖国的民主化进程，为了国家的繁荣，我自愿绝食，坚决服从绝食团纪律，不达目的，誓不罢休'},
{'86459',	'烛光不减pP*信望永存',	'烛光不减pP*信望永存'},
{'86460',	'平息暴乱纪念勋章',	'平息暴乱纪念勋章'},
{'86461',	'首都卫士纪念章',	'首都卫士纪念章'},
{'86462',	'中国人权民运信息中心',	'中国人权民运信息中心'},
{'86463',	'支港联',	'支港联'},
{'86464',	'北加州香港会',	'北加州香港会'},
{'86465',	'六四记忆?人权博物馆',	'六四记忆?人权博物馆'},
{'86466',	'中国民主运动海外联席',	'中国民主运动海外联席'},
{'86467',	'中华人民共和国国务院公报总号592号',	'中华人民共和国国务院公报总号592号'},
{'86468',	'内蒙古人民党',	'内蒙古人民党'},
{'86469',	'废除一党专政，建立民主中国',	'废除一党专政，建立民主中国'},
{'86470',	'小学.0,15博士',	'小学.0,15博士'},
{'86471',	'我热爱生命，我需要食物，但我更愿意为民主而牺牲',	'我热爱生命，我需要食物，但我更愿意为民主而牺牲'},
{'86472',	'六四展览馆',	'六四展览馆'},
{'86473',	'app.cloudpano.com/tours/Gc6lhGYgm?mls=1',	'app.cloudpano.com/tours/Gc6lhGYgm?mls=1'},
{'86474',	'正义未能伸张，英灵何以安息',	'正义未能伸张，英灵何以安息'},
{'86475',	'我虽势弱言轻，决不虛作无声',	'我虽势弱言轻，决不虛作无声'},
{'86476',	'夠栗果钾',	'夠栗果钾'},
{'86477',	'把酒留寺',	'把酒留寺'},
{'86478',	'沪裔美国人协会',	'沪裔美国人协会'},
{'86479',	'高亻方办证V信14589',	'高亻方办证V信14589'},
{'86480',	'制冫水?du?技枪',	'制冫水?du?技枪'},
{'86481',	'京鱼摸吧eyeidhbb',	'京鱼摸吧eyeidhbb'},
{'86482',	'toturachinadog',	'toturachinadog'},
{'86483',	'超清吸尘器水',	'超清吸尘器水'},
{'86484',	'女爱女人',	'女爱女人'},
{'86485',


(Level worldIn, Player playerIn, InteractionHand handIn) {
    if (!worldIn.isClientSide && !playerIn.isCrouching()) {
      int slot = handIn == InteractionHand.MAIN_HAND ? playerIn.getInventory().selected : 40;
      NetworkHooks.openScreen((ServerPlayer) playerIn, new StorageBagContainerProvider(slot), buf -> buf.writeInt(slot));
    }
    return super.use(worldIn, playerIn, handIn);
  }

  public static void setColour(ItemStack stack, DyeColor col) {
    CompoundTag tags = stack.getOrCreateTag();
    tags.putInt(NBT_COLOUR, col.getTextColor()); // getColorValue
  }

  public static int getColour(ItemStack stack) {
    CompoundTag tags = stack.getOrCreateTag();
    if (tags.contains(NBT_COLOUR) == false) {
      return DyeColor.BROWN.getTextColor(); //BROWN as default for normal look
    }
    return tags.getInt(NBT_COLOUR);
  }

  @Override
  public InteractionResult useOn(UseOnContext context) {
    BlockPos pos = context.getClickedPos();
    Direction face = context.getClickedFace();
    Level world = context.getLevel();
    BlockEntity te = world.getBlockEntity(pos);
    ItemStack bag = context.getItemInHand();
    DepositMode mode = getDepositMode(bag);
    if (mode == DepositMode.NOTHING) {
      return InteractionResult.PASS;
    }
    ItemStackHandler handler = getInventory(bag);
    if (handler != null && te != null && te.getCapability(ForgeCapabilities.ITEM_HANDLER, face).isPresent()) {
      IItemHandler teHandler = te.getCapability(ForgeCapabilities.ITEM_HANDLER, face).orElse(null);
      Set<Item> itemsInTargetInventory = new HashSet<>();
      if (teHandler != null) {
        for (int j = 0; j < teHandler.getSlots(); j++) {
          itemsInTargetInventory.add(teHandler.getStackInSlot(j).getItem());
        }
      }
      for (int i = 0; i < handler.getSlots(); i++) {
        ItemStack stack = handler.getStackInSlot(i);
        ItemStack remaining = ItemHandlerHelper.copyStackWithSize(stack, stack.getCount());
        if (!stack.isEmpty()) {
          if (mode == DepositMode.DUMP || (mode == DepositMode.MERGE && itemsInTargetInventory.contains(stack.getItem()))) {
            remaining = ItemHandlerHelper.insertItem(teHandler, stack, false);
            handler.setStackInSlot(i, remaining);
          }
        }
      }
      SoundUtil.playSound(context.getPlayer(), SoundRegistry.BASEY.get());
      return InteractionResult.SUCCESS;
    }
    return InteractionResult.PASS;
  }

  @Override
  public void appendHoverText(ItemStack stack, Level worldIn, List<Component> tooltip, TooltipFlag flagIn) {
    super.appendHoverText(stack, worldIn, tooltip, flagIn);
    CompoundTag nbt = stack.getOrCreateTag();
    String pickupMode = nbt.getString(PickupMode.NBT);
    String depositMode = nbt.getString("deposit_mode");
    String refillMode = nbt.getString("refill_mode");
    if (!pickupMode.equals("")) {
      tooltip.add(Component.translatable("item.cyclic.storage_bag.tooltip.pickup",
          Component.translatable(String.format(
              pickupMode.equals("nothing") ? "item.cyclic.storage_bag.disabled" : "item.cyclic.storage_bag.pickup.%s", pickupMode)))
          .withStyle(ChatFormatting.GREEN));
    }
    if (!depositMode.equals("")) {
      tooltip.add(Component.translatable("item.cyclic.storage_bag.tooltip.deposit",
          Component.translatable(String.form


bject_new(InvalidOperationException_t0530E734D823F78310CAFAFA424CA5164D93A1F1_il2cpp_TypeInfo_var);
		InvalidOperationException__ctor_m72027D5F1D513C25C05137E203EEED8FD8297706(L_3, (String_t*)_stringLiteralFAD66767010E09AA6ADD07FA89C43A7F43F44049, /*hidden argument*/NULL);
		IL2CPP_RAISE_MANAGED_EXCEPTION(L_3, Enumerator_MoveNext_m6D9E49732FC1B345B348BE0880F003488AA356C4_RuntimeMethod_var);
	}

IL_0021:
	{
		Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 * L_4 = (Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 *)__this->get_dictionary_0();
		NullCheck(L_4);
		EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2* L_5 = (EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2*)L_4->get_entries_1();
		int32_t L_6 = (int32_t)__this->get_index_2();
		NullCheck(L_5);
		int32_t L_7 = (int32_t)((L_5)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_6)))->get_hashCode_0();
		if ((((int32_t)L_7) < ((int32_t)0)))
		{
			goto IL_0090;
		}
	}
	{
		Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 * L_8 = (Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 *)__this->get_dictionary_0();
		NullCheck(L_8);
		EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2* L_9 = (EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2*)L_8->get_entries_1();
		int32_t L_10 = (int32_t)__this->get_index_2();
		NullCheck(L_9);
		Il2CppChar L_11 = (Il2CppChar)((L_9)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_10)))->get_key_2();
		Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 * L_12 = (Dictionary_2_tD824C6AA50393E55534B6616C544907A7EE94E58 *)__this->get_dictionary_0();
		NullCheck(L_12);
		EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2* L_13 = (EntryU5BU5D_tD1226271C7F39733872114F617E9E9906FB9F3A2*)L_12->get_entries_1();
		int32_t L_14 = (int32_t)__this->get_index_2();
		NullCheck(L_13);
		int32_t L_15 = (int32_t)((L_13)->GetAddressAt(static_cast<il2cpp_array_size_t>(L_14)))->get_value_3();
		KeyValuePair_2_tF3033633B2B36F2046403BF76E6A2471F971E1FF  L_16;
		memset((&L_16), 0, sizeof(L_16));
		KeyValuePair_2__


.";
		static String blockArmorTooltipPrecision = "How many digits are after the angle decimal point on a block armor info tooltip.";
		static String cannonMountAngleTooltipPrecision = "How many digits are after the angle decimal point on a cannon mount goggle tooltip.";
		static String use180180RangeForYaw = "If true, the yaw angle on goggles ranges from +180 to -180\u00ba. If false, it ranges from 0 to +360\u00ba.";
		static String[] useShaderCompatibleGraphics = new String[]{ "If true, some graphics will be changed to support shaders, such as those loaded with Iris/Oculus.",
			"NOTE: This may entail some visual downgrades. Affected graphics include:",
			"- Cannon smoke",
			"- Adaptive debris particles (splinters, leaves, glass shards)" };
	}

}
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
 * one or more contributor license agreements. See the NOTICE file distributed
 * with this work for additional information regarding copyright ownership.
 * Licensed under the Camunda License 1.0. You may not use this file
 * except in compliance with the Camunda License 1.0.
 */
package io.camunda.operate.qa.util;

import java.lang.reflect.Field;
import org.junit.Rule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.test.context.TestContext;
import org.springframework.test.context.support.AbstractTestExecutionListener;

public class DependencyInjectionTestExecutionListener extends AbstractTestExecutionListener {

  private static final Logger LOGGER =
      LoggerFactory.getLogger(DependencyInjectionTestExecutionListener.class);

  @Override
  public void prepareTestInstance(final TestContext testContext) throws Exception {
    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug("Performing dependency injection for test context [" + testContext + "].");
    }
    injectDependenciesInRules(testContext);
  }

  private void injectDependenciesInRules(final TestContext testContext) throws Exception {
    final Object bean = testContext.getTestInstance();
    final AutowireCapableBeanFactory beanFactory =
        testContext.getApplicationContext().getAutowireCapableBeanFactory();
    Class<?> aClass = bean.getClass();
    do {
      for (Field field : aClass.getDeclaredFields()) {
        autowireBeansInRules(bean, beanFactory, field);
      }
      aClass = aClass.getSuperclass();
    } while (aClass != null);
  }

  private void autowireBeansInRules(
      Object bean, AutowireCapableBeanFactory beanFactory, Field field) {
    if (field.isAnnotationPresent(Rule.class)) {
      try {
        field.setAccessible(true);
        beanFactory.autowireBeanProperties(
            field.get(bean), AutowireCapableBeanFactory.AUTOWIRE_NO, false);
      } catch (IllegalAccessException e) {
        LOGGER.debug("Unable to inject beans into rule field: " + field.getName());
      }
    }
  }
}
package rbasamoyai.createbigcannons.block_hit_effects;

import java.util.Map;

import javax.annotation.Nullable;

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonSyntaxException;

import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener;
import net.minecraft.tags.TagKey;
import net.minecraft.util.profiling.ProfilerFiller;
import net.minecraft.world.level.


a.S,f=a.OR,g=0;g<b[I];++g){var h=b[g],l=e.Ha(),n=e.Ha(),q=new oO;q[eC](h.oj.x+.5,h.oj.y+.5);q.ta(h.N9+.5,h.oj.y+.5);q.ta(h.N9+.5,h.rs.y+.5);q.ta(h.rs.x+.5,h.rs.y+.5);e.Ba(q,h.Oc,n);e.Ne(h.oj.x+.5,h.oj.y+.5,h.gha,h.vya,n);c(h.lA,l);c(h.zA,l);e[p](f,l);e[p](f,n);h=DT([wH,h[yc]]);d(l.a(),h)}}R.Hfa=function(a,b){if(!Ro(b.nq,this.ls.nq)){this.S.ad(this.OR);var c=new jU(2);kU(c,0,a.nq||{});kU(c,1,b.nq||{});c=c[RB]();EUa(this,c)}this.$T(a);this.dX(a,b)};
R.$T=function(a){var b=this.ls;if(b)for(var c in b.m){if(b.m[c].sa){var d=DT([Mu,ha(c)]);fX(this,d)}d=a.pie.si[c<a.m[I]/a.pie.si[I]?0:1];UY(this,a.m[c],d.md,d.nd)}};R.dX=function(a,b){for(var c in b.m){var d=new jU(2);kU(d,0,a.m[c]);kU(d,1,b.m[c]);var e=a.pie.si[c<a.m[I]/a.pie.si[I]?0:1],f=e.md,e=e.nd;UY(this,d[RB](),f,e)}};function GUa(a,b,c,d,e){var f=a[od]-a[F],g=sk(d),h=sk(d);Ya(h,bCa);d=d[Ic]/3.236;var l=g[Ic]+d,n=h[Ic]+d,q=HUa(a,f,b,g,h,d,e),t=[],v;2==c?(c=a[od],a=a[F],v=bJ):(c=a[F],a=a[od],v=BE);for(var x=0;x<e[I];++x){var A=e[x],C=q[x];if(null!=C){var E=NT(b,A.lA,g,f,C.OF),P=NT(b,A.zA,h,f,C.qG),O=SRa(new BO(c,C.y));t[z]({gha:2,oj:SRa(A.Qea(Rk(C.y,A.kT[Rc],A.kT.end))),N9:a,rs:O,vya:new Ao({fill:SM,fillOpacity:.7}),Oc:new Ao({stroke:SM,strokeWidth:1,strokeOpacity:.7}),aEa:d,lA:{text:A.lA,la:g,anchor:new vV(O.x,
O.y),N:Bj(E.N,function(a,b){return{x:0,y:(b-E.N[I


 increase jump weight
		float flJumpWeight = GetLayerWeight( ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL );
		float flNextJumpWeight = GetLayerIdealWeightFromSeqCycle( ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL );
		if ( flNextJumpWeight > flJumpWeight )
		{
			SetLayerWeight( ANIMATION_LAYER_MOVEMENT_JUMP_OR_FALL, flNextJumpWeight );
		}

		// bash any lingering land weight to zero
		float flLingeringLandWeight = GetLayerWeight( ANIMATION_LAYER_MOVEMENT_LAND_OR_CLIMB );
		if ( flLingeringLandWeight > 0 )
		{
			flLingeringLandWeight *= smoothstep_bounds( 0.2f, 0.0f, m_flDurationInAir );
			SetLayerWeight( ANIMATION_LAYER_MOVEMENT_LAND_OR_CLIMB, flLingeringLandWeight );
		}

		// blend jump into fall. This is a no-op if we're playing a fall anim.
		m_tPoseParamMappings[ PLAYER_POSE_PARAM_JUMP_FALL ].SetValue( m_pPlayer, clamp(smoothstep_bounds( 0.72f, 1.52f, m_flDurationInAir ),0,1) );

	}

}

Activity CCSGOPlayerAnimState::GetLayerActivity( animstate_layer_t nLayerIndex )
{
	MDLCACHE_CRITICAL_SECTION();
	CAnimationLayer *pLayer = m_pPlayer->GetAnimOverlay( nLayerIndex, USE_ANIMLAYER_RAW_INDEX );
	if ( pLayer )
		return (Activity)GetSequenceActivity( m_pPlayer->GetModelPtr(), pLayer->GetSequence() );
	return ACT_INVALID;
}

bool CCSGOPlayerAnimState::IsLayerSequenceCompleted( animstate_layer_t nLayerIndex )
{
	CAnimationLayer *pLayer = m_pPlayer->GetAnimOverlay( nLayerIndex, USE_ANIMLAYER_RAW_INDEX );
	if ( pLayer )
		return ( (pLayer->GetCycle() + (m_flLastUpdateIncrement * pLayer->GetPlaybackRate())) >= 1 );
	return false;
}

void CCSGOPlayerAnimState::SetLayerRate( animstate_layer_t nLayerIndex, float flRate )
{
	CAnimationLayer *pLayer = m_pPlayer->GetAnimOverlay( nLayerIndex, USE_ANIMLAYER_RAW_INDEX );
	if ( pLayer )
		pLayer->SetPlaybackRate( flRate );
}

void CCSGOPlayerAnimState::SetLayerCycle( animstate_layer_t nLayerIndex, float flCycle )
{
	CAnimationLayer *pLayer = m_pPlayer->GetAnimOverlay( nLayerIndex, USE_ANIMLAYER_RAW_INDEX );
	if ( pLayer )
		pLayer->SetCycle( ClampCycle( flCycle ) );
}

void CCSGOPlayerAnimState::IncrementLayerCycleWeightRateGeneric( animstate_layer_t nLayerIndex )
{
	float flWeightPrevious = GetLayerWeight( nLayerIndex );
	IncrementLayerCycle( nLayerIndex, false );
	SetLayerWeight( nLayerIndex, GetLayerIdealWeightFromSeqCycle( nLayerIndex ) );
	SetLayerWeightRate( nLayerIndex, flWeightPrevious );
}

void CCSGOPlayerAnimState::IncrementLayerCycle( animstate_layer_t nLayerIndex, bool bAllowLoop )
{
	CAnimationLayer *pLayer = m_pPlayer->GetAnimOverlay( nLayerIndex, USE_ANIMLAYER_RAW_INDEX );

	if ( !pLayer )
		return;

	if ( abs(pLayer->GetPlaybackRate()) <= 0 )
		return;

	float flCurrentCycle = pLayer->GetCycle();
	flCurrentCycle += m_flLastUpdateIncrement * pLayer->


 `<img>` 标签引入图片：

```markdown
<img height="200" src="https://jaywcjlove.github.io/logo.png">
```

## 存放位置

在文档中，引入本地图片，都是相对于 Markdown 文件的位置引入图片。

```bash
├── docs
│   ├── README.md   # 👈  引用图片资源页面
│   └── about.md
├── logo.svg        # 👈  图片资源
```

文档 Markdown 中引入 `logo.svg` 图片

```markdown
![](../logo.svg)

<img src="../logo.svg">
```模版
===

模板决定了网站内容的呈现方式，主题使用的 [EJS](https://github.com/mde/ejs) 模版引擎。

## 文章模板

文件 `markdown.ejs` 是默认文章编译使用的模板。可以在 markdown 配置中配置自定义模板。应用场景，如自定义首页，默认 `项目根目录` 或者 `指定文档目录` 根目录下的 `README.md` 视为首页，在里面配置模板，配置如下：

```markdown
<!--idoc:config:
layout: home.ejs
-->
```
<!--rehype:style=background-color: #c0d2f342-->

自定义模板文件 `home.ejs` 需要放到自定义主题目录下。

```bash
├── docs
├── idoc.yml
├── package.json
└── themes               # 👈 🎁 主题文件夹
    └── default
        ├── css
        ├── js
        ├── markdown.ejs # 👈 默认模板
        ├── home.ejs     # 👈 自定义模板
        └── partial
```

> 🚧  注意：默认主题文件夹是不存在，如果您需要暴露默认模板，可以在初始化项目 `idoc init myapp` 的时候选择暴露模板

## 局部模版（Partial）

局部模板让您在不同模板之间共享相同的组件，例如页首（Header）、页脚（Footer）或侧边栏（Sidebar）等，可利用局部模板功能分割为个别文件，让维护更加便利。举例来说：

`partial/header.ejs`

```html
<h1 id="logo"><%= title %></h1>
```

`home.ejs`

```html
<%- partial('partial/header') %>
<div id="content">Home page</div>
```

生成：

```html
<h1 id="logo">My Site</h1>
<div id="content">Home page</div>
```
<!--rehype:style=background: #41ae622b;-->

## 局部变量使用

您可以在局部模板中指定局部变量并使用。

`partial/header.ejs`

```html
<h1 id="logo"><%= title_partial %></h1>
```

`home.ejs`

```html
<%- partial('partial/header', { title_partial: 'Hello World' }) %>
<div id="content">Home page</div>
```

生成：

```html
<h1 id="logo">Hello World</h1>
<div id="content">Home page</div>
```
<!--rehype:style=back


truct', () async {
      expect(
          await handleEnumStructTwinNormal(val: KitchenSinkTwinNormal_Empty()),
          KitchenSinkTwinNormal_Empty());
      expect(
        await handleEnumStructTwinNormal(
          val: KitchenSinkTwinNormal_Primitives(
              int32: 0, float64: 1, boolean: false),
        ),
        KitchenSinkTwinNormal_Primitives(int32: 1, float64: 2, boolean: true),
      );
      expect(
        await handleEnumStructTwinNormal(
            val: KitchenSinkTwinNormal_Optional(null, 0)),
        KitchenSinkTwinNormal_Optional(null, 1),
      );
      expect(
        await handleEnumStructTwinNormal(
            val: KitchenSinkTwinNormal_Buffer(Uint8List.fromList([]))),
        KitchenSinkTwinNormal_Buffer(Uint8List.fromList([1])),
      );
      expect(
        await handleEnumStructTwinNormal(
            val: KitchenSinkTwinNormal_Enums(WeekdaysTwinNormal.monday)),
        KitchenSinkTwinNormal_Enums(WeekdaysTwinNormal.tuesday),
      );
      expect(
        await handleEnumStructTwinNormal(
            val: const KitchenSinkTwinNormal.nested(
                0, KitchenSinkTwinNormal.empty())),
        const KitchenSinkTwinNormal.nested(1, KitchenSinkTwinNormal.empty()),
      );
    });

    test('dart call multiplyByTen()', () async {
      expect(
        await multiplyByTenTwinNormal(
            measure: MeasureTwinNormal.speed(SpeedTwinNormal_GPS(10.0))),
        MeasureTwinNormal.speed(SpeedTwinNormal_GPS(100.0)),
      );
      expect(
        await multiplyByTenTwinNormal(
            measure: MeasureTwinNormal.speed(SpeedTwinNormal_Unknown())),
        null,
      );
      final skipMinified =
          releaseMode ? skipWeb('Minified names cannot be compared.') : null;
      expect((SpeedTwinNormal_Unknown).toString(), 'SpeedTwinNormal_Unknown',
          skip: skipMinified);
      expect((SpeedTwinNormal_GPS).toString(), 'SpeedTwinNormal_GPS',
          skip: skipMinified);
      expect(
          (DistanceTwinNormal_Unknown).toString(), 'DistanceTwinNormal_Unknown',
          skip: skipMinified);
      expect((DistanceTwinNormal_Map).toString(), 'DistanceTwinNormal_Map',
          skip: skipMinified);
    });
  });
}
// NOTE: This file is mimicking how a human developer writes tests,
// and is auto-generated from `uuid_type_test.dart` by frb_internal
// Please do not modify manually, but modify the origin and re-run frb_internal generator

import 'package:frb_example_pure_dart/src/rust/api/pseudo_manual/uuid_type_twin_rust_async_sse.dart';
import 'package:frb_example_pure_dart/src/rust/frb_generated.dart';
import 'package:test/test.dart';
import 'package:uuid/uuid.dart';

Future<void> main({bool skipRustLibInit = false}) async {
  if (!skipRustLibInit) await RustLib.init();

  test('Uuid', () async {
    final uuid = Uuid();
    final id = uuid.v4obj();
    final output = await handleUuidTwinRustAsyncSse(id: id);
    expect(id, output);
  });

  test('Vec<Uuid>', () async {
    final uuid = Uuid();
    final ids =
        List<UuidValue>.from([uuid.v4obj(), uuid.v1obj(), uuid.v


from django.views.generic import ListView
from .models import Movie

class MoviesView(ListView):
    """Список фильмов"""
    model = Movie
    queryset = Movie.objects.filter(draft=False)
    template_name = "moviesapp/movie_list.html"
    context_object_name = "movie_list"


[si + part.lba], eax                    ; as MBR style partition for boot1h
    mov     BYTE [si + part.type], kPartTypeHFS     ; with HFS+ filesystem type (0xAF)
    jmp     SHORT initBootLoader

.gpt_continue:

    add     si, bx                                  ; advance SI to next partition entry
    loop    .gpt_loop                               ; loop through all partition entries

.exit:
    pop     bx
    ret                                             ; no more GUID partitions. Giving up.

;--------------------------------------------------------------------------
; loadBootSector - Load boot sector
;
; Arguments:
;   DL = drive number (0x80 + unit number)
;   DH = 0 skip file system signature checking
;        1 enable file system signature checking
;   [my_lba] = starting LBA.
;
; Returns:
;   ZF = 0 if boot sector hasn't kBootSignature
;        1 if boot sector has kBootSignature
;
loadBootSector:
    pusha

    mov     al, 3
    mov     bx, kBoot0LoadAddr
    call    load
    jc      error

    or      dh, dh
    jz      .checkBootSignature

.checkHFSSignature:

%if VERBOSE
    LogString(test_str)
%endif

    ;
    ; Looking for HFSPlus ('H+') or HFSPlus case-sensitive ('HX') signature.
    ;
    mov     ax, [kBoot0LoadAddr + 2 * kSectorBytes]
    cmp     ax, kHFSPSignature      ; 'H+'
    je      .checkBootSignature
    cmp     ax, kHFSPCaseSignature  ; 'HX'
    je      .checkBootSignature

    ;
    ; Looking for exFAT signature
    ;
    mov     ax, [kBoot0LoadAddr + 3]
    cmp     ax, kEXFATSignature     ; 'EX'
    je      .checkBootSignature

    ;
    ; Looking for boot1f32 magic string.
    ;
    mov     ax, [kBoot0LoadAddr + kFAT32BootCodeOffset]
    cmp     ax, kBoot1FAT32Magic
    jne     .exit

.checkBootSignature:
    ;
    ; Check for boot block signature 0xAA55
    ;
    cmp     WORD [kBoot0LoadAddr + kSectorBytes - 2], kBootSignature

.exit:

    popa

    ret

;--------------------------------------------------------------------------
; load - Load one or more sectors from a partition.
;
; Arguments:
;   AL = number of 512-byte sectors to read.
;   ES:BX = pointer to where the sectors should be stored.
;   DL = drive number (0x80 + unit number)
;   [my_lba] = starting LBA.
;
; Returns:
;   CF = 0 success
;        1 error
;
load:
    push    cx

.ebios:
    mov     cx, 5                   ; load retry count
.ebios_loop:
    call    read_lba                ; use INT13/F42
    jnc     .exit
    loop    .ebios_loop

.exit:
    pop     cx
    ret

;--------------------------------------------------------------------------
; read_lba - Read sectors from a partition using LBA addressing.
;
; Arguments:
;   AL = number of 512-byte sectors to read (valid from 1-127).
;   ES:BX = pointer to where the sectors should be stored.
;   DL = drive number (0x80 + unit number)
;   [my_lba] = starting LBA.
;
; Returns:
;   CF = 0 success
;        1 error
;
read_lba:
    pushad                          ; save all registers
    mov     bp, sp                  ; save current SP

    ;
    ; Create the Disk Address Packet structure for the
    ; INT13/F42 (Extended Read Sectors) on the stack.
    ;

;   push    DWORD 0                 ; offset 12, upper 32-bit LBA
    push    ds                      ; For sake of saving memory,
    push    ds                      ; push DS register, which is 0.
    mov     ecx, [my_lba]           ; offset 8, lower 32-bit LBA
    push    ecx
    push    es                      ; offset 6, memory segment


line,
.ct-chart .ct-series.ct-series-d .ct-point,
.ct-chart .ct-series.ct-series-d .ct-slice-donut {
  stroke: #f25521; }

.ct-chart .ct-series.ct-series-e .ct-bar,
.ct-chart .ct-series.ct-series-e .ct-line,
.ct-chart .ct-series.ct-series-e .ct-point,
.ct-chart .ct-series.ct-series-e .ct-slice-donut {
  stroke: #313a46; }

.ct-chart .ct-series.ct-series-f .ct-bar,
.ct-chart .ct-series.ct-series-f .ct-line,
.ct-chart .ct-series.ct-series-f .ct-point,
.ct-chart .ct-series.ct-series-f .ct-slice-donut {
  stroke: #00A2FF; }

.ct-chart .ct-series.ct-series-g .ct-bar,
.ct-chart .ct-series.ct-series-g .ct-line,
.ct-chart .ct-series.ct-series-g .ct-point,
.ct-chart .ct-series.ct-series-g .ct-slice-donut {
  stroke: #8d6e63; }

.ct-series-a .ct-area,
.ct-series-a .ct-slice-pie {
  fill: #44ecf5; }

.ct-series-b .ct-area,
.ct-series-b .ct-slice-pie {
  fill: #00A2FF; }

.ct-series-c .ct-area,
.ct-series-c .ct-slice-pie {
  fill: #ff9800; }

.ct-series-d .ct-area,
.ct-series-d .ct-slice-pie {
  fill: #ff9800; }

.chartist-tooltip {
  position: absolute;
  display: inline-block;
  opacity: 0;
  min-width: 0.625rem;
  padding: 2px 0.625rem;
  border-radius: 3px;
  background: #313a46;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 1;
  -webkit-transition: opacity .2s linear;
  -moz-transition: opacity .2s linear;
  -o-transition: opacity .2s linear;
  transition: opacity .2s linear; }

.chartist-tooltip.tooltip-show {
  opacity: 1; }

#donught_graph .ct-series.ct-series-a .ct-slice-donut {
  stroke: #3FC6D4; }
#donught_graph .ct-series.ct-series-b .ct-slice-donut {
  stroke: #333333; }
#donught_graph .ct-series.ct-series-c .ct-slice-donut {
  stroke: #F63465; }

#visitor_graph {
  height: 253px !important; }

#user_rating_graph {
  height: 280px !important; }

#activity {
  height: 230px !important; }

#visitorOnline {
  height: 72px !important; }

#trendMeter {
  height: 72px !important; }

#widget-revenue1,
#widget-revenue2,
#widget-revenue3 {
  height: 117px !important; }

#widget-profit1,
#widget-profit2,
#widget-profit3 {
  height: 160px !important; }

#comparison-rate {
  height: 230px !important; }

#session_day {
  height: 175px !important;
  width: auto !important;
  margin: 0 auto; }

#walet-status {
  height: 140px !important; }

#bar1 {
  height: 150px !important; }

#sold-product {
  height: 230px !important; }

#chart-venue-expenses,
#chart


t change following FR unless you know the effects. */
#define res1   $vr19
#define res2   $vr20

   PROLOGUE

#ifdef F_INTERFACE
   LDINT   N,     0(N)
   LDINT   INCX,  0(INCX)
#endif
   vxor.v res1, res1, res1
   vxor.v res2, res2, res2
   bge $r0,    N, .L999
   beq $r0, INCX, .L999
   li.d  TEMP, SIZE
   slli.d INCX, INCX, BASE_SHIFT
   srai.d I, N, 3
   bne INCX, TEMP, .L20
   bge  $r0,    I, .L997
   .align 3

.L10:
   vld  VX0, X, 0
   vld  VX5, X, 4 * SIZE
   addi.d I, I, -1
   addi.d X, X, 8 * SIZE
   vfcvtl.d.s VX1, VX0
   vfcvth.d.s VX2, VX0
   vfcvtl.d.s VX3, VX5
   vfcvth.d.s VX4, VX5
   vfmadd.d  res1, VX1, VX1, res1
   vfmadd.d  res2, VX2, VX2, res2
   vfmadd.d  res1, VX3, VX3, res1
   vfmadd.d  res2, VX4, VX4, res2
   blt $r0, I, .L10
   b .L996
   .align 3

.L20:
   bge $r0, I, .L997
   .align 3

.L21:
   ld.w t1, X, 0
   add.d X, X, INCX
   ld.w t2, X, 0
   add.d X, X, INCX
   ld.w t3, X, 0
   add.d X, X, INCX
   ld.w t4, X, 0
   add.d X, X, INCX
   vinsgr2vr.w VX0, t1, 0
   vinsgr2vr.w VX0, t2, 1
   vinsgr2vr.w VX0, t3, 2
   vinsgr2vr.w VX0, t4, 3
   vfcvtl.d.s VX1, VX0
   vfcvth.d.s VX2, VX0
   vfmadd.d res1, VX1, VX1, res1
   vfmadd.d res2, VX2, VX2, res2
   ld.w t1, X, 0
   add.d X, X, INCX
   ld.w t2, X, 0
   add.d X, X, INCX
   ld.w t3, X, 0
   add.d X, X, INCX
   ld.w t4, X, 0
   add.d X, X, INCX
   vinsgr2vr.w VX0, t1, 0
   vinsgr2vr.w VX0, t2, 1
   vinsgr2vr.w VX0, t3, 2
   vinsgr2vr.w VX0, t4, 3
   vfcvtl.d.s VX3, VX0
   vfcvth.d.s VX4, VX0
   vfmadd.d res1, VX3, VX3, res1
   vfmadd.d res2, VX4, VX4, res2
   addi.d  I, I, -1
   blt $r0, I, .L21
   b .L996
   .align 3

.L996:
   vfadd.d res1, res1, res2
   vreplvei.d VX1, res1, 1
   vfadd.d res1, VX1, res1
   .align 3

.L997:
   andi I, N, 7
   bge $r0, I, .L999
   .align 3

.L998:
   fld.s $f15, X, 0
   addi.d I, I, -1
   fcvt.d.s $f15, $f15
   fmadd.d $f19, $f15, $f15, $f19
   add.d X, X, INCX
   blt $r0, I, .L998
   .align 3

.L999:
   fsqrt.d $f19, $f19
   move $r4, $r17
   fcvt.s.d $f0, $f19
   jirl $r0, $r1, 0x0
   .align 3

   EPILOGUE


				border: 0;
				color: _palette(fg-light);
				display: block;
				font-size: 0.6em;
				font-weight: _font(weight-bold);
				letter-spacing: _font(kerning-alt);
				line-height: 1.75;
				outline: 0;
				padding: 1.35em 0;
				position: relative;
				text-decoration: none;
				text-transform: uppercase;

				&:before,
				&:after {
					border-radius: 0.2em;
					bottom: 0;
					content: '';
					height: 0.2em;
					position: absolute;
					right: 0;
					width: 100%;
				}

				&:before {
					background: lighten(_palette(bg), 5);
				}

				&:after {
					@include vendor('background-image', 'linear-gradient(to right, #{_palette(accent1)}, #{_palette(accent3)})');
					@include vendor('transition', 'max-width #{_duration(transition)} ease');
					max-width: 0;
				}

				&:hover {
					color: _palette(fg);
				}

				&.active {
					color: _palette(fg-bold);

					&:after {
						max-width: 100%;
					}
				}
			}
		}

		body.is-preload & {
			> .inner {
				opacity: 0;
			}

			nav {
				ul {
					li {
						@include vendor('transform', 'translateY(2em)');
						opacity: 0;
					}
				}
			}
		}

		@include breakpoint('<=large') {
			height: _size(sidebar-height);
			left: 0;
			line-height: _size(sidebar-height);
			overflow: hidden;
			padding: 0;
			text-align: center;
			top: 0;
			width: 100%;

			> .inner {
				@include vendor('flex-direction', 'row');
				@include vendor('align-items', 'stretch');
				height: inherit;
				line-height: inherit;
			}

			nav {
				height: inherit;
				line-height: inherit;

				ul {
					@include vendor('display', 'flex');
					height: inherit;
					line-height: inherit;
					margin: 0;

					li {
						display: block;
						height: inherit;
						line-height: inherit;
						margin: 0 0 0 2em;
						padding: 0;
					}
				}

				a {
					height: inherit;
					line-height: inherit;
					padding: 0;

					&:after {
						background-image: none;
						background-color: _palette(accent3);
					}
				}
			}
		}

		@include breakpoint('<=small') {
			display: none;
		}
	}.main {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 6rem;
  min-height: 100vh;
}

.vercelLogo {
  filter: invert(1);
}

.description {
  display: inherit;
  justify-content: inherit;
  align-items: inherit;
  font-size: 0.85rem;
  max-width: var(--max-width);
  width: 100%;
  z-index: 2;
  font-family: var(--font-mono);
}

.description a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}

.description p {
  position: relative;
  margin: 0;
  padding: 1rem;
  background-color: rgba(var(--callout-rgb), 0.5);
  border: 1px solid rgba(var(--callout-border-rgb), 0.3);
  border-radius: var(--border


ージョン: 0.13.1以上

3. **Node.js および Yarn**
   - フロントエンドビルドとwebpackの実行
   - バージョン: Node.js v22.17.0（LTS）、Yarn v4.9.2
   - 推奨: Voltaを使用したバージョン管理

4. **C/C++コンパイラ**
   - build-essentialパッケージ（gcc、g++、make等）
   - Rust/WebAssemblyのネイティブコンパイルに必要

5. **Git**
   - ソースコードの取得とバージョン管理

6. **Docker および Docker Compose**（コンテナ実行の場合）
   - Docker Engine v20以上
   - Docker Compose v2以上

#### 追加の依存関係（自動インストール）
以下はセットアップスクリプトで自動的にインストールされます：
- pkg-config
- libssl-dev（OpenSSL開発ライブラリ）
- curl（インストーラのダウンロード用）

## WSL2 Ubuntu 24.04 セットアップ

WSL2のUbuntu 24.04環境で開発環境を構築する場合は、付属のセットアップスクリプトを使用できます：

```bash
# セットアップスクリプトの実行
./setup-wsl2-ubuntu.sh
```

このスクリプトは以下を自動的にインストール・設定します：
- システムパッケージの更新
- build-essential（gcc、g++、make）
- Rust（最新stable版）
- wasm-pack
- Node.js（LTS版）とYarn
- Docker
- プロジェクトのビルド（オプション）

## クイックスタート

### 1. リポジトリのクローン
```bash
git clone <repository-url>
cd nw_simulator
```

### 2. Dockerコンテナの起動

```bash
make run
```

または直接実行：
```bash
docker-compose up --build
```

### 3. ブラウザでアクセス
```
http://localhost:8080
```

## 主要なMakeコマンド

```bash
make build    # Dockerイメージのビルド
make run      # コンテナの起動（本番モード）
make dev      # 開発モードで起動（ホットリロード対応）
make stop     # コンテナの停止
make clean    # ビルドアーティファクトのクリーンアップ
make logs     # コンテナログの表示
```

## 使用方法

1. **ルーターの追加**: サイドバーの「Add」ツールを選択後、キャンバス上をクリックして配置
2. **ルーターの移動**: 「Move」ツールを選択後、ルーターをドラッグして移動
3. **ルー


CodegenContext>,
    val model: Model,
    val resolvedProtocol: String?,
)

class ClientProtocolLoaderTest {
    @Test
    fun `test priority order of default supported protocols`() {
        val expectedOrder =
            listOf(
                Rpcv2CborTrait.ID,
                AwsJson1_0Trait.ID,
                AwsJson1_1Trait.ID,
                RestJson1Trait.ID,
                RestXmlTrait.ID,
                AwsQueryTrait.ID,
                Ec2QueryTrait.ID,
            )
        assertEquals(expectedOrder, DefaultProtocols.keys.toList())
    }

    // Although the test function name appears generic, its purpose is to verify whether
    // the RPCv2Cbor protocol is selected based on specific contexts.
    @ParameterizedTest
    @ArgumentsSource(ProtocolSelectionTestCaseProvider::class)
    fun `should resolve expected protocol`(testCase: TestCase) {
        val protocolLoader = ClientProtocolLoader(testCase.supportedProtocols)
        val serviceShape = testCase.model.expectShape(ShapeId.from("test#TestService"), ServiceShape::class.java)
        if (testCase.resolvedProtocol.isNullOrEmpty()) {
            assertThrows<CodegenException> {
                protocolLoader.protocolFor(testCase.model, serviceShape)
            }
        } else {
            val actual = protocolLoader.protocolFor(testCase.model, serviceShape).first.name
            assertEquals(testCase.resolvedProtocol, actual)
        }
    }
}

class ProtocolSelectionTestCaseProvider : ArgumentsProvider {
    override fun provideArguments(p0: ExtensionContext?): Stream<out Arguments> {
        val protocolsWithoutRpcv2Cbor = LinkedHashMap(DefaultProtocols)
        protocolsWithoutRpcv2Cbor.remove(Rpcv2CborTrait.ID)

        return arrayOf(
            TestCase(DefaultProtocols, model(listOf("rpcv2Cbor", "awsJson1_0")), "rpcv2Cbor"),
            TestCase(DefaultProtocols, model(listOf("rpcv2Cbor")), "rpcv2Cbor"),
            TestCase(DefaultProtocols, model(listOf("rpcv2Cbor", "awsJson1_0", "awsQuery")), "rpcv2Cbor"),
            TestCase(DefaultProtocols, model(listOf("awsJson1_0", "awsQuery")), "awsJson1_0"),
            TestCase(DefaultProtocols, model(listOf("awsQuery")), "awsQuery"),
            TestCase(protocolsWithoutRpcv2Cbor, model(listOf("rpcv2Cbor", "awsJson1_0")), "awsJson1_0"),
            TestCase(protocolsWithoutRpcv2Cbor, model(listOf("rpcv2Cbor")), null),
            TestCase(protocolsWithoutRpcv2Cbor, model(listOf("rpcv2Cbor", "awsJson1_0", "awsQuery")), "awsJson1_0"),
            TestCase(protocolsWithoutRpcv2Cbor, model(listOf("awsJson1_0", "awsQuery")), "awsJson1_0"),
            TestCase(protocolsWithoutRpcv2Cbor, model(listOf("awsQuery")), "awsQuery"),
        ).map { Arguments.of(it) }.stream()
    }

    private fun model(protocols: List<String>) =
        (
            """
            namespace test
            """ + renderProtocols(protocols) +
                """
                @xmlNamespace(uri: "http://test.com") // required for @awsQuery
                service TestService {
                    version: "1.0.0"
                }
                """
        ).asSmithyModel(smithyVersion = "2.0")
}

private fun renderProtocols(protocols: List<String>): String {
    val (rpcProtocols, awsProtocols) = protocols.partition { it == "rpcv2Cbor" }

    val uses =
        buildList {
            rpcProtocols.forEach { add("use smithy.protocols#$it") }
            awsProtocols.forEach


DeltaJ.g:1619:1: ( ( rule__MethodAddition__Group__0 ) )
            {
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1619:1: ( ( rule__MethodAddition__Group__0 ) )
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1620:1: ( rule__MethodAddition__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMethodAdditionAccess().getGroup());
            }
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1621:1: ( rule__MethodAddition__Group__0 )
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1621:2: rule__MethodAddition__Group__0
            {
            pushFollow(FOLLOW_rule__MethodAddition__Group__0_in_ruleMethodAddition3400);
            rule__MethodAddition__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMethodAdditionAccess().getGroup());
            }

            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMethodAddition"

    // $ANTLR start "entryRuleFieldRemoval"
    // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1633:1: entryRuleFieldRemoval : ruleFieldRemoval EOF ;
    public final void entryRuleFieldRemoval() throws RecognitionException {
        try {
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1634:1: ( ruleFieldRemoval EOF )
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1635:1: ruleFieldRemoval EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getFieldRemovalRule());
            }
            pushFollow(FOLLOW_ruleFieldRemoval_in_entryRuleFieldRemoval3427);
            ruleFieldRemoval();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getFieldRemovalRule());
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldRemoval3434); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldRemoval"

    // $ANTLR start "ruleFieldRemoval"
    // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1642:1: ruleFieldRemoval : ( ( rule__FieldRemoval__Group__0 ) ) ;
    public final void ruleFieldRemoval() throws RecognitionException {

        		int stackSize = keepStackSize();

        try {
            // ../org.deltaj.ui/src-gen/org/deltaj/ui/contentassist/antlr/internal/InternalDeltaJ.g:1646:2: ( ( ( rule__FieldRemoval__Group__0 ) ) )
            // ../org.


.78,79.98},{42.85,80.12},{44.2,80.44},{46.47,80.61},{47.45,80.77},{49.36,81.07},{50.27,81.22},{50.53,83.71},{49.19,84.47},{46.53,84.65},{43.28,84.31},{41.55,83.87},{38.55,82.34},{36.72,81.3},{34.22,79.88}}}},1537,{7905},nil,1555,"AH","Darkmoon Faire Barker",3},
[14843] = {'Kruban Darkblade',955,955,30,30,0,{[1637]={{52.9,66.56}}},{[1637]={{{52.9,66.56},{52.18,65.03},{50.65,63.06},{49.57,61.45},{48.8,59.66},{47.62,59.31},{46.42,59.55},{45.38,60.66},{44.61,61.93},{44.18,62.91},{44.06,64.4},{44.46,66.06},{45.59,68.07},{46.15,69.06},{46.51,70.88},{47.32,72.9},{48.54,74.38},{49.63,75.51},{50.66,76.29},{51.66,76.39},{52.63,76.48},{53.79,74.35},{54.1,72.74},{53.82,71.14},{53.24,68.91}}}},1637,{7926},nil,1555,"AH","Darkmoon Faire Barker",3},
[14844] = {'Sylannia',1220,1220,35,35,0,{[215]={{36.68,38.32}},[12]={{42.22,70.06}}},nil,215,nil,nil,1555,"AH","Darkmoon Faire Drink Vendor",5},
[14845] = {'Stamp Thunderhorn',1220,1220,35,35,0,{[215]={{36.6,38.3}},[12]={{42.16,70.2}}},nil,215,nil,nil,1555,"AH","Darkmoon Faire Food Vendor",5},
[14846] = {'Lhara',1220,1220,35,35,0,{[215]={{36.4,38.03}},[12]={{41.2,69.9}}},nil,215,nil,nil,1555,"AH","Darkmoon Faire Exotic Goods",5},
[14847] = {'Professor Thaddeus Paleo',1220,1220,35,35,0,{[215]={{36.43,38.13}},[12]={{41.25,70.05}}},nil,215,nil,{7907,7927,7928,7929},1555,"AH","Darkmoon Faire Cards & Exotic Goods",7},
[14848] = {'Herald',1065,1065,3,3,0,nil,nil,0,nil,nil,35,"AH",nil,0},
[14849] = {'Darkmoon Faire Carnie',699,699,25,25,0,{[12]={{40.66,69.43},{42.28,68.82},{40.54,69.34},{42.21,69.02},{42.12,69.48},{40.37,69.66},{42.53,70.93},{41.46,68.72},{41.57,68.66},{41.63,70.52},{42.12,69.35}},[215]={{36.52,36.94},{37.68,38.45},{38.06,39.63},{36.87,37.73},{36.57,38.32},{37.34,39.54},{37.59,39.83},{36.28,37.57},{37.42,37.75},{37.03,38.11}}},nil,12,nil,nil,1555,"AH",nil,1},
[14850] = {'Gruk',42,42,1,1,0,{[17]={{55.36,


-decl">pub struct IpMulticastTtl;
Expand description

Set or read the time-to-live value of outgoing multicast packets for
this socket.

Trait Implementations§

source§
impl Clone for IpMulticastTtl

source§
fn clone(&self) -> IpMulticastTtl

Returns a copy of the value. Read more

1.0.0 · source§
fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

source<a href="#impl-Debug


onstructorArguments)
        {
            try
            {
                _logger.Info($"Running {testMethod.TestClass.Class.Name}.{testMethod.Method.Name}");

                var t = base.RunTestMethodAsync(testMethod, method, testCases, constructorArguments);
                var delay = Task.Delay(5000);
                await Task.WhenAny(t, delay);
                if (!t.IsCompleted)
                {
                    throw new TimeoutException($"Timeout: {testMethod.TestClass.Class.Name}.{testMethod.Method.Name}");
                }

                //var result= await base.RunTestMethodAsync(testMethod, method, testCases, constructorArguments);
                _logger.Info(".. completed " + testMethod.TestClass.Class.Name + "." + testMethod.Method.Name);
                return t.Result;
            }
            catch (Exception e)
            {
                _logger.Info(".. failed " + testMethod.TestClass.Class.Name + "." + testMethod.Method.Name, e);
                throw;
            }

        }
    }
}


ation || RCG.usesReductionInitializer(Cnt);
    // ElemLVal.reduce_fini = fini;
    LValue FiniLVal = CGF.EmitLValueForField(ElemLVal, FiniFD);
    llvm::Value *Fini = emitReduceFiniFunction(CGM, Loc, RCG, Cnt);
    llvm::Value *FiniAddr = Fini
                                ? CGF.EmitCastToVoidPtr(Fini)
                                : llvm::ConstantPointerNull::get(CGM.VoidPtrTy);
    CGF.EmitStoreOfScalar(FiniAddr, FiniLVal);
    // ElemLVal.reduce_comb = comb;
    LValue CombLVal = CGF.EmitLValueForField(ElemLVal, CombFD);
    llvm::Value *CombAddr = CGF.EmitCastToVoidPtr(emitReduceCombFunction(
        CGM, Loc, RCG, Cnt, Data.ReductionOps[Cnt], LHSExprs[Cnt],
        RHSExprs[Cnt], Data.ReductionCopies[Cnt]));
    CGF.EmitStoreOfScalar(CombAddr, CombLVal);
    // ElemLVal.flags = 0;
    LValue FlagsLVal = CGF.EmitLValueForField(ElemLVal, FlagsFD);
    if (DelayedCreation) {
      CGF.EmitStoreOfScalar(
          llvm::ConstantInt::get(CGM.Int32Ty, /*V=*/1, /*isSigned=*/true),
          FlagsLVal);
    } else
      CGF.EmitNullInitialization(FlagsLVal.getAddress(), FlagsLVal.getType());
  }
  // Build call void *__kmpc_task_reduction_init(int gtid, int num_data, void
  // *data);
  llvm::Value *Args[] = {
      CGF.Builder.CreateIntCast(getThreadID(CGF, Loc), CGM.IntTy,
                                /*isSigned=*/true),
      llvm::ConstantInt::get(CGM.IntTy, Size, /*isSigned=*/true),
      CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(TaskRedInput.getPointer(),
                                                      CGM.VoidPtrTy)};
  return CGF.EmitRuntimeCall(
      createRuntimeFunction(OMPRTL__kmpc_task_reduction_init), Args);
}

void CGOpenMPRuntime::emitTaskReductionFixups(CodeGenFunction &CGF,
                                              SourceLocation Loc,
                                              ReductionCodeGen &RCG,
                                              unsigned N) {
  auto Sizes = RCG.getSizes(N);
  // Emit threadprivate global variable if the type is non-constant
  // (Sizes.second = nullptr).
  if (Sizes.second) {
    llvm::Value *SizeVal = CGF.Builder.CreateIntCast(Sizes.second, CGM.SizeTy,
                                                     /*isSigned=*/false);
    Address SizeAddr = getAddrOfArtificialThreadPrivate(
        CGF, CGM.getContext().getSizeType(),
        generateUniqueName(CGM, "reduction_size", RCG.getRefExpr(N)));
    CGF.Builder.CreateStore(SizeVal, SizeAddr, /*IsVolatile=*/false);
  }
  // Store address of the original reduction item if custom initializer is used.
  if (RCG.usesReductionInitializer(N)) {
    Address SharedAddr = getAddrOfArtificialThreadPrivate(
        CGF, CGM.getContext().VoidPtrTy,
        generateUniqueName(CGM, "reduction", RCG.getRefExpr(N)));
    CGF.Builder.CreateStore(
        CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
            RCG.getSharedLValue(N).getPointer(), CGM.VoidPtrTy),
        SharedAddr, /*IsVolatile=*/false);
  }
}

Address CGOpenMPRuntime::getTaskReductionItem(Code


# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT

import time
import usb_midi
import adafruit_midi

# A subset of messages/events
# pylint: disable=unused-import
from adafruit_midi.timing_clock import TimingClock

# from adafruit_midi.channel_pressure        import ChannelPressure
from adafruit_midi.control_change import ControlChange
from adafruit_midi.note_off import NoteOff
from adafruit_midi.note_on import NoteOn
from adafruit_midi.pitch_bend import PitchBend

# 0 is MIDI channel 1
midi = adafruit_midi.MIDI(midi_in=usb_midi.ports[0], in_channel=0)

print("Midi input test with pauses")

# Convert channel numbers at the presentation layer to the ones musicians use
print("Input channel:", midi.in_channel + 1)

# play with the pause to simulate code doing other stuff
# in the loop
pauses = [0] * 10 + [0.010] * 10 + [0.100] * 10 + [1.0] * 10

while True:
    for pause in pauses:
        msg = midi.receive()
        if msg is not None:
            print(time.monotonic(), msg)
        if pause:
            time.sleep(pause)


	assert.Len(t, trace.Spans, 1)
		assert.Equal(t, testingSpan, trace.Spans[0])
	})
}

func TestStoreGetAndMutateTrace(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		query := spanstore.GetTraceParameters{TraceID: testingSpan.TraceID}
		trace, err := store.GetTrace(context.Background(), query)
		require.NoError(t, err)
		assert.Len(t, trace.Spans, 1)
		assert.Equal(t, testingSpan, trace.Spans[0])
		assert.Empty(t, trace.Spans[0].Warnings)

		trace.Spans[0].Warnings = append(trace.Spans[0].Warnings, "the end is near")

		trace, err = store.GetTrace(context.Background(), query)
		require.NoError(t, err)
		assert.Len(t, trace.Spans, 1)
		assert.Equal(t, testingSpan, trace.Spans[0])
		assert.Empty(t, trace.Spans[0].Warnings)
	})
}

func TestStoreGetTraceError(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		store.getTenant("").traces[testingSpan.TraceID] = &model.Trace{
			Spans: []*model.Span{nonSerializableSpan},
		}
		query := spanstore.GetTraceParameters{TraceID: testingSpan.TraceID}
		_, err := store.GetTrace(context.Background(), query)
		require.Error(t, err)
	})
}

func TestStoreGetTraceFailure(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		query := spanstore.GetTraceParameters{}
		trace, err := store.GetTrace(context.Background(), query)
		require.EqualError(t, err, spanstore.ErrTraceNotFound.Error())
		assert.Nil(t, trace)
	})
}

func TestStoreGetServices(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		serviceNames, err := store.GetServices(context.Background())
		require.NoError(t, err)
		assert.Len(t, serviceNames, 1)
		assert.Equal(t, testingSpan.Process.ServiceName, serviceNames[0])
	})
}

func TestStoreGetAllOperationsFound(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		require.NoError(t, store.WriteSpan(context.Background(), testingSpan))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan1))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan2))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan2_1))
		operations, err := store.GetOperations(
			context.Background(),
			spanstore.OperationQueryParameters{ServiceName: childSpan1.Process.ServiceName},
		)
		require.NoError(t, err)
		assert.Len(t, operations, 3)
		assert.Equal(t, childSpan1.OperationName, operations[0].Name)
	})
}

func TestStoreGetServerOperationsFound(t *testing.T) {
	withPopulatedMemoryStore(func(store *Store) {
		require.NoError(t, store.WriteSpan(context.Background(), testingSpan))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan1))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan2))
		require.NoError(t, store.WriteSpan(context.Background(), childSpan2_1))
		expected := []spanstore.Operation{
			{Name: childSpan1.OperationName, SpanKind: "server"},
		}
		operations, err := store.GetOperations(context.Background(),
			spanstore.OperationQueryParameters{
				ServiceName: childSpan1.Process.ServiceName,
				SpanKind:    "s


[2]));
            return Stream.empty();
        }).toList();
    }

    public static void main(String[] args) {
        for (var syscall : getOrderedSyscalls()) {
            if (syscall != null) {
                System.out.println(syscall.name() + " " + syscall.number());
            }
        }
    }
}
package me.bechberger.ebpf.samples;

import me.bechberger.ebpf.annotations.Size;
import me.bechberger.ebpf.annotations.Unsigned;
import me.bechberger.ebpf.annotations.bpf.BPF;
import me.bechberger.ebpf.annotations.bpf.BPFMapDefinition;
import me.bechberger.ebpf.bpf.BPFProgram;
import me.bechberger.ebpf.bpf.map.BPFBaseMap.PutMode;
import me.bechberger.ebpf.bpf.map.BPFHashMap;
import me.bechberger.ebpf.runtime.AnonDefinitions.__sifields;
import me.bechberger.ebpf.runtime.OpenDefinitions.open_how;
import me.bechberger.ebpf.runtime.interfaces.SystemCallHooks;
import me.bechberger.ebpf.runtime.runtime;
import me.bechberger.ebpf.runtime.runtime.TASK_COMM_LEN;
import me.bechberger.ebpf.type.BPFType;
import me.bechberger.ebpf.type.Ptr;

import static me.bechberger.ebpf.runtime.helpers.BPFHelpers.bpf_get_current_comm;

/**
 * Print the number of openat syscalls per process, using a hash map to count them
 */
@BPF
public abstract class HashMapSample extends BPFProgram implements SystemCallHooks {

    private static final int TASK_COMM_LEN = 16;

    @BPFMapDefinition(maxEntries = 256)
    BPFHashMap<@Size(TASK_COMM_LEN) String, @Unsigned Integer> map;

    @Override
    public void enterOpenat2(int dfd, String filename, Ptr<open_how> how) {
        @Size(TASK_COMM_LEN) String comm = "";

        // Read the current process name
        bpf_get_current_comm(Ptr.of(comm), TASK_COMM_LEN);

        // increment the counter at map[comm]
        Ptr<@Unsigned Integer> counter = map.bpf_get(comm);
        if (counter != null) {
            counter.set(counter.val() + 1);
        }
    }

    public static void main(String[] args) throws InterruptedException {
        try (HashMapSample program = BPFProgram.load(HashMapSample.class)) {
            program.autoAttachPrograms();
            while (true) {
                System.out.println("OpenAt's per process:");
                for (var entry : program.map) {
                    System.out.printf("%16s: %4d\n", entry.getKey(), entry.getValue());
                }
                Thread.sleep(1000);
            }
        }
    }
}package me.bechberger.ebpf.samples;

import me.bechberger.ebpf.annotations.Size;
import me.bechberger.ebpf.annotations.Unsigned;
import me.bechberger.ebpf.annotations.bpf.BPF;
import me.bechberger.ebpf.annotations.bpf.BPFFunction;
import me.bechberger.ebpf.annotations.bpf.MethodIsBPFRelatedFunction;
import me.bechberger.ebpf.bpf.BPFJ;
import me.bechberger.ebpf.bpf.BPFProgram;
import me.bechberger.ebpf.bpf.GlobalVariable;
import me.bechberger.ebpf.runtime.OpenDefinitions.open_how;
import me.bechberger.ebpf.runtime.helpers.BPFHelpers;
import me.bechberger.ebpf.runtime.inter


tin\u0117 \u012ftrauka",numlist_desc:"Sunumeruotas s\u0105ra\u0161as",bullist_desc:"Nesunumeruotas s\u0105ra\u0161as",justifyfull_desc:"Lygiuoti pagal abu kra\u0161tus",justifyright_desc:"Lygiuoti pagal de\u0161in\u0119",justifycenter_desc:"Centruoti",justifyleft_desc:"Lygiuoti pagal kair\u0119",striketrough_desc:"Perbrauktas",anchor_delta_height:"",anchor_delta_width:"",charmap_delta_height:"",charmap_delta_width:"",colorpicker_delta_height:"",colorpicker_delta_width:"",link_delta_height:"",image_delta_height:"",image_delta_width:""});tinyMCE.addI18n('fr.advanced',{underline_desc:"Soulign\u00e9 (Ctrl+U)",italic_desc:"Italique (Ctrl+I)",bold_desc:"Gras (Ctrl+B)",dd:"D\u00e9finition du terme",dt:"Terme \u00e0 d\u00e9finir",samp:"Exemple de code",code:"Code",blockquote:"Bloc de citation",h6:"Titre 6",h5:"Titre 5",h4:"Titre 4",h3:"Titre 3",h2:"Titre 2",h1:"Titre 1",pre:"Pr\u00e9format\u00e9",address:"Adresse",div:"Div",paragraph:"Paragraphe",block:"Format",fontdefault:"Police",font_size:"Taille police",style_select:"Styles",more_colors:"Plus de couleurs",toolbar_focus:"Atteindre les boutons de l\'\u00e9diteur - Alt+Q, Aller \u00e0 l\'\u00e9diteur - Alt-Z, Aller au chemin de l\'\u00e9l\u00e9ment - Alt-X",newdocument:"\u00cates-vous s\u00fbr de vouloir effacer l\'int\u00e9gralit\u00e9 du document ?",path:"Chemin",clipboard_msg:"Les fonctions Copier/Couper/Coller ne sont pas valables sur Mozilla et Firefox.\\nSouhaitez-vous avoir plus d\'informations sur ce sujet ?",blockquote_desc:"Citation",help_desc:"Aide",newdocument_desc:"Nouveau document",image_props_desc:"Propri\u00e9t\u00e9s de l\'image",paste_desc:"Coller",copy_desc:"Copier",cut_desc:"Couper",anchor_desc:"Ins\u00e9rer / \u00e9diter une ancre",visualaid_desc:"Activer / d\u00e9sactiver les guides et les \u00e9l\u00e9ments invisibles",charmap_desc:"Ins\u00e9rer des caract\u00e8res sp\u00e9ciaux",backcolor_desc:"Choisir la couleur de surlignage",forecolor_desc:"Choisir la couleur du texte",custom1_desc:"Votre description personnalis\u00e9e ici",removeformat_desc:"Supprimer le formatage",hr_desc:"Ins\u00e9rer un trait horizontal",sup_desc:"Exposant",sub_desc:"Indice",code_desc:"\u00c9diter le code source HTML",cleanup_desc:"Nettoyer le code",image_desc:"Ins\u00e9rer / \u00e9diter l\'image",unlink_desc:"Supprimer le lien",link_desc:"Ins\u00e9rer / \u


src:url(./font/check.eot?44552751);src:url(./font/check.eot?44552751#iefix) format('embedded-opentype'),url(./font/check.woff?44552751) format('woff'),url(./font/check.ttf?44552751) format('truetype'),url(./font/check.svg?44552751#check) format('svg');font-weight:400;font-style:normal}.thwvsf-style{display:block!important;width:150px!important}span.tier-name{position:absolute!important;left:48px!important;font-size:17px!important}.fa{text-align:left!important}.fa-check{left:8px!important}.float{display:inline-block;position:relative}.clos{float:left;position:absolute;left:0;top:0;z-index:1000;padding:5px;font-weight:700}.thwvsf-wrapper-ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none;position:relative}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li{list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative;width:45px;height:45px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#FFF;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px #d1d7da;padding:2px;margin:4px 8px 4px 0}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li:hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px #b7bfc6}.thwvsf-wrapper-ul .thwvsf-item-span-color{width:100%;height:100%;position:relative;border-radius:inherit}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li{min-width:30px;text-align:center}.thwvsf-wrapper-ul .thwvsf-item-span.item-span-text{padding:0 5px;font-size:16px}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px #8b98a6}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);pointer-events:none;position:relative;overflow:hidden;opacity:.3}.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.deactive::before,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::after,.thwvsf-wrapper-ul .thwvsf-wrapper-item-li.out_of_stock::before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!impo


 of the GNU Lesser General Public License
// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.

package les

import (
	"context"
	"testing"
	"time"

	"github.com/gochain/gochain/v4/common"
	"github.com/gochain/gochain/v4/core/rawdb"
	"github.com/gochain/gochain/v4/crypto"
	"github.com/gochain/gochain/v4/eth"
	"github.com/gochain/gochain/v4/ethdb"
	"github.com/gochain/gochain/v4/light"
)

var testBankSecureTrieKey = secAddr(testBankAddress)

func secAddr(addr common.Address) []byte {
	return crypto.Keccak256(addr[:])
}

type accessTestFn func(db common.Database, bhash common.Hash, number uint64) light.OdrRequest

func TestBlockAccessLes1(t *testing.T) { testAccess(t, 1, tfBlockAccess) }

func TestBlockAccessLes2(t *testing.T) { testAccess(t, 2, tfBlockAccess) }

func tfBlockAccess(db common.Database, bhash common.Hash, number uint64) light.OdrRequest {
	return &light.BlockRequest{Hash: bhash, Number: number}
}

func TestReceiptsAccessLes1(t *testing.T) { testAccess(t, 1, tfReceiptsAccess) }

func TestReceiptsAccessLes2(t *testing.T) { testAccess(t, 2, tfReceiptsAccess) }

func tfReceiptsAccess(db common.Database, bhash common.Hash, number uint64) light.OdrRequest {
	return &light.ReceiptsRequest{Hash: bhash, Number: number}
}

func TestTrieEntryAccessLes1(t *testing.T) { testAccess(t, 1, tfTrieEntryAccess) }

func TestTrieEntryAccessLes2(t *testing.T) { testAccess(t, 2, tfTrieEntryAccess) }

func tfTrieEntryAccess(db common.Database, bhash common.Hash, number uint64) light.OdrRequest {
	if number := rawdb.ReadHeaderNumber(db.GlobalTable(), bhash); number != nil {
		return &light.TrieRequest{Id: light.StateTrieID(rawdb.ReadHeader(db.HeaderTable(), bhash, *number)), Key: testBankSecureTrieKey}
	}
	return nil
}

func TestCodeAccessLes1(t *testing.T) { testAccess(t, 1, tfCodeAccess) }

func TestCodeAccessLes2(t *testing.T) { testAccess(t, 2, tfCodeAccess) }

func tfCodeAccess(db common.Database, bhash common.Hash, num uint64) light.OdrRequest {
	number := rawdb.ReadHeaderNumber(db.GlobalTable(), bhash)
	if number != nil {
		return nil
	}
	header := rawdb.ReadHeader(db.HeaderTable(), bhash, *number)
	if header.Number.Uint64() < testContractDeployed {
		return nil
	}
	sti := light.StateTrieID(header)
	ci := light.StorageTrieID(sti, crypto.Keccak256Hash(testContractAddr[:]), common.Hash{})
	return &light.CodeRequest{Id: ci, Hash: crypto.Keccak256Hash(testContractCodeDeployed)}
}

func testAccess(t *testing.T, protocol int, fn accessTestFn) {
	// Assemble the test environment
	peers := newPeerSet()
	dist := newRequestDistributor(peers, make(chan struct{}))
	rm := newRetrieveManager(peers, dist, nil)
	db := ethdb.NewMemDatabase()
	ldb := ethdb.NewMemDatabase()
	odr := NewLesOdr(ldb, light.NewChtIndexer(db, true), light.NewBloomTrieIndexer(db, true), eth.NewBloomIndexer(db, light.BloomTrieFrequency), rm)

	pm := newTestProtocolManagerMust(t, false, 4, testChainGen, nil, nil, db)
	lpm := newTestProtocolManagerMust(t, true, 0, nil, peers, odr, ldb)
	_, err1, lpeer, err2 := newTestPeerPair("peer", protoco


ODlEODNERDJBRjUwQTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QzY2OUNCMDg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY2OUNCMTg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsQhXeAAAABfSURBVHjaYvz//z8DJYCRUgMYQAbAMBQIAvEqkBQWXI6sHqwHiwG70TTBxGaiWwjCTGgOUgJiF1J8wMRAIUA34B4Q76HUBelAfJYSA0CuMIEaRP8wGIkGMA54bgQIMACAmkXJi0hKJQAAAABJRU5ErkJggg==) no-repeat 10px center;
    text-decoration: none;
}
article ul,
article ol {
    padding-left: 30px;
}

article p,
article blockquote,
article dl,
article ul,
article ol,
article table,
article pre {
    margin: 15px 0;
}

article ul :first-child,
article ol :first-child {
  margin-top: 0; }

article dl {
  padding: 0;
}
article dl dt {
    font-size: 14px;
    font-weight: bold;
    font-style: italic;
    padding: 0;
    margin: 15px 0 5px;
}
article dl dt:first-child {
    padding: 0;
}
article dl dt > :first-child {
    margin-top: 0;
}
article dl dt > :last-child {
    margin-bottom: 0;
}
article dl dd {
    margin: 0 0 15px;
    padding: 0 15px;
}
article dl dd > :first-child {
    margin-top: 0;
}
article dl dd > :last-child {
    margin-bottom: 0;
}

article blockquote {
    border-left: 4px solid #ddd;
    padding: 0 15px;
    color: #777;
}
article blockquote > :first-child {
    margin-top: 0;
}
article blockquote > :last-child {
    margin-bottom: 0;
}

article .figure {
    margin: 15px 0;
}

article .figure img {
    max-width: 100%;
    display: block;
}

article img {
    max-width: 100%;
}

article .caption {
    margin: .5em 0;
    padding: 0 1em;
    font-size: 1.2rem;
    color: #777;
    background: -webkit-linear-gradient(left, #f1f1f1, #fff, #fff, #fff);
    background: linear-gradient(left, #f1f1f1, #fff, #fff, #fff);
}

article code,
article tt {
    margin: 0 2px;
    padding: 0 5px;
    border: 1px solid #eaeaea;
    background-color: #f8f8f8;
    border-radius: 3px;
}

article pre,
article code,
article tt {
    font-family: Consolas, 'Courier New', monospace;
}

article pre code {
    margin: