45FixedInteger("ValidityStatus", 1)
        )

        private val FIELDS_V2_UL = En1545Container(
                En1545FixedInteger("ProductCode", 10),
                En1545FixedInteger(CHILD, 1),
                En1545FixedInteger(LANGUAGE_CODE, 2),
                En1545FixedInteger(CONTRACT_PERIOD_UNITS, 2),
                En1545FixedInteger(CONTRACT_PERIOD, 8),
                En1545FixedInteger(HSLLookup.contractAreaTypeName(CONTRACT_PREFIX), 2),
                En1545FixedInteger(HSLLookup.contractAreaName(CONTRACT_PREFIX), 6),
                En1545FixedInteger.date(CONTRACT_SALE),
                En1545FixedInteger(CONTRACT_SALE_HOUR, 5),
                En1545FixedInteger("SaleDeviceType", 3),
                En1545FixedInteger("SaleDeviceNumber", 14),
                En1545FixedInteger(CONTRACT_PRICE_AMOUNT, 15),
                En1545FixedInteger(CONTRACT_PASSENGER_TOTAL, 6),
                En1545FixedHex("Seal1", 48),
                En1545FixedInteger.date(CONTRACT_START) ,
                En1545FixedInteger.timeLocal(CONTRACT_START),
                En1545FixedInteger.date(CONTRACT_END),
                En1545FixedInteger.timeLocal(CONTRACT_END)
                // RFU 14 bits and seal2 64 bits
        )

        fun parse(raw: ImmutableByteArray, version: HSLTransitData.Variant): HSLArvo?  {
            if (raw.isAllZero())
                return null
            val (fields, offset) = when (version) {
                HSLTransitData.Variant.HSL_V1 -> Pair(FIELDS_V1, 144)
                HSLTransitData.Variant.HSL_V2 -> Pair(FIELDS_V2, 286)
                HSLTransitData.Variant.WALTTI -> Pair(FIELDS_WALTTI, 168)
            }
            val parsed = En1545Parser.parse(raw, fields)
            return HSLArvo(parsed,
                HSLTransaction.parseEmbed(raw = raw, version = version, offset = offset,
                                          walttiArvoRegion = parsed.getInt(HSLLookup.contractWalttiRegionName(CONTRACT_PREFIX))))
        }
        fun parseUL(raw: ImmutableByteArray, version: Int, city: Int): HSLArvo?  {
            if (raw.isAllZero())
                return null
            if (version == 2)
                return HSLArvo(En1545Parser.parse(raw, FIELDS_V2_UL),
                        HSLTransaction.parseEmbed(raw = raw, version = HSLTransitData.Variant.HSL_V2,
                                offset = 264, ultralightCity=city), ultralightCity=city)
            return HSLArvo(En1545Parser.parse(raw, FIELDS_V1_UL),
                    HSLTransaction.parseEmbed(raw = raw, version = HSLTransitData.Variant.HSL_V1,
                            offset = 264, ultralightCity=city), ultralightCity=city)
        }

        fun formatHour(hour: Int?): FormattedString? {
            hour ?: return null
            val obfHour = if (!Preferences.obfuscateTripTimes) hour else ((hour + 21 + Random.nextInt(6)) % 24)
            return FormattedString(" ${NumberUtils.zeroPad(obfHour,2)}:XX")
        }
    }
}
/*
 * NewShenzhenTransitData.kt
 *
 * Copyright 2018 Google
 *
 * This program 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.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warr


     使用music21生成五线谱
        """
        score = converter.parse(midi_file)
        score.write('musicxml', fp=output_file)

    def create_numbered_notation(self, time, frequency, lyrics, output_file):
        """
        创建带歌词的简谱
        """
        # 将频率转换为简谱音符
        notes = [self.frequency_to_numbered_notation(f) for f in frequency]

        # 处理歌词
        if lyrics and lyrics != "♪ (无法识别歌词) ♪":
            # 使用结巴分词
            words = list(jieba.cut(lyrics))

            # 获取拼音
            pinyin_list = pinyin(lyrics, style=Style.NORMAL)
            pinyin_flat = [p[0] for p in pinyin_list]

            # 调整歌词长度以匹配音符长度
            if len(words) < len(notes):
                # 如果歌词少于音符，用空格填充
                words.extend([''] * (len(notes) - len(words)))
            elif len(words) > len(notes):
                # 如果歌词多于音符，截断
                words = words[:len(notes)]
        else:
            # 如果没有歌词，使用占位符
            words = ['♪'] * len(notes)

        # 创建简谱文件
        with open(output_file, 'w', encoding='utf-8') as f:
            f.write("# 简谱 (Numbered Musical Notation)\n\n")

            # 写入基本信息
            f.write("## 基本信息\n")
            f.write("- 调号: C调\n")
            f.write("- 拍号: 4/4\n\n")

            # 写入简谱和歌词
            f.write("## 旋律与歌词\n\n")
            f.write("```\n")

            # 每行最多显示16个音符
            notes_per_line = 16
            for i in range(0, len(notes), notes_per_line):
                # 写入音符行
                line_notes = notes[i:i+notes_per_line]
                f.write(" ".join(line_notes) + "\n")

                # 写入歌词行
                line_words = words[i:i+notes_per_line]
                f.write(" ".join(line_words) + "\n\n")

            f.write("```\n")

            f.write("\n## 说明\n")
            f.write("- 1=C, 2=D, 3=E, 4=F, 5=G, 6=A, 7=B\n")
            f.write("- #表示升号，b表示降号\n")
            f.write("- '表示高八度，,表示低八度\n")

        return output_file

    def process_instrument_tracks(self, tracks, output_dir):
        """
        处理伴奏主旋律轨道
        """
        results = {}

        try:
            # 只处理伴奏轨道
            accompaniment_file = tracks.get('other') or tracks.get('accompaniment')
            if not accompaniment_file or not os.path.exists(accompaniment_file):
                print(f"警告：伴奏文件不存在")
                return {}

            print("处理伴奏主旋律轨道...")

            # 提取音高和节拍
            try:
                time, frequency, beat_times, tempo = self.extract_pitch(accompaniment_file)

                # 检查提取的数据是否有效
                if len(time) == 0 or len(frequency) == 0:
                    print("警告：无法从伴奏轨道提取有效的音高数据")
                    return {}

                # �


/*
 * Copyright © 2023 Red Hat, Inc.
 *
 *  This is part of HarfBuzz, a text shaping library.
 *
 * Permission is hereby granted, without written agreement and without
 * license or royalty fees, to use, copy, modify, and distribute this
 * software and its documentation for any purpose, provided that the
 * above copyright notice and the following two paragraphs appear in
 * all copies of this software.
 *
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 *
 * Author(s): Matthias Clasen
 */

#include "hb-test.h"

static void
test_glyph_names_post (void)
{
  hb_face_t *face;
  hb_font_t *font;
  hb_bool_t ret;
  char name [64];

  face = hb_test_open_font_file ("fonts/adwaita.ttf");
  font = hb_font_create (face);

  ret = hb_font_get_glyph_name (font, 0, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, ".notdef");

  ret = hb_font_get_glyph_name (font, 1, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, ".space");

  ret = hb_font_get_glyph_name (font, 2, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "icon0");

  ret = hb_font_get_glyph_name (font, 3, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "icon0.0");

  ret = hb_font_get_glyph_name (font, 4, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "icon0.1");

  ret = hb_font_get_glyph_name (font, 5, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "icon0.2");

  /* beyond last glyph */
  ret = hb_font_get_glyph_name (font, 100, name, 64);
  g_assert_false (ret);

  hb_font_destroy (font);
  hb_face_destroy (face);
}

static void
test_glyph_names_cff (void)
{
  hb_face_t *face;
  hb_font_t *font;
  hb_bool_t ret;
  char name [64];

  face = hb_test_open_font_file ("fonts/SourceSansPro-Regular.otf");
  font = hb_font_create (face);

  ret = hb_font_get_glyph_name (font, 0, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, ".notdef");

  ret = hb_font_get_glyph_name (font, 1, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "space");

  ret = hb_font_get_glyph_name (font, 2, name, 64);
  g_assert_true (ret);
  g_assert_cmpstr (name, ==, "A");

  /* beyond last glyph */
  ret = hb_font_get_glyph_name (font, 2000, name, 64);
  g_assert_false (ret);

  hb_font_destroy (font);
  hb_face_destroy (face);
}

int
main (int argc, char **argv)
{
  hb_test_init (&argc, &argv);

  hb_test_add (test_glyph_names_post);
  hb_test_add (test_glyph_names_cff);

  return hb_test_run();
}


// RUN: not llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI --check-prefix=SICIVI
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI --check-prefix=SICIVI
// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI --check-prefix=SICIVI
// RUN: not llvm-mc -arch=amdgcn -mcpu=fiji -show-encoding %s | FileCheck %s --check-prefix=GCN  --check-prefix=SICIVI --check-prefix=VI --check-prefix=GFX89 --check-prefix=GFX8_0
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx810 -show-encoding %s | FileCheck %s --check-prefix=GCN  --check-prefix=SICIVI --check-prefix=VI --check-prefix=GFX89 --check-prefix=GFX8_1
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX9 --check-prefix=GFX89

// RUN: not llvm-mc -arch=amdgcn -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSICI
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSICI
// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSICI
// RUN: not llvm-mc -arch=amdgcn -mcpu=fiji -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOVI --check-prefix=NOGFX8_0
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx810 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOVI --check-prefix=NOGFX8_1
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOGFX9

//===----------------------------------------------------------------------===//
// Image Load/Store
//===----------------------------------------------------------------------===//

image_load    v[4:6], v[237:240], s[28:35] dmask:0x7 unorm
// GCN:  image_load v[4:6], v[237:240], s[28:35] dmask:0x7 unorm ; encoding: [0x00,0x17,0x00,0xf0,0xed,0x04,0x07,0x00]

image_load    v4, v237, s[28:35]
// GCN:  image_load v4, v237, s[28:35] ; encoding: [0x00,0x00,0x00,0xf0,0xed,0x04,0x07,0x00]

image_load    v4, v[237:238], s[28:35]
// GCN:  image_load v4,


ErrorYTickNum();
	// Draw ticks
	for(let i=-para.getErrorYTickNum();i<=para.getErrorYTickNum();i+=2) {
		let y: number = para.getErrorYPos(i*tickSize);
		innerDrawYTick(y);
		innerAddErrorYTickValue(i*tickSize,y);
	}
	function innerDrawYTick(y: number){
    //y >= para.padding.head helps the ticks to be in the length of Y axis
    if(!isNaN(y) && y >= para.getPadding().head) {
			addYTicks.append("line")
						.attr("x1",para.getPadding().left)
						.attr("y1",y)
						.attr("x2",para.getPadding().left - para.getTickLength())
						.attr("y2",y)
						.attr("stroke","black")
						.attr("stroke-width","1")
		}
	}
  function innerAddErrorYTickValue(data: number, y: number) {
    if(!isNaN(y) && y >= para.getPadding().head) {
      addYTicks.append("text").attr("class","ytext").attr("x",para.getPadding().left - para.getTickLength())
        .attr("y",y)
        .attr("text-anchor","end")
        .attr("alignment-baseline","middle")
        .text(data)
        .style("font-size","14px")
    }
  }
}

/**
 * @function drawErrorPoints
 * @description Draw Error points on the error graph
 * @param {Node} svg -  is a html node on which the graph is being ploted
 * @param {object} para - Contains the parameters like height, width etc.,. tht helps to draw the graph
 */
function drawErrorPoints(svg: any, para: SpectrumViewParameters,
  ionList: MatchedIon[]){
	let circles = svg.append("g").attr("id", "error_circles");
  ionList.forEach((element)=>{
    let mass: number = element.mz;
    if(mass > para.getWinMinMz() && mass <= para.getWinMaxMz()){
      let cx: number = para.getPeakXPos(mass);
      let cy: number = para.getErrorYPos(element.error);
      circles.append("circle")
        .attr("class","error_circles")
        .attr("cx",cx)
        .attr("cy",cy)
        .attr("r", 3)
        .style("fill","black")
        .style("opacity", "1")
        .style("stroke-width","2");
    }
  })
}

function updateViewBox(svgId: string, width: number, height: number) {
  let svg = d3.select("body").select("#"+svgId);
  svg.attr("viewBox", "0 0 "+ width +" "+ height);
}
import _ from "underscore";
import { createStore } from "redux";
import { State } from "../types";
import reducers from "./reducers";

export const saveState = (state: Partial<State>) => {
  try {
    const serializedState = JSON.stringify(_.pick(state, ["pixel", "image"]));
    localStorage.setItem("state", serializedState);
  } catch {
    // ignore write errors
  }
};

export const loadState = () => {
  try {
    const serializedState = localStorage.getItem("state");
    if (serializedState === null) {
      return undefined;
    }
    return JSON.parse(serializedState);
  } catch (err) {
    return undefined;
  }
};

const store = createStore(reducers, loadState());

store.subscribe(() => {
  try {
    saveState(store.getState());
  } catch {
    // ignore write errors
  }
});

export default store;
import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, OnChanges } from '@angular/core';

@Component({
  selector: 'app-countdown',
  templateUrl: './countdown.component.html',
  styleUrls: ['./countdown.component.css']
})
export cla


* Constructs an UnmodifiableClassException with no
     * detail message.
     */
    public
    UnmodifiableClassException() {
        super();
    }

    /**
     * Constructs an UnmodifiableClassException with the
     * specified detail message.
     *
     * @param   s   the detail message.
     */
    public
    UnmodifiableClassException(String s) {
        super(s);
    }
}
/*
 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code 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
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/*
 * @test
 * @bug 4160406 4705734 4707389 6358355 7032154
 * @summary Tests for Float.parseFloat method
 */

import java.math.BigDecimal;
import java.math.BigInteger;

public class ParseFloat {

    private static final BigDecimal HALF = BigDecimal.valueOf(0.5);

    private static void fail(String val, float n) {
        throw new RuntimeException("Float.parseFloat failed. String:" +
                                                val + " Result:" + n);
    }

    private static void check(String val) {
        float n = Float.parseFloat(val);
        boolean isNegativeN = n < 0 || n == 0 && 1/n < 0;
        float na = Math.abs(n);
        String s = val.trim().toLowerCase();
        switch (s.charAt(s.length() - 1)) {
            case 'd':
            case 'f':
                s = s.substring(0, s.length() - 1);
                break;
        }
        boolean isNegative = false;
        if (s.charAt(0) == '+') {
            s = s.substring(1);
        } else if (s.charAt(0) == '-') {
            s = s.substring(1);
            isNegative = true;
        }
        if (s.equals("nan")) {
            if (!Float.isNaN(n)) {
                fail(val, n);
            }
            return;
        }
        if (Float.isNaN(n)) {
            fail(val, n);
        }
        if (isNegativeN != isNegative)
            fail(val, n);
        if (s.equals("infinity")) {
            if (na != Float.POSITIVE_INFINITY) {
                fail(val, n);
            }
            return;
        }
        BigDecimal bd;
        if (s.startsWith("0x")) {
            s = s.substring(2);
            int indP = s.indexOf('p');
            long exp = Long.parseLong(s.substring(indP + 1));
            int indD = s.indexOf('.');
            String significand;
            if (indD >= 0) {


troke(0);
 *   fill(0);
 *   line(0, ay, ax * 20, ay);
 *   line(0, by, bx * 20, by);
 *
 *   // Reformat the float returned by map and draw it.
 *   noStroke();
 *   text(nfc(ax, 2,2), ax, ay - 5);
 *   text(nfc(bx,1,1), bx, by - 5);
 * }
 *

 *
 * @alt
 * horizontal center line squared values displayed on top and regular on bottom.
 *
 */
p5.prototype.round = Math.round;

/**
 * Squares a number (multiplies a number by itself). The result is always a
 * positive number, as multiplying two negative numbers always yields a
 * positive result. For example, -1 * -1 = 1.
 *
 * @method sq
 * @param  {Number} n number to square
 * @return {Number}   squared number
 * @example
 *

 * function draw() {
 *   background(200);
 *   eSize = 7;
 *   x1 = map(mouseX, 0, width, 0, 10);
 *   y1 = 80;
 *   x2 = sq(x1);
 *   y2 = 20;
 *
 *   // Draw the non-squared.
 *   line(0, y1, width, y1);
 *   ellipse(x1, y1, eSize, eSize);
 *
 *   // Draw the squared.
 *   line(0, y2, width, y2);
 *   ellipse(x2, y2, eSize, eSize);
 *
 *   // Draw dividing line.
 *   stroke(100)
 *   line(0, height/2, width, height/2);
 *
 *   // Draw text.
 *   var spacing = 15;
 *   noStroke();
 *   fill(0);
 *   text("x = " + x1, 0, y1 + spacing);
 *   text("sq(x) = " + x2, 0, y2 + spacing);
 * }
 *

 *
 * @alt
 * horizontal center line squared values displayed on top and regular on bottom.
 *
 */
p5.prototype.sq = function(n) { return n*n; };

/**
 * Calculates the square root of a number. The square root of a number is
 * always positive, even though there may be a valid negative root. The
 * square root s of number a is such that s*s = a. It is the opposite of
 * squaring. Maps to Math.sqrt().
 *
 * @method sqrt
 * @param  {Number} n non-negative number to square root
 * @return {Number}   square root of number
 * @example
 *

 * function draw() {
 *   background(200);
 *   eSize = 7;
 *   x1 = mouseX;
 *   y1 = 80;
 *   x2 = sqrt(x1);
 *   y2 = 20;
 *
 *   // Draw the non-squared.
 *   line(0, y1, width, y1);
 *   ellipse(x1, y1, eSize, eSize);
 *
 *   // Draw the squared.
 *   line(0, y2, width, y2);
 *   ellipse(x2, y2, eSize, eSize);
 *
 *   // Draw dividing line.
 *   stroke(100)
 *   line(0, height/2, width, height/2);
 *
 *   // Draw text.
 *   noStroke();
 *   fill(0);
 *   var spacing = 15;
 *   text("x = " + x1, 0, y1 + spacing);
 *   text("sqrt(x) = " + x2, 0, y2 + spacing);
 * }
 *

 *
 * @alt
 * horizontal center line squareroot values displayed on top and regular on bottom.
 *
 */
p5.prototype.sqrt = Math.sqrt;

module.exports = p5;

},{"../core/core":37}],64:[function(_dereq_,module,exports){
/**
 * @module Math
 * @submodule Math
 * @for p5
 * @requires core
 */

'


ddress should start at the entity offset in
    ///     ROM + 0x7C
    /// </param>
    /// <param name="elementGetAddress">The address to write exit data to. Address should start at "Destination X"</param>
    /// <param name="holeTransitionAddress">
    ///     The address to write exit data to for falling down a hole. Address should start at
    ///     "unk_01"
    /// </param>
    /// <returns></returns>
    Dictionary<uint, object> GetTransitionOffsets(byte targetArea, byte targetRoom, byte layerOrHeight, byte animation,
        ushort entranceX, ushort entranceY, byte facingDirection, uint entranceAddress = 0, uint greenWarpAddress = 0,
        uint elementGetAddress = 0, uint holeTransitionAddress = 0);
}


#IMPORT
from tkinter import *

root_neuron = Tk()
#GEOMETRY
root_neuron.geometry("900x600+150+120")
root_neuron.maxsize(900,600)
root_neuron.minsize(900,600)
root_neuron.title("SECURE DOT")

root_neuron.mainloop()


Found({resource});
}

void FlatpakBackend::loadAppsFromAppstreamData()
{
    for (auto installation : std::as_const(m_installations)) {
        // Load applications from appstream metadata
        if (g_cancellable_is_cancelled(m_cancellable)) {
            break;
        }

        if (!loadAppsFromAppstreamData(installation)) {
            qCWarning(LIBDISCOVER_BACKEND_FLATPAK_LOG) << "Failed to load packages from appstream data from installation" << installation;
        }
    }
}

bool FlatpakBackend::loadAppsFromAppstreamData(FlatpakInstallation *flatpakInstallation)
{
    Q_ASSERT(flatpakInstallation);

    g_autoptr(GError) error = nullptr;
    g_autoptr(GPtrArray) remotes = flatpak_installation_list_remotes(flatpakInstallation, m_cancellable, &error);
    if (!remotes) {
        qCWarning(LIBDISCOVER_BACKEND_FLATPAK_LOG) << "failed to list remotes" << error->message;
        return false;
    }

    for (uint i = 0; i < remotes->len; i++) {
        auto remote = FLATPAK_REMOTE(g_ptr_array_index(remotes, i));
        loadRemote(flatpakInstallation, remote);
    }
    return true;
}

void FlatpakBackend::loadRemote(FlatpakInstallation *installation, FlatpakRemote *remote)
{
    g_autoptr(GFile) fileTimestamp = flatpak_remote_get_appstream_timestamp(remote, flatpak_get_default_arch());

    Q_ASSERT(!m_refreshAppstreamMetadataJobs.contains(remote));
    m_refreshAppstreamMetadataJobs.insert(remote);

    g_autofree char *path_str = g_file_get_path(fileTimestamp);
    QFileInfo fileInfo(QFile::decodeName(path_str));
    if (!fileInfo.exists() || fileInfo.lastModified().toUTC().secsTo(QDateTime::currentDateTimeUtc()) > 21600) {
        // Refresh appstream metadata in case they have never been refreshed or the cache is older than 6 hours
        checkForRemoteUpdates(installation, remote);
    } else {
        auto source = integrateRemote(installation, remote);
        Q_ASSERT(findSource(installation, QString::fromUtf8(flatpak_remote_get_name(remote))) == source);
    }
}

void FlatpakBackend::unloadRemote(FlatpakInstallation *installation, FlatpakRemote *remote)
{
    acquireFetching(true);
    for (auto it = m_flatpakSources.begin(); it != m_flatpakSources.end();) {
        if ((*it)->url() == copyAndFree(flatpak_remote_get_url(remote)) && (*it)->installation() == installation) {
            qCDebug(LIBDISCOVER_BACKEND_FLATPAK_LOG) << "unloading remote" << (*it) << remote;
            it = m_flatpakSources.erase(it);
        } else {
            ++it;
        }
    }
    acquireFetching(false);
}

void FlatpakBackend::metadataRefreshed(FlatpakRemote *remote)
{
    const bool removed = m_refreshAppstreamMetadataJobs.remove(remote);
    Q_ASSERT(removed);
}

void FlatpakBackend::createPool(QSharedPointer<FlatpakSource> source)
{
    if (source->m_pool) {
        if (m_refreshAppstreamMetadataJobs.contains(source->remote())) {
            metadataRefreshed(source->remote());
        }
        return;
    }

    const QString appstreamDirPath = source->appstreamDir();
    if (!QFile::exists(appstreamDirPath)) {
        qCWarning(LIBDISCOVER_BACKEND_FLATPAK_LOG) << "No" << appstreamDirPath << "appstream metadata found for" << source->name();
        metadataRefreshed(so


using Rhino;
using Rhino.Commands;
using Rhino.DocObjects;
using Rhino.Geometry;
using Rhino.Input.Custom;
using System;
using System.Collections.Generic;

namespace SampleCsCommands
{
  public class SampleCsFindUnweldedEdges : Command
  {
    public override string EnglishName => "SampleCsFindUnweldedEdges";

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
    {
      GetObject go = new GetObject();
      go.SetCommandPrompt("Select mesh");
      go.GeometryFilter = ObjectType.Mesh;
      go.Get();
      if (go.CommandResult() != Result.Success)
        return go.CommandResult();

      Mesh mesh = go.Object(0).Mesh();
      if (null == mesh)
        return Result.Failure;

      int unwelded_count = 0;
      for (int topei = 0; topei < mesh.TopologyEdges.Count; topei++)
      {
        if (IsUweldedMeshEdge(mesh, topei))
        {
          RhinoApp.WriteLine("Edge({0}) is unwelded", topei);
          unwelded_count++;
        }
      }
      RhinoApp.WriteLine("Unwelded edge count = {0}", unwelded_count);

      return Result.Success;
    }

    /// <summary>
    /// Returns true if a topology mesh edge is unwelded.
    /// </summary>
    /// <param name="mesh">The mesh.</param>
    /// <param name="topei">The topology mesh edge index.</param>
    /// <returns>True if the edge is uwelded, false otherwise.</returns>
    /// <remarks>
    /// Topology mesh edges that have unique vertices along that edge are considered unwelded.
    /// Likewise, topology mesh edges that share vertices along that edge are considered welded.
    /// </remarks>
    public static bool IsUweldedMeshEdge(Mesh mesh, int topei)
    {
      if (null == mesh)
        throw new ArgumentNullException(nameof(mesh));

      if (topei < 0 || topei >= mesh.TopologyEdges.Count)
        throw new IndexOutOfRangeException(nameof(topei));

      int[] topfi = mesh.TopologyEdges.GetConnectedFaces(topei)


3 - Ora no Gokigen Athletic (Japan).png",
  "Named_Titles/Crayon Shin-chan 4 - Ora no Itazura Daihenshin (Japan) (SGB Enhanced).png",
  "Named_Titles/Crystal Quest (USA).png",
  "Named_Titles/Cult Jump (Japan).png",
  "Named_Titles/Cult Master - Ultraman ni Miserarete (Japan).png",
  "Named_Titles/CutThroat Island (USA, Europe).png",
  "Named_Titles/Cyraid (USA).png",
  "Named_Titles/DX Bakenou Z (Japan) (Rev 1).png",
  "Named_Titles/DX Bakenou Z (Japan).png",
  "Named_Titles/Daedalian Opus (USA).png",
  "Named_Titles/Daffy Duck (Europe).png",
  "Named_Titles/Daffy Duck (USA, Europe) (SGB Enhanced).png",
  "Named_Titles/Dai-2-ji Super Robot Taisen G (Japan) (SGB Enhanced).png",
  "Named_Titles/Daikaijuu Monogatari - The Miracle of the Zone (Japan) (SGB Enhanced).png",
  "Named_Titles/Daiku no Gen-san - Ghost Building Company (Japan).png",
  "Named_Titles/Daiku no Gen-san - Robot Teikoku no Yabou (Japan).png",
  "Named_Titles/Daisenryaku (Japan).png",
  "Named_Titles/Darkman (USA, Europe).png",
  "Named_Titles/Darkwing Duck (Europe).png",
  "Named_Titles/Darkwing Duck (Germany).png",
  "Named_Titles/Darkwing Duck (Spain).png",
  "Named_Titles/Darkwing Duck (USA).png",
  "Named_Titles/David Crane's The Rescue of Princess Blobette (Europe).png",
  "Named_Titles/David Crane's The Rescue of Princess Blobette (USA).png",
  "Named_Titles/Days of Thunder (USA, Europe).png",
  "Named_Titles/Dead Heat Scramble (Japan).png",
  "Named_Titles/Dead Heat Scramble (USA).png",
  "Named_Titles/Dennis (Europe).png",
  "Named_Titles/Dennis the Menace (USA).png",
  "Named_Titles/Desert Strike - Return to the Gulf (Europe) (SGB Enhanced).png",
  "Named_Titles/Desert Strike - Return to the Gulf (USA) (SGB Enhanced).png",
  "Named_Titles/Dexterity (USA, Europe).png",
  "Named_Titles/Diablo (USA) (Proto).png",
  "Named_Titles/Dick Tracy (USA).png",
  "Named_Titles/Dig Dug (Europe).png",
  "Named_Titles/Dig Dug (USA).png",
  "Named_Titles/Dino Breeder (Japan) (Rev 1) (SGB Enhanced).png",
  "Named_Titles/Dino Breeder (Japan) (SGB Enhanced).png",
  "Named_Titles/Dino Breeder 2 (Japan) (SGB Enhanced).png",
  "Named_Titles/Dirty Racing (Japan).png",
  "Named_Titles/Dodge Boy (Japan).png",
  "Named_Titles/Donkey Kong (Japan, USA) (En) (SGB Enhanced).png",
  "Named_Titles/Donkey Kong (World) (Rev 1) (SGB Enhanced).png",
  "Named_Titles/Donkey Kong Land (Japan) (SGB Enhanced).png",
  "Named_Titles/Donkey Kong Land (USA, Europe) (SGB Enhanced).png",
  "Named_Titles/Donkey Kong Land 2 (Japan


;
    private Image backgroundImage;
    private String text;

    private boolean selected;

    public CallPanelButton(Image image, String text) {
        super();

        this.text = text;

        normalIcon = JinglePhoneRes.getImageIcon("CALLPANEL_BIG_BUTTON");
        hoverIcon = JinglePhoneRes.getImageIcon("CALLPANEL_BIG_BUTTON_HOVER");
        downIcon = JinglePhoneRes.getImageIcon("CALLPANEL_BIG_BUTTON_DOWN");
        backgroundImage = image;

        setIcon(normalIcon);

        decorate();

        addMouseListener(this);

        setDisabledIcon(normalIcon);
    }

    /**
     * Decorates the button with the approriate UI configurations.
     */
    private void decorate() {
        setBorderPainted(false);
        setOpaque(true);

        setContentAreaFilled(false);
        setMargin(new Insets(0, 0, 0, 0));
    }

    public void mouseClicked(MouseEvent e) {
    }

    public void mousePressed(MouseEvent e) {
        setIcon(downIcon);
    }

    public void mouseReleased(MouseEvent e) {
        if (!selected) {
            setIcon(normalIcon);
        }

    }

    public void mouseEntered(MouseEvent e) {
        if (!selected) {
            setIcon(hoverIcon);
        }
        setCursor(new Cursor(Cursor.HAND_CURSOR));
    }

    public void mouseExited(MouseEvent e) {
        if (!selected) {
            setIcon(normalIcon);
        }
        setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
    }

    public void setButtonSelected(boolean selected) {
        this.selected = selected;
        if (selected) {
            setIcon(downIcon);
        }
        else {
            setIcon(normalIcon);
        }
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        int width = getWidth();
        int height = getHeight();

        int x = (width - backgroundImage.getWidth(null)) / 2;
        int y = (height - backgroundImage.getHeight(null)) / 2;
        g.drawImage(backgroundImage, x, y - 5, null);

        if (isEnabled()) {
            g.setColor(Color.black);
        }
        else {
            g.setColor(Color.lightGray);
        }
        g.setFont(new Font("Dialog", Font.PLAIN, 11));

        int stringWidth = g.getFontMetrics().stringWidth(text);

        x = (width - stringWidth) / 2;
        y = height - 12;
        g.drawString(text, x, y);

    }

    public void setEnabled(boolean enabled) {
        super.setEnabled(enabled);
        if (!enabled) {
            removeMouseListener(this);
        }
        else {
            addMouseListener(this);
        }
    }
}

/**
 * Copyright (C) 2004-2011 Jive Software. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jivesoftware.sparkplugin.ui;

import org.jivesoftware.resource.Default;

import javax.swing.JPanel;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.AffineTransform;

/**
 */
public class Backdrop extends JPanel {
	private static final long se


3;4,0)]);("0+4",[(4;0,6);(5;6,0)]);("",[(6;0,0)])]);
    let expected_result = bdd!(5;0;[("1+3",[(2;4,5)]);("0+4",[(4;0,6);(5;6,0)]);("",[(6;0,0)])]);
    system.push_bdd(bdd)?;
    system.fix(vec![1, 2], false)?;
    assert_eq!(
        system
            .pop_bdd(Id::new(0))
            .expect("Bdd of id 0 should be in the system"),
        expected_result
    );
    Ok(())
}

#[test]
fn test_equality() {
    let bdd = bdd!(5;0;[("1+2",[(1;2,3)]);("3+2",[(2;4,5);(3;4,0)]);("0+4",[(4;0,6);(5;6,0)]);("",[(6;0,0)])]);
    let same_bdd = bdd!(5;0;[("1+2",[(10000;20000,30000)]);("3+2",[(20000;40000,50000);(30000;40000,0)]);
    ("0+4",[(40000;0,60000);(50000;60000,0)]);("",[(60000;0,0)])]);
    assert_eq!(bdd, same_bdd)
}
// Copyright 2019, The Tari Project
//
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
// following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
// disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
// following disclaimer in the documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
// products derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
// USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//! Actor for DHT functionality.
//!
//! The DhtActor is responsible for sending a join request on startup
//! and furnishing [DhtRequest]s.
//!
//! [DhtRequest]: ./enum.DhtRequest.html

use crate::{


 mapOf(
        "java.lang.String" to OPENAPI_STRING,
        "java.lang.Character" to OPENAPI_STRING,
        "kotlin.Char" to OPENAPI_STRING,

        "java.lang.Byte" to OPENAPI_INT,
        "kotlin.Byte" to OPENAPI_INT,
        "java.lang.Short" to OPENAPI_INT,
        "kotlin.Short" to OPENAPI_INT,

        "java.lang.Integer" to OPENAPI_INT32,
        "kotlin.Int" to OPENAPI_INT32,

        "java.lang.Long" to OPENAPI_INT64,
        "kotlin.Long" to OPENAPI_INT64,

        "java.lang.Float" to OPENAPI_FLOAT,
        "kotlin.Float" to OPENAPI_FLOAT,

        "java.lang.Double" to OPENAPI_DOUBLE,
        "kotlin.Double" to OPENAPI_DOUBLE,

        "java.lang.Boolean" to OPENAPI_BOOLEAN,
        "kotlin.Boolean" to OPENAPI_BOOLEAN,

        "java.util.UUID" to OPENAPI_UUID
    )

    val arrayTypes = listOf(
        "java.util.List",
        "kotlin.collections.List",
        "java.util.Collection",
        "kotlin.collections.Collection",
        "java.util.Set",
        "kotlin.collections.Set",
    )

}/*
 * Copyright © 2024 Explyt Ltd
 *
 * All rights reserved.
 *
 * This code and software are the property of Explyt Ltd and are protected by copyright and other intellectual property laws.
 *
 * You may use this code under the terms of the Explyt Source License Version 1.0 ("License"), if you accept its terms and conditions.
 *
 * By installing, downloading, accessing, using, or distributing this code, you agree to the terms and conditions of the License.
 * If you do not agree to such terms and conditions, you must cease using this code and immediately delete all copies of it.
 *
 * You may obtain a copy of the License at: https://github.com/explyt/spring-plugin/blob/main/EXPLYT-SOURCE-LICENSE.md
 *
 * Unauthorized use of this code constitutes a violation of intellectual property rights and may result in legal action.
 */

package com.explyt.spring.web.editor.openapi

import com.explyt.spring.web.SpringWebBundle
import com.intellij.notification.Notification
import com.intellij.notification.NotificationType
import com.intellij.openapi.util.registry.Registry
import com.intellij.util.io.HttpRequests.HttpStatusException
import io.netty.buffer.ByteBufInputStream
import io.netty.channel.Channel
import io.netty.channel.ChannelHandlerContext
import io.netty.handler.codec.http.*
import io.netty.handler.stream.ChunkedStream
import org.jetbrains.ide.HttpRequestHandler
import org.jetbrains.io.send
import java.io.InputStream
import java.net.ConnectException
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpRequest.BodyPublishers
import java.net.http.HttpResponse
import java.net.http.HttpTimeoutException
import java.time.Duration

class OpenApiProxyRequestHandler : HttpRequestHandler() {

    override fun isSupported(request: FullHttpRequest): Boolean {
        return request.uri().startsWith(OpenApiUtils.OPENAPI_INTERNAL_CORS)
    }

    override fun process(
        urlDecoder: QueryStringDecoder,
        request: FullHttpRequest,
        context: ChannelHandlerContext
    ): Boolean {
        val url = request.headers()[OpenApiUtils.OPENAPI_ORIGINAL_URL] ?: return false
        val timeout = Registry.intValue("explyt.openapi.ui.proxy.timeout").toLong()

        if (url.startsWith(OpenApiUtils.localServer())) {
            handleException(ConnectException("Servers are not set"), HttpResponseStatus.BAD_GATEWAY, context.channel(), request)
            return true
        }

        val httpClient = HttpClient.newBuilder()
            .version(HttpClient.Version.HTTP_1_1)
            .followRedirects(HttpClient.Redirect.NORMAL)
            .connectTimeout(Duration.ofMillis(timeout))


Row(i, i);
            computeLeaveCoPrhs4Row(i, i);
            // init #theFrhs[i]#
            Real& v_rhs = (*theFrhs)[i];
            const SVector& row = rowVector(i);
            v_rhs = 0;
            for (int j = row.size() - 1; j >= 0; --j)
            {
               int idx = row.index(j);
               switch (ds.colStatus(idx))
               {
               case Desc::P_ON_UPPER:
                  v_rhs += row.value(j) * SPxLP::upper(idx);
                  break;
               case Desc::P_ON_LOWER:
               case Desc::P_FIXED:
                  v_rhs += row.value(j) * SPxLP::lower(idx);
                  break;
               default:
                  break;
               }
            }
         }
         SPxBasis::solve (*theFvec, *theFrhs);
         SPxBasis::coSolve(*theCoPvec, *theCoPrhs);
         for (i = start; i < SPxLP::nRows(); ++i)
         {
            if ((*theFvec)[i] > theUBbound[i])
               theCoTest[i] = theUBbound[i] - (*theFvec)[i];
            else
               theCoTest[i] = (*theFvec)[i] - theLBbound[i];
         }
      }
   }
}

void SPxSolver::addedRows(int n)
{

   SPxLP::addedRows(n);

   if( n > 0 )
   {
      reDim();

      if (SPxBasis::status() > SPxBasis::NO_PROBLEM)
      {
         SPxBasis::addedRows(n);

         if (isInitialized())
         {
            localAddRows(nRows() - n);

            assert(thepricer != 0);

            if (rep() == ROW)
               thepricer->addedVecs(n);
            else
               thepricer->addedCoVecs(n);
         }
      }
   }

   /* we must not assert consistency here, since addedCols() might be still necessary to obtain a consistent basis */
}
#endif //0

void SPxSolver::addedRows(int n)
{

   if( n > 0 )
   {
      SPxLP::addedRows(n);

      unInit();
      reDim();

      if (SPxBasis::status() > SPxBasis::NO_PROBLEM)
         SPxBasis::addedRows(n);
   }

   /* we must not assert consistency here, since addedCols() might be still necessary to obtain a consistent basis */
}

#if 0
void SPxSolver::localAddCols(int start)
{
   assert( start <= SPxLP::nCols() );

   /**@todo This method seems to be called, to update
    *       theFvec, theFrhs, ..., but a resolve after
    *       adding a row results in a failure.
    *       To fix this, we call unIinit() so that init() is called before solving
    *       in spxsolve.cpp:solve(). In init(), the
    *       vectors are set up, so there is no need
    *       to update them here.
    */
   if( start == SPxLP::nCols() )
      return;

   const SPxBasis::Desc& ds = desc();

   if (type() == ENTER)
   {
      if (rep() == COLUMN)
      {
         int reSolve = 0;
         int i;
         Real x;
         for (i = start; i < SPxLP::nCols(); ++i)
         {
            (*thePvec)[i] = vector(i) * (*theCoPvec);
            theTest[i] = test(i, ds.colStatus(i));
            theUCbound[i] = SPxLP::upper(i);
            theLCbound[i] = SPxLP::lower(i);
            switch (ds.colStatus(i))


strike,span
		## But, for the sake of clarity, we use a complete list in alphabetic order.
		## center, font, link, meta, o:p, strike, sdfield, style, title and u will be removed on entry (see below).
		## b and i will be remapped on exit (see below).
		## Note that the link accessibility feature of htmlArea RTE does insert img tags.
	allowTags (
		a, abbr, acronym, address, article, aside, b, bdo, big, blockquote, br, caption, center, cite, code, col, colgroup, dd, del, dfn, dl, div, dt, em, font, footer,
		header, h1, h2, h3, h4, h5, h6, hr, i, img, ins, kbd, label, li, link, meta, nav, ol, p, pre, q, samp, sdfield, section, small,
		span, strike, strong, style, sub, sup, table, thead, tbody, tfoot, td, th, tr, title, tt, u, ul, var
		)

		## TAGS DENIED
		## Make sure we can set rules on any tag listed in allowTags.
	denyTags >

		## ALLOWED P & DIV ATTRIBUTES
		## Attributes class and align are always preserved
		## Align attribute will be unset on entry (see below)
		## This is a list of additional attributes to keep
	keepPDIVattribs = id, title, dir, lang, xml:lang, itemscope, itemtype, itemprop

		## REMAP BOLD AND ITALIC TO STRONG AND EMPHASIS AND VICE VERSA
	transformBoldAndItalicTags = 0

		## ALLOW TO WRITE ABOUT HTML
	dontUndoHSC_db = 1
	dontHSC_rte = 1

		## CONTENT TO DATABASE
	entryHTMLparser_db = 1
	entryHTMLparser_db {

			## TAGS ALLOWED
			## Always use the same list of allowed tags.
		allowTags < RTE.default.proc.allowTags

			## TAGS DENIED
			## Make sure we can set rules on any tag listed in allowTags.
		denyTags >

			## AVOID CONTENT BEING HSC'ed TWICE
		htmlSpecialChars = 0

		tags {
				## Remap bold and italic and strike
				b.remap = strong
				i.remap = em
				strike.remap = del

				## REMOVE IMG TAGS
			img.allowedAttribs = 1
			img.rmTagIfNoAttrib = 1

				## CLEAN ATTRIBUTES ON THE FOLLOWING TAGS
			#span.fixAttrib.style.unset = 1
			span.allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop,style
			span.rmTagIfNoAttrib = 1
			p {
				allowedAttribs = id, title, dir, lang, xml:lang, class, itemscope, itemtype, itemprop
				fixAttrib.align.unset = 1
			}
			div < .p
			hr.allowedAttribs = class
			abbr.allowedAttribs < .span.allowedAttribs
      b.allowedAttribs < .span.allowedAttribs
			bdo.allowedAttribs < .span.allowedAttribs
			big.allowedAttribs < .span.allowedAttribs
			blockquote.allowedAttribs < .span.allowedAttribs
			cite.allowedAttribs < .span.allowedAttribs
			code.allowedAttribs < .span.allowedAttribs
			del.allowedAttribs < .span.allowedAttribs
			dfn.allowedAttribs < .span.allowedAttribs
			em.allowedAttribs < .span.allowedAttribs
			i.allowedAttribs < .span.allowedAttribs
			ins.allowedAttribs < .span.allowedAttribs
			kbd.allowedAttribs < .span.allowedAttribs
			label.allowedAttribs < .span.allowedAttribs
			q.allowedAttribs < .span.allowedAttribs
			samp.allowedAttribs < .span.allowedAttribs
			small.allowedAttribs < .span.allowedAttribs
			strike.allow


itdoc />
    public string Tenant { get; } = tenant;

    /// <inheritdoc />
    public string StubIdPrefix { get; } = stubIdPrefix;
}

/// <summary>
///     A command handler for creating stubs based on OpenAPI definitions.
/// </summary>
public class CreateOpenApiStubCommandHandler(IOpenApiStubGenerator openApiStubGenerator, IDateTime dateTime)
    : BaseImportCommandHandler<CreateOpenApiStubCommand>(openApiStubGenerator, dateTime)
{
    /// <inheritdoc />
    protected override string GetTenantPrefix() => "openapi-import";
}


1: add  <input_2=int64#3,<input_0=int64#1
# asm 2: add  <input_2=%rdx,<input_0=%rdi
add  % rdx, % rdi

# qhasm: s0 = mem64[ input_0 + 0 ]
# asm 1: movq   0(<input_0=int64#1),>s0=int64#4
# asm 2: movq   0(<input_0=%rdi),>s0=%rcx
movq   0( % rdi), % rcx

# qhasm: s0 = (s1 s0) >> 1
# asm 1: shrd $1,<s1=int64#2,<s0=int64#4
# asm 2: shrd $1,<s1=%rsi,<s0=%rcx
shrd $1, % rsi, % rcx

# qhasm: (uint64) s1 >>= 1
# asm 1: shr  $1,<s1=int64#2
# asm 2: shr  $1,<s1=%rsi
shr  $1, % rsi

# qhasm: mem64[ input_0 + 0 ] = s0
# asm 1: movq   <s0=int64#4,0(<input_0=int64#1)
# asm 2: movq   <s0=%rcx,0(<input_0=%rdi)
movq   % rcx, 0( % rdi)

# qhasm: input_0 += input_2
# asm 1: add  <input_2=int64#3,<input_0=int64#1
# asm 2: add  <input_2=%rdx,<input_0=%rdi
add  % rdx, % rdi

# qhasm: s0 = mem64[ input_0 + 0 ]
# asm 1: movq   0(<input_0=int64#1),>s0=int64#4
# asm 2: movq   0(<input_0=%rdi),>s0=%rcx
movq   0( % rdi), % rcx

# qhasm: s0 = (s1 s0) >> 1
# asm 1: shrd $1,<s1=int64#2,<s0=int64#4
# asm 2: shrd $1,<s1=%rsi,<s0=%rcx
shrd $1, % rsi, % rcx

# qhasm: (uint64) s1 >>= 1
# asm 1: shr  $1,<s1=int64#2
# asm 2: shr  $1,<s1=%rsi
shr  $1, % rsi

# qhasm: mem64[ input_0 + 0 ] = s0
# asm 1: movq   <s0=int64#4,0(<input_0=int64#1)
# asm 2: movq   <s0=%rcx,0(<input_0=%rdi)
movq   % rcx, 0( % rdi)

# qhasm: input_0 += input_2
# asm 1: add  <input_2=int64#3,<input_0=int64#1
# asm 2: add  <input_2=%rdx,<input_0=%rdi
add  % rdx, % rdi

# qhasm: s0 = mem64[ input_0 + 0 ]
# asm 1: movq   0(<input_0=int64#1),>s0=int64#4
# asm 2: movq   0(<input_0=%rdi),>s0=%rcx
movq   0( % rdi), % rcx

# qhasm: s0 = (s1 s0) >> 1
# asm 1: shrd $1,<s1=int64#2,<s0=int64#4
# asm 2: shrd $1,<s1=%rsi,<s0=%rcx
shrd $1, % rsi, % rcx

#


_seqcst⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchg_seqcst_acquire⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchg_seqcst_relaxed⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchg_seqcst_seqcst⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchgweak_acqrel_acquire⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchgweak_acqrel_relaxed⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchgweak_acqrel_seqcst⚠Experimental

如果当前值与 old 值相同，则存储一个值。

atomic_cxchgweak_acquire_acquire⚠Experimental

如果当前值


baf9954985cf4, 0xb0b888f40c8195eced015efcd3cedf28, 0xae4fcc81c39f8b05fea6613dc848d5c8,
            0xabef7866ad0f9d0cdef1fc6e46600114, 0xa9976f4b5ac57d5e0a68bbb9581fa0d6, 0xa747943ec4c35f7376bf574006e06096, 0xa4ffcab4e3bdd2d6f4a757ef78ddc740,
            0xa2bff685509ec29b45b21b31a7af10ae, 0xa087fbe9e8d699f4af40ddec8f5ed96b, 0x9e57bf7d776ac8df3aeb50b7e6ceb82e, 0x9c2f263a62b11e472ae3675a1a187f18,
            0x9a0e15795ea7a6e240494d6a74f9ceb5, 0x97f472f023d8f8d912e86968c659e183, 0x95e224b02abd0c89a4894e1253573542, 0x93d711256b86fa124361ef4b8c7be216,
            0x91d31f15225029f8633eb85dcd76ab01, 0x8fd6359c9791bd24f67a5a349e408c8b, 0x8de03c2fecdd25999842c468b8fb3ed7, 0x8bf11a98edc51db219709c807eede0ea,
            0x8a08b8f5e4e85f7f3fd9a52c8b3f2739, 0x8826ffb8750fb0cc44302fcbb9039b9b, 0x864bd7a476510ab34a2752a191b2decf, 0x847729ced729d5481f1426f2513c3ac9,
            0x82a8df9c818260d6618630c73dfe6938, 0x80e0e2c1438cf67b2cdfbf859f814657,
        ];

        for (index, &parameter) in Sequence::new(50).parameters.iter().enumerate() {
            assert_eq!(parameter, REFERENCE[index]);
        }
    }

    #[test]
    fn check_reference_parameters_272d() {
        #[rustfmt::skip]
        const REFERENCE: &[u128] = &[
            0xff5982a853359d81dce8b2829f9f1426,0xfeb37197717e0e3fffc59b976d75c340,0xfe0dcc86efedfdb91101d10b247fb334,0xfd6893309165e6574aa5a50ac9094741,
            0xfcc3c54e467448dc1860be901dd1f44f,0xfc1f629a2d37f72a5cee22d95c81e981,0xfb7b6ace91427262c3f71e9fe0a74cc1,0xfad7dda5eb7a5c458fcb46c2167978dc,
            0xfa34badae1fdfbcd5a6fbd1d6b551052,0xf99202284805d4f649ae8adc44083f61,0xf8efb3491dc753a53df038f6ea7b340c,0xf84dcdf8905789a28bc5dd878776f06c,
            0xf7ac51f1f98dff9bd8209c48e6bcfbfa,0xf70b3ef0dfe79920b7451d940742b95e,0xf66a94b0f6698b8db695c4dd301a0875,0xf5ca52ee1c8467d9815579780ba9a4ff,
            0xf52a79645df73737d886a5b28d749f87,0xf48b07cff2b2aa861e06ac85533c13db,0xf3


// Copyright (c) Jeremy W. Kuhne. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

namespace WInterop.Direct2d;

/// <summary>
///  This defines the superset of interpolation mode supported by D2D APIs
///  and built-in effects [D2D1_INTERPOLATION_MODE]
/// </summary>
public enum InterpolationMode : uint
{
    /// <summary>
    ///  [D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR]
    /// </summary>
    NearestNeighbor = 0,

    /// <summary>
    ///  [D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR]
    /// </summary>
    Linear = 1,

    /// <summary>
    ///  [D2D1_INTERPOLAT


if (ACPI_FAILURE(status)) {
		return_ACPI_STATUS(status);
	}

	ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
			  "**** Starting initialization of namespace objects ****\n"));

	/* Set all init info to zero */

	memset(&info, 0, sizeof(struct acpi_init_walk_info));

	info.owner_id = owner_id;
	info.table_index = table_index;

	/* Walk entire namespace from the supplied root */

	/*
	 * We don't use acpi_walk_namespace since we do not want to acquire
	 * the namespace reader lock.
	 */
	status =
	    acpi_ns_walk_namespace(ACPI_TYPE_ANY, start_node, ACPI_UINT32_MAX,
				   ACPI_NS_WALK_NO_UNLOCK,
				   acpi_ds_init_one_object, NULL, &info, NULL);
	if (ACPI_FAILURE(status)) {
		ACPI_EXCEPTION((AE_INFO, status, "During WalkNamespace"));
	}

	status = acpi_get_table_by_index(table_index, &table);
	if (ACPI_FAILURE(status)) {
		return_ACPI_STATUS(status);
	}

	/* DSDT is always the first AML table */

	if (ACPI_COMPARE_NAMESEG(table->signature, ACPI_SIG_DSDT)) {
		ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
				      "\nACPI table initialization:\n"));
	}

	/* Summary of objects initialized */

	ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT,
			      "Table [%4.4s: %-8.8s] (id %.2X) - %4u Objects with %3u Devices, "
			      "%3u Regions, %4u Methods (%u/%u/%u Serial/Non/Cvt)\n",
			      table->signature, table->oem_table_id, owner_id,
			      info.object_count, info.device_count,
			      info.op_region_count, info.method_count,
			      info.serial_method_count,
			      info.non_serial_method_count,
			      info.serialized_method_count));

	ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "%u Methods, %u Regions\n",
			  info.method_count, info.op_region_count));

	return_ACPI_STATUS(AE_OK);
}


        if (_out != null) {
            out = _out;
        }

        try {
            // Check automatic resolution
            foo();
            foo1();

            // Check explicit binding

            // wc_wb_wa_foo2 shouldn't be bound at this moment
            try {
                foo2();
                out.println("ERROR: wc_wb_wa_foo2 is bound.");
                return false;
            } catch (UnsatisfiedLinkError e) {
                // wc_wb_wa_foo2 hasn't been bound so far.
            }

            if (Binder.registerMethod(SetNativeMethodPrefix002.class, "wc_wb_wa_foo2", "()I", Binder.FUNCTION_FOO)) {
                foo2();
            } else {
                out.println("ERROR: Binding process failed for a method wc_wb_wa_foo2");
                return false;
            }
        } catch (UnsatisfiedLinkError e) {
            out.println(e.getClass().getName()+": "+e.getMessage());
            return false;
        }

        return true;
    }

    /* ============================================================ */
    public static int run(String argv[], PrintStream out) {
        if ((new SetNativeMethodPrefix002()).runIt(argv, out)) {
            out.println("TEST PASSED");
            return Consts.TEST_PASSED;
        } else {
            out.println("TEST FAILED");
            return Consts.TEST_FAILED;
        }
    }

    /* */
    /* ============================================================ */
    public static void main(String[] argv) {
        argv = nsk.share.jvmti.JVMTITest.commonInit(argv);

        System.exit(run(argv, System.out) + Consts.JCK_STATUS_BASE);
    }
}
/*
 * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code 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
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package nsk.jvmti.SetLocalVariable;

import java.io.PrintStream;

public class setlocal001 {

    final static int JCK_STATUS_BASE = 95;

    static {
        try {
            System.loadLibrary("setlocal001");
        } catch (UnsatisfiedLinkError ule) {
            System.err.println("Could not load setlocal001 library");
            System.err.println("java.library.path:"
                + System.getProperty("java.library.path"));
            throw ule;
        }
    }

    native static void getMethReady(float f, double d, Object o, int[] a);
    native static int getRes();

    static PrintStream out;
    static int result = 0;
    static Thread currThread;
    static float floatVal = 6.0f;
    static double doubleVal = 7.0f;
    static setlocal001 objVal = new set


EFT.  If this brings the count back to the
	   initial count unlock the object.  */
	mov	#1, r3
	mov.l	@(INIT_COUNT,r8), r4
	XADD	(r3, @(LEFT,r8), r2, r5)
	add	#-1, r4
	cmp/eq	r2, r4
	bf	10f

	/* Release the mutex.  We cannot release the lock before
	   waking the waiting threads since otherwise a new thread might
	   arrive and gets waken up, too.  */
	DEC (@(MUTEX,r8), r2)
	tst	r2, r2
	bf	9f

10:
	mov	#0, r0		/* != PTHREAD_BARRIER_SERIAL_THREAD */
	lds.l	@r15+, pr
	mov.l	@r15+, r8
	rts
	 mov.l	@r15+, r9

3:
	/* The necessary number of threads arrived.  */
	mov.l	@(CURR_EVENT,r8), r1
	add	#1, r1
	mov.l	r1, @(CURR_EVENT,r8)

	/* Wake up all waiters.  The count is a signed number in the kernel
	   so 0x7fffffff is the highest value.  */
	mov.l	.Lall, r6
	mov	r8, r4
#if CURR_EVENT != 0
	add	#CURR_EVENT, r4
#endif
	mov	#0, r7
	mov	#FUTEX_WAKE, r5
	mov.l	@(PRIVATE,r8), r0
	or	r0, r5
	mov	#SYS_futex, r3
	extu.b	r3, r3
	trapa	#0x14
	SYSCALL_INST_PAD

	/* Increment LEFT.  If this brings the count back to the
	   initial count unlock the object.  */
	mov	#1, r3
	mov.l	@(INIT_COUNT,r8), r4
	XADD	(r3, @(LEFT,r8), r2, r5)
	add	#-1, r4
	cmp/eq	r2, r4
	bf	5f

	/* Release the mutex.  */
	DEC (@(MUTEX,r8), r2)
	tst	r2, r2
	bf	4f
5:
	mov	#-1, r0		/* == PTHREAD_BARRIER_SERIAL_THREAD */
	lds.l	@r15+, pr
	mov.l	@r15+, r8
	rts
	 mov.l	@r15+, r9

1:
	mov.l	@(PRIVATE,r8), r6
	mov	#LLL_SHARED, r0
	extu.b	r0, r0
	xor	r0, r6
	mov	r2, r4
	mov	r8, r5
	mov.l	.Lwait0, r1
	bsrf	r1
	 add	#MUTEX, r5
.Lwait0b:
	bra	2b
	 nop

4:
	mov.l	@(PRIVATE,r8), r5
	mov	#LLL_SHARED, r0
	extu.b	r0, r0
	xor	r0, r5
	mov	r8, r4
	mov.l	.Lwake0, r1
	bsrf	r1
	 add	#MUTEX, r4
.Lwake0b:
	bra	5b
	 nop

6:
	mov	r6, r9
	mov.l	@(PRIVATE,r8), r5
	mov	#LLL_SHARED, r0
	extu.b	r0, r0
	xor	r0, r5
	mov	r8, r4
	mov.l	.Lwake1, r1
	bsrf	r1
	 add	#MUTEX, r4
.Lwake1b:
	bra	7b
	 mov	r9, r6

9:
	mov	r6, r9
	mov.l	@(PRIVATE,r8), r5
	mov	#LLL_SHARED, r0
	extu.b	r0, r0
	xor	r0, r5
	mov	r8, r4
	mov.l	.Lwake2, r1
	bsrf	r1
	 add	#MUTEX, r4
.Lwake2b:
	bra	10b
	 mov	r9, r6

	.align	2
.Lall:
	.long	0x7fffffff


from __future__ import annotations

import pytest

from pybind11_tests import class_sh_mi_thunks as m

def test_ptrdiff_drvd_base0():
    ptrdiff = m.ptrdiff_drvd_base0()
    # A failure here does not (necessarily) mean that there is a bug, but that
    # test_class_sh_mi_thunks is not exercising what it is supposed to.
    # If this ever fails on some platforms: use pytest.skip()
    # If this ever fails on all platforms: don't know, seems extremely unlikely.
    assert ptrdiff != 0

@pytest.mark.parametrize(
    "vec_size_fn",
    [
        m.vec_size_base0_raw_ptr,
        m.vec_size_base0_shared_ptr,
    ],
)
@pytest.mark.parametrize(
    "get_fn",
    [
        m.get_drvd_as_base0_raw_ptr,
        m.get_drvd_as_base0_shared_ptr,
        m.get_drvd_as_base0_unique_ptr,
    ],
)
def test_get_vec_size_raw_shared(get_fn, vec_size_fn):
    obj = get_fn()
    assert vec_size_fn(obj) == 5

@pytest.mark.parametrize(
    "get_fn", [m.get_drvd_as_base0_raw_ptr, m.get_drvd_as_base0_unique_ptr]
)
def test_get_vec_size_unique(get_fn):
    obj = get_fn()
    assert m.vec_size_base0_unique_ptr(obj) == 5
    with pytest.raises(ValueError, match="Python instance was disowned"):
        m.vec_size_base0_unique_ptr(obj)

def test_get_shared_vec_size_unique():
    obj = m.get_drvd_as_base0_shared_ptr()
    with pytest.raises(ValueError) as exc_info:
        m.vec_size_base0_unique_ptr(obj)
    assert (
        str(exc_info.value) == "Cannot disown external shared_ptr (load_as_unique_ptr)."
    )


PropertyGetter
import org.jetbrains.kotlin.ir.util.getSimpleFunction
import org.jetbrains.kotlin.name.ClassId

/** Helper class to make the `ComposableInvalidationLogger` class easier to handle in IR. */
public class IrInvalidationLogger(context: IrPluginContext) {
  private var loggerContainerSymbol = context.referenceClass(ClassId.topLevel(COMPOSE_INVESTIGATOR_FQN))!!
  private var loggerGetterSymbol = loggerContainerSymbol.getPropertyGetter(ComposeInvestigator_LOGGER.asString())!!
  private var loggerLogSymbol = loggerGetterSymbol.owner.returnType.classOrFail.getSimpleFunction(ComposableInvalidationLogger_LOG.asString())!!

  public val irInvalidationResultSymbol: IrClassSymbol = context.referenceClass(ClassId.topLevel(INVALIDATION_RESULT_FQN))!!

  private var invalidationResultSkippedSymbol =
    irInvalidationResultSymbol.owner.sealedSubclasses.first { clz -> clz.owner.name == InvalidationResult_SKIPPED }

  /**
   * Create a call to `ComposableInvalidationLogger#log`.
   *
   * @param composable A `ComposableInformation` value (first value argument)
   * @param result A `InvalidationResult` value (second value argument)
   */
  public fun irLog(
    composable: IrDeclarationReference,
    result: IrDeclarationReference,
  ): IrCall = IrCallImpl.fromSymbolOwner(
    startOffset = UNDEFINED_OFFSET,
    endOffset = UNDEFINED_OFFSET,
    symbol = loggerLogSymbol,
  ).also { invokeCall ->
    invokeCall.dispatchReceiver = IrCallImpl.fromSymbolOwner(
      startOffset = UNDEFINED_OFFSET,
      endOffset = UNDEFINED_OFFSET,
      symbol = loggerGetterSymbol,
    ).also { loggerGetter ->
      loggerGetter.dispatchReceiver = IrGetObjectValueImpl(
        startOffset = UNDEFINED_OFFSET,
        endOffset = UNDEFINED_OFFSET,
        type = loggerContainerSymbol.defaultType,
        symbol = loggerContainerSymbol,
      )
    }
  }.apply {
    putValueArgument(0, composable)
    putValueArgument(1, result)
  }

  /** Gets the `InvalidationResult#Skipped` object call. */
  public fun irInvalidationResultSkipped(): IrGetObjectValue =
    IrGetObjectValueImpl(
      startOffset = UNDEFINED_OFFSET,
      endOffset = UNDEFINED_OFFSET,
      type = invalidationResultSkippedSymbol.defaultType,
      symbol = invalidationResultSkippedSymbol,
    )
}
// Copyright 2024 Ji Sungbin
// SPDX-License-Identifier: Apache-2.0
package composemock

import androidx.compose.runtime.mutableStateOf
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlinx.coroutines.Job
import kotlinx.coroutines.test.runTest

// Copyright 2020-2023 JetBrains s.r.o. and respective authors and developers.
// https://github.com/JetBrains/compose-multiplatform/blob/1b2669f59d8f9a5cda1a26388a51e8c6793981c8/compose/integrations/composable-test-cases/common/src/commonTest/kotlin/com.example.common/Test.kt

// Modified by Ji Sungbin: code style changes

class Test {
  @Test fun testEmptyPlainTextNode() {
    val root = runCompose {}
    assertEquals("root:{}", root.toString())
  }

  @Test fun testPlainTextNode() {
    val root = runCompose { Text("Hello World!") }
    assertEquals("root:{Hello World!}", root.toString())
  }

  @Test fun testTextContainerNodeEmpty() {
    val root = runCompose { Container("abc") {} }
    assertEquals("root:{abc:{}}", root.toString())
  }

  @Test fun testTextContainerNode() {
    val root = runCompose {
      Container("abc") {
        Text("Hello World!")
      }
    }
    assertEquals("root:{abc:{Hello World!}}", root.toString())
  }

  @Test f


#ifndef TACO_LOWERER_IMPL_H
#define TACO_LOWERER_IMPL_H

#include <utility>
#include <vector>
#include <map>
#include <set>
#include <memory>
#include <taco/index_notation/index_notation.h>

#include "taco/lower/iterator.h"
#include "taco/util/scopedset.h"
#include "taco/util/uncopyable.h"
#include "taco/ir_tags.h"

namespace taco {

class TensorVar;
class IndexVar;

class IndexStmt;
class Assignment;
class Yield;
class Forall;
class Where;
class Multi;
class SuchThat;
class Sequence;

class IndexExpr;
class Access;
class Literal;
class Neg;
class Add;
class Sub;
class Mul;
class Div;
class Sqrt;
class Cast;
class Call;
class CallIntrinsic;

class MergeLattice;
class MergePoint;
class ModeAccess;

namespace ir {
class Stmt;
class Expr;
}

class LowererImpl : public util::Uncopyable {
public:
  LowererImpl();
  virtual ~LowererImpl() = default;

  /// Lower an index statement to an IR function.
  virtual ir::Stmt lower(IndexStmt stmt, std::string name,
                 bool assemble, bool compute, bool pack, bool unpack) = 0;

protected:

  /// Lower an assignment statement.
  virtual ir::Stmt lowerAssignment(Assignment assignment) = 0;

  /// Lower a yield statement.
  virtual ir::Stmt lowerYield(Yield yield) = 0;

  /// Lower a forall statement.
  virtual ir::Stmt lowerForall(Forall forall) = 0;

  /// Lower a where statement.
  virtual ir::Stmt lowerWhere(Where where) = 0;

  /// Lower a sequence statement.
  virtual ir::Stmt lowerSequence(Sequence sequence) = 0;

  /// Lower an assemble statement.
  virtual ir::Stmt lowerAssemble(Assemble assemble) = 0;

  /// Lower a multi statement.
  virtual ir::Stmt lowerMulti(Multi multi) = 0;

  /// Lower a suchthat statement.
  virtual ir::Stmt lowerSuchThat(SuchThat suchThat) = 0;

  /// Lower an access expression.
  virtual ir::Expr lowerAccess(Access access) = 0;

  /// Lower a literal expression.
  virtual ir::Expr lowerLiteral(Literal literal) = 0;

  /// Lower a negate expression.
  virtual ir::Expr lowerNeg(Neg neg) = 0;

  /// Lower an addition expression.
  virtual ir::Expr lowerAdd(Add add) = 0;

  /// Lower a subtraction expression.
  virtual ir::Expr lowerSub(Sub sub) = 0;

  /// Lower a multiplication expression.
  virtual ir::Expr lowerMul(Mul mul) = 0;

  /// Lower a division expression.
  virtual ir::Expr lowerDiv(Div div) = 0;

  /// Lower a square root expression.
  virtual ir::Expr lowerSqrt(Sqrt sqrt) = 0;

  /// Lower a cast expression.
  virtual ir::Expr lowerCast(Cast cast) = 0;

  /// Lower an intrinsic function call expression.
  virtual ir::Expr lowerCallIntrinsic(CallIntrinsic call) = 0;

  /// Lower a call expression.
  virtual ir::Expr lowerTensorOp(Call call) = 0;

  /// Lower an index variable
  virtual ir::Expr lowerIndexVar(IndexVar indexVar) = 0;

  /// Lower a concrete index variable statement.
  virtual ir::Stmt lower(IndexStmt stmt);

  /// Lower a concrete index variable expression.
  virtual ir::Expr lower(IndexExpr expr);

  class Visitor;
  friend class Visitor;
  std::shared_ptr<Visitor> visitor;

};

}
#endif


/*
 * Copyright 2009-2017 Alibaba Cloud All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ALIBABACLOUD_CDN_MODEL_REFRESHOBJECTCACHESREQUEST_H_
#define ALIBABACLOUD_CDN_MODEL_REFRESHOBJECTCACHESREQUEST_H_

#include <alibabacloud/cdn/CdnExport.h>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <string>
#include <vector>
#include <map>

namespace AlibabaCloud {
namespace Cdn {
namespace Model {
class ALIBABACLOUD_CDN_EXPORT RefreshObjectCachesRequest : public RpcServiceRequest {
public:
	RefreshObjectCachesRequest();
	~RefreshObjectCachesRequest();
	std::string getObjectPath() const;
	void setObjectPath(const std::string &objectPath);
	std::string getSecurityToken() const;
	void setSecurityToken(const std::string &securityToken);
	std::string getObjectType() const;
	void setObjectType(const std::string &objectType);
	long getOwnerId() const;
	void setOwnerId(long ownerId);

private:
	std::string objectPath_;
	std::string securityToken_;
	std::string objectType_;
	long ownerId_;
};
} // namespace Model
} // namespace Cdn
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_CDN_MODEL_REFRESHOBJECTCACHESREQUEST_H_


#ifndef v1_ingress_rule_TEST
#define v1_ingress_rule_TEST

// the following is to include only the main from the first c file
#ifndef TEST_MAIN
#define TEST_MAIN
#define v1_ingress_rule_MAIN
#endif // TEST_MAIN

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdbool.h>
#include "../external/cJSON.h"

#include "../model/v1_ingress_rule.h"
v1_ingress_rule_t* instantiate_v1_ingress_rule(int include_optional);

#include "test_v1_http_ingress_rule_value.c"

v1_ingress_rule_t* instantiate_v1_ingress_rule(int include_optional) {
  v1_ingress_rule_t* v1_ingress_rule = NULL;
  if (include_optional) {
    v1_ingress_rule = v1_ingress_rule_create(
      "0",
       // false, not to have infinite recursion
      instantiate_v1_http_ingress_rule_value(0)
    );
  } else {
    v1_ingress_rule = v1_ingress_rule_create(
      "0",
      NULL
    );
  }

  return v1_ingress_rule;
}

#ifdef v1_ingress_rule_MAIN

void test_v1_ingress_rule(int include_optional) {
    v1_ingress_rule_t* v1_ingress_rule_1 = instantiate_v1_ingress_rule(include_optional);

	cJSON* jsonv1_ingress_rule_1 = v1_ingress_rule_convertToJSON(v1_ingress_rule_1);
	printf("v1_ingress_rule :\n%s\n", cJSON_Print(jsonv1_ingress_rule_1));
	v1_ingress_rule_t* v1_ingress_rule_2 = v1_ingress_rule_parseFromJSON(jsonv1_ingress_rule_1);
	cJSON* jsonv1_ingress_rule_2 = v1_ingress_rule_convertToJSON(v1_ingress_rule_2);
	printf("repeating v1_ingress_rule:\n%s\n", cJSON_Print(jsonv1_ingress_rule_2));
}

int main() {
  test_v1_ingress_rule(1);
  test_v1_ingress_rule(0);

  printf("Hello world \n");
  return 0;
}

#endif // v1_ingress_rule_MAIN
#endif // v1_ingress_rule_TEST


codec
        = pb::FieldCodec.ForMessage(26, global::V2Ray.Core.App.Router.BalancingRule.Parser);
    private readonly pbc::RepeatedField<global::V2Ray.Core.App.Router.BalancingRule> balancingRule_ = new pbc::RepeatedField<global::V2Ray.Core.App.Router.BalancingRule>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public pbc::RepeatedField<global::V2Ray.Core.App.Router.BalancingRule> BalancingRule {
      get { return balancingRule_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override bool Equals(object other) {
      return Equals(other as Config);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public bool Equals(Config other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DomainStrategy != other.DomainStrategy) return false;
      if(!rule_.Equals(other.rule_)) return false;
      if(!balancingRule_.Equals(other.balancingRule_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override int GetHashCode() {
      int hash = 1;
      if (DomainStrategy != global::V2Ray.Core.App.Router.Config.Types.DomainStrategy.AsIs) hash ^= DomainStrategy.GetHashCode();
      hash ^= rule_.GetHashCode();
      hash ^= balancingRule_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public void WriteTo(pb::CodedOutputStream output) {
      if (DomainStrategy != global::V2Ray.Core.App.Router.Config.Types.DomainStrategy.AsIs) {
        output.WriteRawTag(8);
        output.WriteEnum((int) DomainStrategy);
      }
      rule_.WriteTo(output, _repeated_rule_codec);
      balancingRule_.WriteTo(output, _repeated_balancingRule_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    public int CalculateSize() {
      int size = 0;
      if (DomainStrategy != global::V2Ray.Core.App.Router.Config.Types.DomainStrategy.AsIs) {
        size += 1 + pb::CodedOutp


on matrix
  return make_expK<T>(kappa);
}

template<typename T> double calculate_overlap(const arma::Mat<T> & grad, const arma::mat & hess, size_t nocc, size_t nvirt, double mu) {
  // Grab the occupied-occupied block
  arma::Mat<T> expK(get_rotation<T>(grad,hess,nocc,nvirt,mu).submat(0,0,nocc-1,nocc-1));

  // Calculate projections
  arma::vec proj(nocc);
  for(size_t i=0;i<nocc;i++)
    proj(i)=arma::norm(expK.col(i),2);

  // Return minimal projection
  return arma::min(proj);
}

template<typename T> void TRRH_update_wrk(const arma::Mat<T> & F_AO, const arma::Mat<T> & C, arma::Mat<T> & Cnew, arma::vec & Enew, size_t nocc, double minovl, bool verbose) {
  // Transform Fock matrix into MO basis
  const arma::Mat<T> F_MO=arma::trans(C)*F_AO*C;

  // Number of orbitals
  const size_t norbs=C.n_cols;
  // Number of virtual orbitals
  const size_t nvirt=norbs-nocc;

  // Diagonalize occupied-occupied and virtual-virtual blocks of Fock matrix.
  arma::Mat<T> F_oo=F_MO.submat(0,0,nocc-1,nocc-1);
  arma::Mat<T> F_vv=F_MO.submat(nocc,nocc,norbs-1,norbs-1);

  arma::Mat<T> oo_vec;
  arma::vec oo_eig;
  eig_sym_ordered_wrk<T>(oo_eig,oo_vec,F_oo);

  arma::Mat<T> vv_vec;
  arma::vec vv_eig;
  eig_sym_ordered_wrk<T>(vv_eig,vv_vec,F_vv);

  // Transform orbitals into new basis
  arma::Mat<T> C_ov(C);
  C_ov.cols(0,nocc-1)=C.cols(0,nocc-1)*oo_vec;
  C_ov.cols(nocc,norbs-1)=C.cols(nocc,norbs-1)*vv_vec;

  // Compute Fock matrix in new basis
  arma::Mat<T> F_ov=arma::trans(C_ov)*F_AO*C_ov;
  // Force symmetricity of F_ov
  F_ov=(F_ov + arma::trans(F_ov))/2.0;

  // Save (pseudo-)orbital energies
  Enew=arma::diagvec(arma::real(F_ov));

  // Form gradient and Hessian, eqns (29a) and (29b)
  arma::Mat<T> grad(nvirt,nocc);
  grad.zeros();

  // Hessian is diagonal, so we only take the diagonal part
  arma::mat hess(nvirt,nocc);
  hess.zeros();

  // Fill the matrices, remembering the ordering of the full Fock matrix
  for(size_t a=0;a<nvirt;a++)
    for(size_t i=0;i<nocc;i++) {
      grad(a,i)=-4.0*F_ov(nocc+a,i); // eq (27b)
      hess(a,i)=4.0*(Enew(nocc+a)-Enew(i)); // eq (29b)
    }

  // Print legend
  if(verbose) {
    printf("\t%2s %12s %5s time\n","it","mu","Amin");
    fflush(stdout);
  }


1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"/></g>
<g id="user-ninja" transform="scale(2.0 2.0)"><path d="M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z"/></g>
<g id="ship" transform="scale(1.6 1.6)"><path d="M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"/></g>
<g id="qrcode" transform="scale(2.0 2.0)"><path d="M0 224h192V32H0v192zM64 96h6


= cfg::UpdateKind::Insert) == !UpdatedAreReverseApplied;
    auto &SuccDIList = Succ[U.getFrom()];
    auto &SuccList = SuccDIList.DI[IsInsert];
    assert(SuccList.back() == U.getTo());
    SuccList.pop_back();
    if (SuccList.empty() && SuccDIList.DI[!IsInsert].empty())
      Succ.erase(U.getFrom());

    auto &PredDIList = Pred[U.getTo()];
    auto &PredList = PredDIList.DI[IsInsert];
    assert(PredList.back() == U.getFrom());
    PredList.pop_back();
    if (PredList.empty() && PredDIList.DI[!IsInsert].empty())
      Pred.erase(U.getTo());
    return U;
  }

  using VectRet = SmallVector<NodePtr, 8>;
  template <bool InverseEdge> VectRet getChildren(NodePtr N) const {
    using DirectedNodeT =
        std::conditional_t<InverseEdge, Inverse<NodePtr>, NodePtr>;
    auto R = children<DirectedNodeT>(N);
    VectRet Res = VectRet(detail::reverse_if<!InverseEdge>(R));

    // Remove nullptr children for clang.
    llvm::erase(Res, nullptr);

    auto &Children = (InverseEdge != InverseGraph) ? Pred : Succ;
    auto It = Children.find(N);
    if (It == Children.end())
      return Res;

    // Remove children present in the CFG but not in the snapshot.
    for (auto *Child : It->second.DI[0])
      llvm::erase(Res, Child);

    // Add children present in the snapshot for not in the real CFG.
    auto &AddedChildren = It->second.DI[1];
    llvm::append_range(Res, AddedChildren);

    return Res;
  }

  void print(raw_ostream &OS) const {
    OS << "===== GraphDiff: CFG edge changes to create a CFG snapshot. \n"
          "===== (Note: notion of children/inverse_children depends on "
          "the direction of edges and the graph.)\n";
    OS << "Children to delete/insert:\n\t";
    printMap(OS, Succ);
    OS << "Inverse_children to delete/insert:\n\t";
    printMap(OS, Pred);
    OS << "\n";
  }

#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const { print(dbgs()); }
#endif
};
} // end namespace llvm

#endif // LLVM_SUPPORT_CFGDIFF_H


onsive() {
    if (window.innerWidth > 768) {
      this.closeSidebar();
    }
  }
};

export default {
  charts: {},

  initCharts() {
    const commonOptions = {
      responsive: true,
      maintainAspectRatio: false,
      plugins: {
        legend: {
          display: true,
          position: 'top',
          labels: { font: { size: 12 }, padding: 20 }
        }
      },
      scales: {
        y: { beginAtZero: true, grid: { color: '#f3f4f6' }, ticks: { font: { size: 11 } } },
        x: { grid: { display: false }, ticks: { font: { size: 11 } } }
      }
    };

    // Chart 1
    this.charts.chart1 = new Chart(document.getElementById('chart1'), {
      type: 'line',
      data: {
        labels: [],
      },
      options: {
        ...commonOptions,
        plugins: {
          ...commonOptions.plugins,
          tooltip: {
            backgroundColor: 'rgba(0, 0, 0, 0.8)',
            titleColor: 'white',
            bodyColor: 'white',
            borderColor: 'rgb(99, 102, 241)',
            borderWidth: 0.1
          }
        }
      }
    });

    // Chart 2
    this.charts.chart2 = new Chart(document.getElementById('chart2'), {
      type: 'bar',
      data: {
        labels: [],
      },
      options: {
        ...commonOptions,
        plugins: {
          ...commonOptions.plugins,
          tooltip: {
            backgroundColor: 'rgba(0, 0, 0, 0.8)',
            titleColor: 'white',
            bodyColor: 'white',
            borderColor: 'rgb(99, 102, 241)',
            borderWidth: 0.1
          }
        }
      }
    });
  },

  updateCharts(item) {
    const data = item.chartData;
    this.charts.chart1.data.labels = data.dates;
    this.charts.chart1.data.datasets = [
      {
        label: 'High',
        data: data.high,
        borderColor: 'rgb(16, 185, 129)',
        backgroundColor: 'rgba(16, 185, 129, 0.2)',
        tension: 0.3,
        fill: '+1', // Fill to the next dataset (Low)
        pointRadius: 0,
        pointHoverRadius: 0,
        order: 1
      },
      {
        label: 'Low',
        data: data.low,
        borderColor: 'rgb(239, 68, 68)',
        backgroundColor: 'rgba(239, 68, 68, 0.1)',
        tension: 0.3,
        fill: false,
        pointRadius: 0,
        pointHoverRadius: 0,
        order: 2
      },
    ];
    this.charts.chart1.update('active');
    if (item.predictionData) {
      this.charts.chart2.data.labels = item.predictionData.dates;
      this.charts.chart2.data.datasets = [
        {
          label: 'Predicted Price',
          data: item.predictionData.prices,
          borderColor: 'rgb(99, 102, 241)',
          backgroundColor: 'rgba(99, 102, 241, 0.2)',
          tension: 0.3,
          fill: false,
          pointRadius: 3,
          pointHoverRadius: 5
        }
      ];
      this.charts.chart2.update('active');
    }
  }
};

//user clicked button
document.getElementById("userInputButton").addEventListener("click", getUserInput, false);
//user pressed enter '13'
document.getElementById("userInput").addEventListener("keyup", function (event) {
    if (event.keyCode === 13) {
        //cancel the default action
        event.preventDefault();
        //process event
        getUserInput();
    }


*-----------------------------------------------------------------------------

* POUR CHANGER UNE MUSIQUE:
* CHERCHER "VOICE_SET" ET ENTRER LE NOM DU FICHIER VOICE SET ("*.TVS")
* CHERCHER "SONG" ET ENTRER LE NOM DU FICHIER SON ("*.TRI")

*------------------------------------*
*----- INSIGNIA TRISOUND PLAYER -----*
*------------------------------------*
* (C)1991 HAGEN FROM HYSTERIA...
*
* (ET QUELQUES RAJOUTS DE FRAIS' GIN DRINKER)
*
* VERSION 2.00 (VOIX DIGIT ET CHANGEMENT DE FREQUENCE)
*
* APPEL: INIT-> JSR MUZIC, PLAY-> JSR MUZIC+2, FIN-> JSR MUZIC+4
*-----------------------------------------------------------------------------
	OPT	O+,X+,P+
*-----------------------------------------------------------------------------
TA_BN	EQU	5			BIT NUMMER TIMER A
IERA	EQU	$FFFFFA07
IMRA	EQU	$FFFFFA13
VECTOR	EQU	$FFFFFA17
TADR	EQU	$FFFFFA1F
TACR	EQU	$FFFFFA19
PSGREG	EQU	$FFFF8800
PSGWRITE	EQU	$FFFF8802
PAT_LEN	EQU	64			LENGTE PATTERN IN NOTEN
NOTE_LEN	EQU	12			LENGTE NOOT (PATTERN REGEL) IN BYTES
****** INSTRUMENT STRUCTURE EQUATES *****
I_NOISE_FREQ	EQU	0
I_SOUND_MODE	EQU	2
I_ENV_TYPE		EQU	3
I_ENV_FREQ		EQU	4
I_VIBR_SPEED	EQU	6
I_VIBR_DEPTH	EQU	8
I_INTERVAL1	EQU	252
I_INTERVAL2	EQU	254
I_ENV_ATTACK	EQU	10
I_ENV_SUSTAIN	EQU	12
I_ENV_RELEASE	EQU	14
I_ENV_START	EQU	16
I_PIT_ATTACK	EQU	240
I_PIT_SUSTAIN	EQU	242
I_PIT_RELEASE	EQU	244
I_PIT_START	EQU	128
I_TOTAL_LEN	EQU	256
*-----------------------------------------------------------------------------
MUSIC
	BRA.S	INIT
	BRA.S	PLAY
	BRA.S	FIN
	DC.B	" -INSIGNIA TRISOUND PLAYER- (C)1991 HAGEN FROM HYSTERIA...  "
	EVEN
*-----------------------------------------------------------------------------
INIT
	MOVEM.L	D0-D7/A0-A6,-(SP)
	LEA	MUSIC(PC),A6
	BSR.S	INIT_YAM
* INIT CODE MODIFIE
	LEA.L	ADD_ADR+2(PC),A0
	LEA.L	SAM_ADR+2(PC),A1
	MOVE.L	A1,(A0)
	LEA.L	REST_ADR+4(PC),A0
	LEA	ADATA+SILENT(PC),A1
	MOVE.L	A1,(A0)
	BSR	INIT_SAM
	MOVEM.L	(SP)+,D0-D7/A0-A6
	RTS
*----------------------------------------------


lor, 6, 4)
            setValueAt(botState.gunColor, 7, 4)
            setValueAt(botState.turnRate, 8, 4)
            setValueAt(botState.gunTurnRate, 9, 4)
            setValueAt(botState.radarTurnRate, 10, 4)
            setValueAt(botState.stdOut, 11, 4)
            setValueAt(botState.stdErr, 12, 4)
            setValueAt(botState.isDebuggingEnabled, 13, 4)
        }
    }

    private class CustomCellRenderer : DefaultTableCellRenderer() {
        private val monospacedFont: Font = FontUIResource(Font.MONOSPACED, Font.BOLD, 12)

        override fun getTableCellRendererComponent(
            table: JTable?,
            value: Any?,
            isSelected: Boolean,
            hasFocus: Boolean,
            row: Int,
            column: Int
        ): Component {
            val component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column)
            when (column) {
                1, 4 -> component.font = monospacedFont
            }
            return component
        }
    }
}package dev.robocode.tankroyale.gui.ui.config

import dev.robocode.tankroyale.common.Event
import dev.robocode.tankroyale.gui.settings.ServerSettings
import dev.robocode.tankroyale.gui.ui.MainFrame
import dev.robocode.tankroyale.gui.ui.Messages
import dev.robocode.tankroyale.gui.ui.Strings
import dev.robocode.tankroyale.gui.ui.components.PortInputField
import dev.robocode.tankroyale.gui.ui.components.RcDialog
import dev.robocode.tankroyale.gui.ui.components.RcToolTip
import dev.robocode.tankroyale.gui.ui.components.ToggleSwitch
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.addLabel
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createAddButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createCancelButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createEditButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createOkButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.createRemoveButton
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.enableAll
import dev.robocode.tankroyale.gui.ui.extensions.JComponentExt.showMessage
import dev.robocode.tankroyale.gui.ui.extensions.WindowExt.onClosed
import dev.robocode.tankroyale.gui.ui.extensions.WindowExt.onOpened
import dev.robocode.tankroyale.gui.ui.server.RemoteServer
import dev.robocode.tankroyale.gui.util.MessageDialog
import net.miginfocom.swing.MigLayout
import java.awt.Color
import java.awt.Dimension
import java.awt.Font
import java.awt.event.ActionListener
import java.awt.event.ItemEvent
import java.awt.event.ItemListener
import javax.swing.*

class ServerConfigDialog : RcDialog(MainFrame, "server_config_dialog") {
    init {
        contentPane.add(ServerConfigPanel(this))
        pack()
        setLocationRelativeTo(owner) // center on owner window

        onOpened {
            ServerSettings.backup()
        }
    }
}

private class ServerConfigPanel(val owner: RcDialog) : JPanel() {

    val onToggleRemoteServer = Event<Boolean>()
    val onPortUpdated = Event<Short>()
    val onOk = Event<JButton>()
    val onCancel = Event<JButton>()
    val onTest = Event<JButton>()
    val onAdd = Event<JButton>()
    val onEdit = Event<JButton>()
    val on


3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
/*# sourceMappingURL=bootstrap.min.css.map *//*
 * Noto Sans Ethiopic
 *
 * This font is used for chinese in the content (tinymce, preview and PDF).
 *
 * Generated by GoogleWebfontsHelper https://github.com/majodev/google-webfonts-helper
 */

/* noto-sans-ethiopic-regular - amharic */
@font-face {
    font-family: "Noto Sans Ethiopic";
    font-style: normal;
    font-weight: normal;
    src: url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-regular.eot"); /* IE9 Compat Modes */
    src:
        local("Noto Sans Ethiopic"),
        local("NotoSansEthiopic-Regular"),
        /* Local installed font */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-regular.eot?#iefix")
            format("embedded-opentype"),
        /* IE6-IE8 */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-regular.woff2") format("woff2"),
        /* Super Modern Browsers */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-regular.woff") format("woff"),
        /* Modern Browsers */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-regular.ttf") format("truetype"); /* Safari, Android, iOS */
}

/* noto-sans-ethiopic-700 - amharic */
@font-face {
    font-family: "Noto Sans Ethiopic";
    font-style: normal;
    font-weight: bold;
    src: url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-700.eot"); /* IE9 Compat Modes */
    src:
        local("Noto Sans Ethiopic Bold"),
        local("NotoSansEthiopic-Bold"),
        /* Local installed font */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-700.eot?#iefix")
            format("embedded-opentype"),
        /* IE6-IE8 */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-700.woff2") format("woff2"),
        /* Super Modern Browsers */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-700.woff") format("woff"),
        /* Modern Browsers */ url("./noto-sans-ethiopic-v42-latin-ext_latin_ethiopic-700.ttf") format("truetype"); /* Safari, Android, iOS */
}
/* Generated by GoogleWebfontsHellper https://github.com/majodev/google-webfonts-helper */
/* raleway-re


  return input->sets.unicodes;
}

/**
 * hb_subset_input_glyph_set:
 * @input: a #hb_subset_input_t object.
 *
 * Gets the set of glyph IDs to retain, the caller should modify the set as
 * needed.
 *
 * Return value: (transfer none): pointer to the #hb_set_t of glyph IDs.
 *
 * Since: 1.8.0
 **/
HB_EXTERN hb_set_t *
hb_subset_input_glyph_set (hb_subset_input_t *input)
{
  return input->sets.glyphs;
}

/**
 * hb_subset_input_set:
 * @input: a #hb_subset_input_t object.
 * @set_type: a #hb_subset_sets_t set type.
 *
 * Gets the set of the specified type.
 *
 * Return value: (transfer none): pointer to the #hb_set_t of the specified type.
 *
 * Since: 2.9.1
 **/
HB_EXTERN hb_set_t *
hb_subset_input_set (hb_subset_input_t *input, hb_subset_sets_t set_type)
{
  return input->sets_iter () [set_type];
}

/**
 * hb_subset_input_get_flags:
 * @input: a #hb_subset_input_t object.
 *
 * Gets all of the subsetting flags in the input object.
 *
 * Return value: the subsetting flags bit field.
 *
 * Since: 2.9.0
 **/
HB_EXTERN hb_subset_flags_t
hb_subset_input_get_flags (hb_subset_input_t *input)
{
  return (hb_subset_flags_t) input->flags;
}

/**
 * hb_subset_input_set_flags:
 * @input: a #hb_subset_input_t object.
 * @value: bit field of flags
 *
 * Sets all of the flags in the input object to the values specified by the bit
 * field.
 *
 * Since: 2.9.0
 **/
HB_EXTERN void
hb_subset_input_set_flags (hb_subset_input_t *input,
			   unsigned value)
{
  input->flags = (hb_subset_flags_t) value;
}

/**
 * hb_subset_input_set_user_data: (skip)
 * @input: a #hb_subset_input_t object.
 * @key: The user-data key to set
 * @data: A pointer to the user data
 * @destroy: (nullable): A callback to call when @data is not needed anymore
 * @replace: Whether to replace an existing data with the same key
 *
 * Attaches a user-data key/data pair to the given subset input object.
 *
 * Return value: `true` if success, `false` otherwise
 *
 * Since: 2.9.0
 **/
hb_bool_t
hb_subset_input_set_user_data (hb_subset_input_t  *input,
			       hb_user_data_key_t *key,
			       void *		   data,
			       hb_destroy_func_t   destroy,
			       hb_bool_t	   replace)
{
  return hb_object_set_user_data (input, key, data, destroy, replace);
}

/**
 * hb_subset_input_get_user_data: (skip)
 * @input: a #hb_subset_input_t object.
 * @key: The user-data key to query
 *
 * Fetches the user data associated with the specified key,
 * attached to the specified subset input object.
 *
 * Return value: (transfer none): A pointer to the user data
 *
 * Since: 2.9.0
 **/
void


-pages {
  width: 98%;
  max-width: 1000px;
  position: relative;
  margin: 0 auto;
  background: #FFF;
  box-shadow: 0 1px 2px rgba(0,0,0,0.3);
  border-radius: 4px;
}

.landing-pages .panel {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #DDD;
}

.landing-pages .panel:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.landing-pages .panel .left {
  width: 13%;
  min-width: 75px;
  min-height: 50px;
  padding-left: 4%;
  float: left;
  display: block;
}

.landing-pages .panel .icon {
  width: 66px;
  height: 66px;
  background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAQDAwMEAwQEBAQGBAQEBggGBAQGCAkHBwgHBwkLCQkJCQkJCwkLCwwLCwkODg8PDg4UFBQUFBYWFhYWFhYWFhb/2wBDAQUFBQkICRELCxEUEA0QFBgXFxcXGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhb/wAARCACDAYsDASIAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAcEBgIDBQEI/8QAWRAAAQMCAwMGCAcLCAgFBQAAAQIDBAAFBhESByExEyIyQVFhFEJSYnGBkaEVFiMzQ7HBJDZydIKSorKz0dIXJjdVhJS0wiUnNFZjg6ThNURTw/BUc3Wj0//EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf/EADERAAIBAgMFBgYDAQEAAAAAAAABAgMREiExBCJBUWEUMnGBkbETI1JiocEzQvDRcv/aAAwDAQACEQMRAD8A+/qKKKACivFKSlJUo5AbyTwyqgXbG9wuE1Vpwqz4VI4PXE/NIHanPd+UfVnXUrk6lRR1Ldd79aLS1yk+WhjPoIO9avwUjMmqcraDebkst4csbskZ5eFv7kZ+ohI9a6wawhYLSk3XFM8T5i96y8SW9XYlPSc9fsrm3Xa0lschZYKUNo5qHntwy81tPD2+qnSMtSs13nh6as6vwJtMuA1TL01bUK+iY6Q9aAP169OzeWrnS8UTXleVvH6zi6Ws/GuKZp+VubyR5DR5Ifoaa4jrzrqtTrinFHipRJPvp8LMctop8m/Fjk/k1B+bxHMCuo55/wCYV78TMaRN9vxU47l0USden3l4e6kvXRiYgvkTLwa4yGQngkOK0/m55UYWC2in9LXmNU37aNad


 Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }

}
/*
 * Copyright (c) 2023 - present Dromara, All rights reserved.
 *
 *   https://visor.dromara.org
 *   https://visor.dromara.org.cn
 *   https://visor.orionsec.cn
 *
 * Members:
 *   Jiahang Li - ljh1553488six@139.com - author
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.dromara.visor.module.exec.convert;

import org.dromara.visor.module.exec.entity.domain.ExecTemplateDO;
import org.dromara.visor.module.exec.entity.request.exec.ExecTemplateCreateRequest;
import org.dromara.visor.module.exec.entity.request.exec.ExecTemplateUpdateRequest;
import org.dromara.visor.module.exec.entity.vo.ExecTemplateVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 执行模板 内部对象转换器
 *
 * @author Jiahang Li
 * @version 1.0.1
 * @since 2024-3-7 18:08
 */
@Mapper
public interface ExecTemplateConvert {

    ExecTemplateConvert MAPPER = Mappers.getMapper(ExecTemplateConvert.class);

    ExecTemplateDO to(ExecTemplateCreateRequest request);

    ExecTemplateDO to(ExecTemplateUpdateRequest request);

    ExecTemplateVO to(ExecTemplateDO domain);

}
/*
 *
 * Copyright 2017-2018 549477611@qq.com(xiaoyu)
 *
 * This copyrighted material is made available to anyone wishing to use, modify,
 * copy, or redistribute it subject to the terms and conditions of the GNU
 * Lesser General Public License, as published by the Free Software Foundation.
 *
 * This program 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 Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution; if not, see <http://www.gnu.org/licenses/>.
 *
 */

package org.dromara.raincat.manager.netty.handler;

import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.handler.timeout.IdleState;
import io.netty.handler.timeout.IdleStateEvent;
import io.netty.util.ReferenceCountUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.dromara.raincat.common.enums.NettyMessageActionEnum;
import org.dromara.raincat.common.enums.NettyResultEnum;
import org.dromara.raincat.common.holder.LogUtil;
import org.dromara.raincat.common.netty.bean.HeartBeat;
import org.dromara.raincat.common.netty.bean.TxTransactionGroup;
import org.dromara.raincat.common.netty.bean.TxTransactionItem;
import org.dromara.raincat.manager.con


ds[0].t1).toBe('team liquid')
//     expect(odds[0].t2).toBe('kt rolster')
//     expect(odds[0].t1Odds).toBe(4.5)
//     expect(odds[0].t2Odds).toBe(1.16)
//     expect(odds[0].market).toBe('fb')
//   })
// })

describe('todo...', () => {
  it('todo...', () => {
    console.log('TODO: Write tests for this and move to TS...')
  })
})
export interface BaseOptions {
	[key: string]: any;
}
declare class BaseComponent {
	element: HTMLElement;
	options?: BaseOptions;
	/**
	 * @param target `HTMLElement` or selector string
	 * @param config component instance options
	 */
	constructor(target: HTMLElement | string, config?: BaseOptions);
	get version(): string;
	get name(): string;
	get defaults(): {};
	/**
	 * Removes component from target element;
	 */
	dispose(): void;
}
export interface TooltipOptions extends BaseOptions {
	template: string | HTMLElement;
	title: string | HTMLElement;
	customClass: string;
	trigger: string;
	placement: "top" | "bottom" | "left" | "right";
	sanitizeFn?: (str: string) => string;
	animation: boolean;
	delay: number;
	content: string | HTMLElement;
	dismissible: boolean;
	btnClose: string | HTMLElement;
}
declare class Tooltip extends BaseComponent {
	static selector: string;
	static init: (element: HTMLElement) => Tooltip;
	static getInstance: (element: HTMLElement) => Tooltip | null;
	static styleTip: <T extends Tooltip>(self: T, e?: (Event & PointerEvent) | undefined) => void;
	options: TooltipOptions;
	btn?: HTMLElement;
	tooltip?: HTMLElement;
	container: ParentNode;
	arrow?: HTMLElement;
	offsetParent?: HTMLElement;
	enabled: boolean;
	id: string;
	/**
	 * @param target the target element
	 * @param config the instance options
	 */
	constructor(target: HTMLElement | string, config?: Partial<TooltipOptions>);
	/**
	 * Returns component name string.
	 */
	get name(): string;
	/**
	 * Returns component default options.
	 */
	get defaults(): TooltipOptions;
	/**
	 * Shows the tooltip.
	 *
	 * @param e the `Event` object
	 */
	show(e?: Event): void;
	/**
	 * Hides the tooltip.
	 *
	 * @param e the dispose callback
	 * @param callback the dispose callback
	 */
	hide(e?: Event, callback?: () => void): void;
	/**
	 * Updates the tooltip position.
	 *
	 * @param e the `Event` object
	 */
	update(e?: Event): void;
	/**
	 * Toggles the tooltip visibility.
	 *
	 * @param e the `Event` object
	 */
	toggle(e?: Event): void;
	/** Enables the tooltip. */
	enable(): void;
	/** Disables the tooltip. */
	disable(): void;
	/** Toggles the `disabled` property. */
	toggleEnabled(): void;
	/**
	 * Handles the `touchstart` event listener for `Tooltip`
	 *
	 * @this {Tooltip}
	 * @param {TouchEvent} e the `Event` object
	 */
	handleTouch({ target }: TouchEvent): void;
	/** Removes the `Tooltip` from the target


local T, C, L = unpack(ShestakUI)
if C.minimap.enable ~= true then return end

----------------------------------------------------------------------------------------
--	Farm mode for minimap(by Elv22)
----------------------------------------------------------------------------------------
T.FarmMode = false
SlashCmdList.FARMMODE = function()
	if InCombatLockdown() then print("|cffffff00"..ERR_NOT_IN_COMBAT.."|r") return end
	if T.FarmMode == false then
		MinimapAnchor:SetSize(C.minimap.size * 1.65, C.minimap.size * 1.65)
		Minimap:SetSize(MinimapAnchor:GetWidth(), MinimapAnchor:GetWidth())
		T.FarmMode = true
	else
		MinimapAnchor:SetSize(C.minimap.size, C.minimap.size)
		Minimap:SetSize(MinimapAnchor:GetWidth(), MinimapAnchor:GetWidth())
		T.FarmMode = false
	end
end
SLASH_FARMMODE1 = "/farmmode"
SLASH_FARMMODE2 = "/афкььщву"
SLASH_FARMMODE3 = "/fm"
SLASH_FARMMODE4 = "/аь"

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