    padding: 10px 0 10px 0;
    width: 600px;
}

.bucket div.power_chart li {
    position: inherit;
    width: 24px;
    padding: 0;
    height: 140px;
    float: left;
}

.bucket div.power_chart li.even {
    background-image: -webkit-gradient(linear, left bottom, left top, from(#2837a3), color-stop(0.5, #922db7), to(#cc3272));
    background-image: -moz-linear-gradient(90deg, #2837a3 0%, #922db7 50%, #cc3272 100%);
}

.bucket div.power_chart li.odd {
    background-image: -webkit-gradient(linear, left bottom, left top, from(#1e297a), color-stop(0.5, #71238e), to(#a3285b));
    background-image: -moz-linear-gradient(90deg, #1e297a 0%, #71238e 50%, #a3285b 100%);
}

.bucket div.power_chart li.super {
    background-image: -webkit-gradient(linear, left bottom, left top, from(#660000), color-stop(0.5, #cc6600), to(#feff33));
    background-image: -moz-linear-gradient(90deg, #660000 0%, #cc6600 50%, #feff33 100%);
}

.bucket div.power_chart li a {
    display: block;
    background-color: #000;
}

.bucket div.power_chart li a img {
    margin-bottom: -10px;
}

li a.lev_1 img {
    padding-top: 100px;
}

li a.lev_2 img {
    padding-top: 90px;
}

li a.lev_3 img {
    padding-top: 80px;
}

li a.lev_4 img {
    padding-top: 70px;
}

li a.lev_5 img {
    padding-top: 60px;
}

li a.lev_6 img {
    padding-top: 50px;
}

li a.lev_7 img {
    padding-top: 40px;
}

li a.lev_8 img {
    padding-top: 30px;
}

li a.lev_9 img {
    padding-top: 20px;
}

li a.lev_10 img {
    padding-top: 10px;
}

li a.lev_11 img {
    padding-top: 0;
}

div.power_chart span.graph_legend {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #000;
    color: #bcd;
    display: none;
    padding: 20px 0 0 0;
    width: 280px;
}

#content div.power_chart span.graph_legend {
    padding: 10px 0 2px 0;
    width: 540px;
}
div.power_chart a:hover span.graph_legend {
    display: block;
}

div.power_chart p {
    color: #678 !important;
    margin: 0;
}

/* @end */

/* @group game page overrides */

body.gamepage #content {
    width: 642px;
}

body.gamepage h3 {
    font-size: 36px;
    line-height: 32px;
}

body.gamepage h4 {
    font-size: 18px;
}

#content div#contestwidget {
    margin: 1px 10px 5px 0;
    float: left;
}

object#game {
    background: transparent url('../chrome/player_bkgd.gif') no-repeat center center;
}

div.gameobject {
    clear: both;
    margin-top: 8px;
    border: 1px solid white;
}

body.gamepage #content div.sharebar {
    height: 36px;
    clear: both;
    margin-bottom: 10px;
    background: #333 url('../chrome/social_bar_bkgd.gif') repe


asl #2] ;@ Jump to opcode handler
  b CycloneEnd

;@ ---------- [b0e0] cmpa.w -(a0), a0 uses Opb0e0 ----------
Opb0e0:
  str r5,[r7,#0x5c] ;@ Save Cycles

;@ EaCalc : Get '-(a0)' into r0:
  and r2,r8,#0x000f
  orr r2,r2,#0x8 ;@ A0-7
  ldr r0,[r7,r2,lsl #2]
  sub r0,r0,#2 ;@ Pre-decrement An
  str r0,[r7,r2,lsl #2]
;@ EaRead : Read '-(a0)' (address in r0) into r0:
  bl cyclone_read16 ;@ Call read16(r0) handler

;@ EaCalc : Get register index into r1:
  and r1,r8,#0x1e00
;@ EaRead : Read register[r1] into r1:
  ldr r1,[r7,r1,lsr #7]

  mov r0,r0,asl #16

  cmp r1,r0,asr #16 ;@ Defines NZCV
  mrs r10,cpsr ;@ r10=flags
  eor r10,r10,#0x20000000 ;@ Invert carry

  ldr r5,[r7,#0x5c] ;@ Load Cycles
  ldrh r8,[r4],#2 ;@ Fetch next opcode
  subs r5,r5,#12 ;@ Subtract cycles
  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler
  b CycloneEnd

;@ ---------- [b0e8] cmpa.w ($3333,a0), a0 uses Opb0e8 ----------
Opb0e8:
  str r5,[r7,#0x5c] ;@ Save Cycles

;@ EaCalc : Get '($3333,a0)' into r0:
  ldrsh r0,[r4],#2 ;@ Fetch offset
  and r2,r8,#0x000f
  ldr r2,[r7,r2,lsl #2]
  add r0,r0,r2 ;@ Add on offset
;@ EaRead : Read '($3333,a0)' (address in r0) into r0:
  bl cyclone_read16 ;@ Call read16(r0) handler

;@ EaCalc : Get register index into r1:
  and r1,r8,#0x1e00
;@ EaRead : Read register[r1] into r1:
  ldr r1,[r7,r1,lsr #7]

  mov r0,r0,asl #16

  cmp r1,r0,asr #16 ;@ Defines NZCV
  mrs r10,cpsr ;@ r10=flags
  eor r10,r10,#0x20000000 ;@ Invert carry

  ldr r5,[r7,#0x5c] ;@ Load Cycles
  ldrh r8,[r4],#2 ;@ Fetch next opcode
  subs r5,r5,#14 ;@ Subtract cycles
  ldrgt pc,[r6,r8,asl #2] ;@ Jump to opcode handler
  b CycloneEnd

;@ ---------- [b0f0] cmpa.w ($33,a0,d3.w*2), a0 uses Opb0f0 ----------
Opb0f0:
  str r5,[r7,#0x5c] ;@ Save Cycles

;@ EaCalc : Get '($33,a0,d3.w*2)' into r0:
;@ Get extension word into r3:
  ldrh r3,[r4],#2 ;@ ($Disp,PC,Rn)
  mov r2,r3,lsr #10
  tst r3,#0x0800 ;@ Is Rn Word or Long
  and r2,r2,#0


uniq".into(), AggregateDistinctCombinator::try_create_uniq);
        Ok(())
    }

    pub fn register_combinator(map: FactoryCombinatorFuncRef) -> Result<()> {
        let mut map = map.write();
        map.insert("distinct".into(), AggregateDistinctCombinator::try_create);
        map.insert("if".into(), AggregateIfCombinator::try_create);

        Ok(())
    }
}
//! Facilities for working with paths within schemas or validated instances.
use std::slice::Iter;
use std::{fmt, fmt::Write};

#[derive(Clone, Debug, Eq, PartialEq)]
/// JSON Pointer as a wrapper around individual path components.
pub struct JSONPointer(Vec<PathChunk>);

impl JSONPointer {
    #[must_use]
    /// JSON pointer as a vector of strings. Each component is casted to `String`. Consumes `JSONPointer`.
    pub fn into_vec(self) -> Vec<String> {
        self.0
            .into_iter()
            .map(|item| match item {
                PathChunk::Property(value) => value,
                PathChunk::Index(idx) => idx.to_string(),
            })
            .collect()
    }

    #[must_use]
    /// Return an iterator over the underlying vector of path components.
    pub fn iter(&self) -> Iter<'_, PathChunk> {
        self.0.iter()
    }
}

impl Default for JSONPointer {
    fn default() -> Self {
        JSONPointer(Vec::new())
    }
}

impl fmt::Display for JSONPointer {
    fn fmt(&self, mut f: &mut fmt::Formatter<'_>) -> fmt::Result {
        if !self.0.is_empty() {
            for chunk in &self.0 {
                f.write_char('/')?;
                match chunk {
                    PathChunk::Property(value) => f.write_str(value)?,
                    PathChunk::Index(idx) => itoa::fmt(&mut f, *idx)?,
                }
            }
        }
        Ok(())
    }
}

#[derive(Clone, Debug, Eq, PartialEq)]
/// A key within a JSON object or an index within a JSON array.
/// A sequence of chunks represents a valid path within a JSON value.
///
/// Example:
/// ```json
/// {
///    "cmd": ["ls", "-lh", "/home"]
/// }
/// ```
///
/// To extract "/home" from the JSON object above, we need to take two steps:
/// 1. Go into property "cmd". It corresponds to `PathChunk::Property("cmd".to_string())`.
/// 2. Take the 2nd value from the array - `PathChunk::Index(2)`
///
/// The primary purpose of this enum is to avoid converting indexes to strings during validation.
pub enum PathChunk {
    /// Property name within a JSON object.
    Property(String),
    /// Index within a JSON array.
    Index(usize),
}

#[derive(Debug)]
pub(crate) struct InstancePath<'a> {
    pub(crate) chunk: Option<PathChunk>,
    pub(crate) parent: Option<&'a InstancePath<'a>>,
}

impl<'a> InstancePath<'a> {
    pub(crate) const fn new() -> Self {
        InstancePath {
            chunk: None,
            parent: None,
        }
    }

    pub(crate) fn push(&'a self, chunk: impl Into<PathChunk>) -> Self {
        InstancePath {
            chunk: Some(chunk.into()),
            parent: Some(self),
        }
    }

    pub(crate) fn to_vec(&'a self) -> Vec<PathChunk> {
        // The path capacity should be the average depth so we avoid extra allocations
        let mut result = Vec::with_


Store it back if it is still there.
                                        // If store fails, location already
                                        //  scrubbed by someone else

        lda	r8, 0x20(r31)		// restore r0 to original address
        xor	r8, r0, r0

        //at this point, ei_stat could be locked due to a new corr error on the ld,
        //so read ei_stat to unlock AFTER this routine.

// XXX bugnion	pvc$jsr	crd_scrub_mem, bsr=1, dest=1
1:	ret	r31, (r13)		// and back we go

//
// sys_int_mchk - MCHK Interrupt code
//
// Machine check interrupt from the system.  Setup and join the
// regular machine check flow.
// On exit:
//       pt0     - saved r0
//       pt1     - saved r1
//       pt4     - saved r4
//       pt5     - saved r5
//       pt6     - saved r6
//       pt10    - saved exc_addr
//       pt_misc<47:32> - mchk code
//       pt_misc<31:16> - scb vector
//       r14     - base of Cbox IPRs in IO space
//       MCES<mchk> is set
//
        ALIGN_BLOCK
sys_int_mchk:
        lda	r14, mchk_c_sys_hrd_error(r31)
        mfpr	r12, exc_addr

        addq	r14, 1, r14			// Flag as interrupt
        nop

        sll	r14, 32, r14			// Move mchk code to position
        mtpr	r12, pt10			// Stash exc_addr

        mfpr	r12, pt_misc			// Get MCES and scratch
        mtpr	r0, pt0				// Stash for scratch

        zap	r12, 0x3c, r12			// Clear scratch
        blbs    r12, sys_double_machine_check   // MCHK halt if double machine check

        or	r12, r14, r12			// Combine mchk code
        lda	r14, scb_v_sysmchk(r31)		// Get SCB vector

        sll	r14, 16, r14			// Move SCBv to position
        or	r12, r14, r14			// Combine SCBv

        bis	r14, BIT(mces_v_mchk), r14	// Set MCES<MCHK> bit
        mtpr	r14, pt_misc			// Save mchk code!scbv!whami!mces

        ldah	r14, 0xfff0(r31)
        mtpr	r1, pt1				// Stash for scratch

        zap	r14, 0xE0, r14			// Get Cbox IPR base
        mtpr	r4, pt4

        mtpr	r5, pt5

        mtpr	r6, pt6
        br	r31, sys_mchk_collect_iprs	// Join common machine check flow

//
// sys_int_perf_cnt - Performance counter interrupt code
//
//	A performance counter interrupt has been detected.  The stack
//	has been pushed. IPL and PS are updated as well.
//
//	on exit to interrupt entry point ENTINT::
//		a0 = osfint$c_perf
//		a1 = scb$v_perfmon (650)
//		a2 = 0 if performance counter 0 fired
//		a2 = 1 if performance counter 1 fired
//		a2 = 2 if performance counter 2 fired
//		     (if more than one counter overflowed, an interrupt will be
//			generated for each counter that overflows)
//
//
//
        ALIGN_BLOCK
sys_int_perf_cnt:


tructions
    {
        QTextCharFormat instructionFormat;
        instructionFormat.setForeground(style->instructionColor());
        instructionFormat.setFontWeight(QFont::Bold);

        for (const QString& pattern : instructions)
            highlightingRules.append({ QRegularExpression(QString("\\b%1\\b").arg(pattern)), instructionFormat });
    }

    // global variables
    addRule(R"regex((\s|^)[@$]"[^"]+")regex")
        .bold()
        .color(style->globalVariableColor);

    addRule(R"regex((\s|^)[@$][-a-zA-Z$._0-9]+)regex")
        .bold()
        .color(style->globalVariableColor);

    // local variables
    addRule(R"regex((\s|^)%"[^"]+")regex")
        .bold()
        .color(style->localVariableColor);

    addRule(R"regex((\s|^)%[-a-zA-Z$._0-9]+)regex")
        .bold()
        .color(style->localVariableColor);

    // @function( and @"bla blah"(
    addRule(R"regex(\s@"[^"]+"(?=\())regex")
        .bold()
        .color(style->functionColor);

    addRule(R"regex(\s@[-a-zA-Z$._][-a-zA-Z$._0-9]*(?=\())regex")
        .bold()
        .color(style->functionColor);

    // i64 and other types
    addRule(R"regex(i\d+)regex")
        .color(style->integerTypeColor);

    // metadata
    addRule(R"regex(![^ ,\(\)]+)regex")
        .color(style->metadataColor);
    addRule(R"regex(\bmetadata\b)regex")
        .color(style->metadataColor);
    addRule(R"regex(^attributes #\d+ = .+$)regex")
        .color(style->metadataColor);
    addRule(R"regex(^!\d+ = .+$)regex")
        .color(style->metadataColor);

    // Line comments
    addRule(R"regex(^;.+$)regex")
        .color(style->commentColor);
}

void BitcodeHighlighter::highlightBlock(const QString& text)
{
    for (const HighlightingRule& rule : qAsConst(highlightingRules))
    {
        QRegularExpressionMatchIterator matchIterator = rule.pattern.globalMatch(text);
        while (matchIterator.hasNext())
        {
            QRegularExpressionMatch match = matchIterator.next();
            setFormat(match.capturedStart(), match.capturedLength(), rule.format);
        }
    }
    setCurrentBlockState(0);

    int startIndex = 0;
    if (previousBlockState() != 1)
        startIndex = text.indexOf(commentStartExpression);

    while (startIndex >= 0)
    {
        QRegularExpressionMatch match = commentEndExpression.match(text, startIndex);
        int endIndex = match.capturedStart();
        int commentLength = 0;
        if (endIndex == -1)
        {
            setCurrentBlockState(1);
            commentLength = text.length() - startIndex;
        }
        else
        {
            commentLength = endIndex - startIndex + match.capturedLength();
        }
        setFormat(startIndex, commentLength, multiLineCommentFormat);
        startIndex = text.indexOf(commentStartExpression, startIndex + commentLength);
    }
}

#include "SyntaxHighlighter.h"

#ifdef CUTTER_ENABLE_KSYNTAXHIGHLIGHTING

#    include "Configuration.h"

#    include <KSyntaxHighlighting/Theme>

SyntaxHighlighter::SyntaxHighlighter(QTextDocument *document)
    : KSyntaxHighlighting::SyntaxHighlighter(document)
{
    connect(Config(), &Configuration::kSyntaxHighlightingThemeChanged,


X
;	cmp	#19
;	bcc	check_floor0_done

;	lda	#12
;	sta	PHYSICIST_Y

;	lda	PHYSICIST_X
;	cmp	#28
;	bcc	check_floor0_done

;	lda	#10
;	sta	PHYSICIST_Y

check_floor0_done:

check_floor1:

	;=====================================
	; draw physicist
	;=====================================

	jsr	draw_physicist

	;=====================================
	; handle gun
	;=====================================

	jsr	handle_gun

	;=====================================
	; draw foreground action
	;=====================================

;	lda	WHICH_CAVE
;	cmp	#0
;	bne	c5_no_fg_action

c5_draw_rocks:
;	lda	#1
;	sta	XPOS
;	lda	#26
;	sta	YPOS
;	lda	#<small_rock
;	sta	INL
;	lda	#>small_rock
;	sta	INH
;	jsr	put_sprite

;	lda	#10
;	sta	XPOS
;	lda	#18
;	sta	YPOS
;	lda	#<medium_rock
;	sta	INL
;	lda	#>medium_rock
;	sta	INH
;	jsr	put_sprite

;	lda	#31
;	sta	XPOS
;	lda	#14
;	sta	YPOS
;	lda	#<large_rock
;	sta	INL
;	lda	#>large_rock
;	sta	INH
;	jsr	put_sprite

c5_no_fg_action:

	;====================
	; activate fg objects
	;====================
;c2_fg_check_jail1:
;	lda	WHICH_JAIL
;	cmp	#1
;	bne	c2_fg_check_jail2
;
;	lda	CART_OUT
;	bne	c2_fg_check_jail2
;
;	inc	CART_OUT

	;================
	; move fg objects
	;================
c4_move_fg_objects:

;	lda	CART_OUT
;	cmp	#1
;	bne	cart_not_out

	; move cart

;	lda	FRAMEL
;	and	#$3
;	bne	cart_not_out
;
;	inc	CART_X
;	lda	CART_X
;	cmp	#39
;	bne	cart_not_out
;	inc	CART_OUT

	;====================================
	; page flip
	;====================================

	jsr	page_flip

	;============


-- Create states table in hbtn_0e_101_usa with some data
CREATE DATABASE IF NOT EXISTS hbtn_0e_101_usa;
USE hbtn_0e_101_usa;
CREATE TABLE IF NOT EXISTS states (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(256) NOT NULL,
    PRIMARY KEY (id)
);
INSERT INTO states (name) VALUES ("California"), ("Arizona"), ("Texas"), ("New York"), ("Nevada");

CREATE TABLE IF NOT EXISTS cities (
    id INT NOT NULL AUTO_INCREMENT,
    state_id INT NOT NULL,
    name VARCHAR(256) NOT NULL,
    PRIMARY KEY (id),
    FOREIGN KEY(state_id) REFERENCES states(id)
);
INSERT INTO cities (state_id, name) VALUES (1, "San Francisco"), (1, "San Jose"), (1, "Los Angeles"), (1, "Fremont"), (1, "Livermore");
INSERT INTO cities (state_id, name) VALUES (2, "Page"), (2, "Phoenix");
INSERT INTO cities (state_id, name) VALUES (3, "Dallas"), (3, "Houston"), (3, "Austin");
INSERT INTO cities (state_id, name) VALUES (4, "New York");
INSERT INTO cities (state_id, name) VALUES (5, "Las Vegas"), (5, "Reno"), (5, "Henderson"), (5, "Carson City");


lcjogZnVuY3Rpb24gZmlsdGVyKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgcmV0dXJuICRmaWx0ZXIodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.array.filter.js\n");

/***/ }),

/***/ "./node_modules/core-js/modules/es6.array.find-index.js":
/*!**************************************************************!*\
  !*** ./node_modules/core-js/modules/es6.array.find-index.js ***!
  \**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

"use strict";
eval("\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar $find = __webpack_require__(/*! ./_array-methods */ \"./node_modules/core-js/modules/_array-methods.js\")(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n__webpack_require__(/*! ./_add-to-unscopables */ \"./node_modules/core-js/modules/_add-to-unscopables.js\")(KEY);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maW5kLWluZGV4LmpzPzIwZDYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLGNBQWMsbUJBQU8sQ0FBQyw0REFBVztBQUNqQyxZQUFZLG1CQUFPLENBQUMsMEVBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxnQkFBZ0IsRUFBRTtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxtQkFBTyxDQUFDLG9GQUF1QiIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbmQtaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG4vLyAyMi4xLjMuOSBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4KHByZWRpY2F0ZSwgdGhpc0FyZyA9IHVuZGVmaW5lZ


borderRadius: BorderRadius.circular(10),
            borderSide: BorderSide.none,
          ),
          focusedBorder: OutlineInputBorder(
            borderRadius: BorderRadius.circular(10),
            borderSide: BorderSide(color: colorScheme.primary),
          ),
          errorBorder: OutlineInputBorder(
            borderRadius: BorderRadius.circular(10),
            borderSide: BorderSide(color: colorScheme.error),
          ),
          focusedErrorBorder: OutlineInputBorder(
            borderRadius: BorderRadius.circular(10),
            borderSide: BorderSide(color: colorScheme.error),
          ),
          disabledBorder: OutlineInputBorder(
            borderRadius: BorderRadius.circular(10),
            borderSide: BorderSide.none,
          ),
        ),
      );

  @override
  String get title => 'Black Theme (${accentColor.name})';

  @override
  ThemeType get type => ThemeType.dark;

  @override
  int get raw {
    final baseValue = switch (accentColor) {
      BlackThemeAccentColor.cakePrimary => 12,
      BlackThemeAccentColor.bchGreen => 13,
      BlackThemeAccentColor.bitcoinYellow => 14,
      BlackThemeAccentColor.moneroOrange => 15,
      BlackThemeAccentColor.tronRed => 16,
      BlackThemeAccentColor.frostingPurple => 17,
    };
    if (!isOled) return baseValue;
    // OLED encodes as 100 + base to avoid collisions
    return 100 + baseValue;
  }

  @override
  CustomThemeColors get customColors => BlackThemeCustomColors();

  @override
  String? get themeFamily => 'BlackTheme';

  @override
  String? get accentColorId => accentColor.name.toLowerCase();

  @override
  String? get accentColorName => accentColor.name;

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is BlackTheme &&
          runtimeType == other.runtimeType &&
          accentColor == other.accentColor &&
          isOled == other.isOled;

  @override
  int get hashCode => Object.hash(accentColor, isOled);
}
import 'dart:convert';
import 'dart:developer';

import 'package:cake_wallet/.secrets.g.dart' as secrets;
import 'package:cake_wallet/buy/buy_provider.dart';
import 'package:cake_wallet/buy/buy_quote.dart';
import 'package:cake_wallet/buy/pairs_utils.dart';
import 'package:cake_wallet/buy/payment_method.dart';
import 'package:cake_wallet/entities/fiat_currency.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/themes/core/theme_store.dart';
import 'package:cw_core/utils/proxy_wrapper.dart';
import 'package:cw_core/crypto_currency.dart';
import 'package:cw_core/utils/print_verbose.dart';
import 'package:cw_core/wallet_base.dart';
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

class OnRamperBuyProvider extends BuyProvider {
  OnRamperBuyProvider(this._themeStore,
      {required WalletBase wallet, bool isTestEnvironment = false})
      : super(wallet: wallet,
      isTestEnvironment: isTestEnvironment,
      hardwareWalletVM: null,
      supportedCryptoList: supportedCryptoToFiatPairs(
          notSupportedCrypto: _notSupportedCrypto, notSupportedFiat: _notSupportedFiat),
      supportedFiatList: supportedFiatToCryptoPairs(
          notSupportedFiat: _notSupportedFiat, notSupportedCrypto: _notSupportedCrypto));

  static const _baseUrl = 'buy.onramper.com';
  static const _baseApiUrl = 'api.onramper.com';
  static const _cIdBaseUrl = 'exchange-helper.cakewallet.com';
  static const quotes = '/quotes';


    "能否",
    "腾",
    "自",
    "自个儿",
    "自从",
    "自各儿",
    "自后",
    "自家",
    "自己",
    "自打",
    "自身",
    "至",
    "至于",
    "至今",
    "至若",
    "致",
    "般的",
    "若",
    "若夫",
    "若是",
    "若果 ",
    "若非",
    "莫不然",
    "莫如",
    "莫若",
    "虽",
    "虽则",
    "虽然",
    "虽说",
    "被",
    "要",
    "要不",
    "要不是",
    "要不然",
    "要么",
    "要是",
    "譬喻",
    "譬如",
    "让",
    "许多",
    "论",
    "设使",
    "设或",
    "设若",
    "诚如",
    "诚然",
    "该",
    "说来",
    "诸",
    "诸位",
    "诸如",
    "谁",
    "谁人",
    "谁料",
    "谁知",
    "贼死",
    "赖以",
    "赶",
    "起",
    "起见",
    "趁",
    "趁着",
    "越是",
    "距",
    "跟",
    "较",
    "较之",
    "边",
    "过",
    "还",
    "还是",
    "还有",
    "还要",
    "这",
    "这一来",
    "这个",
    "这么",
    "这么些",
    "这么样",
    "这么点儿",
    "这些",
    "这会儿",
    "这儿",
    "这就是说",
    "这时",
    "这样",
    "这次",
    "这般",
    "这边",
    "这里",
    "进而",
    "连",
    "连同",
    "逐步",
    "通过",
    "遵循",
    "遵照",
    "那",
    "那个",
    "那么",
    "那么些",
    "那么样",
    "那些",
    "那会儿",
    "那儿",
    "那时",
    "那样",
    "那般",
    "那边",
    "那里",
    "都",
    "鄙人",
    "鉴于",
    "针对",
    "阿",
    "除",
    "除了",
    "除外",
    "除开",
    "除此之外",
    "除非",
    "随",
    "随后",
    "随时",
    "随着",
    "难道说",
    "非但",
    "非徒",
    "非特",
    "非独",
    "靠",
    "顺",
    "顺着",
    "首先",
    "！",
    "，",
    "：",
    "；",
    "？",
];
<filename>crates/nh_maths/src/lib.rs
// Copyright (c) 2021 The Lutino Projects
//
// Use of this source code is governed by an MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.

#![deny(rust_2018_idioms)]
#![feature(const_fn_trait_bound)]

pub use mat4::*;
pub use vec2::*;
pub use vec3::*;
pub use {na, nalgebra};

pub mod util;
pub mod view_proj;

#[macro_use]
mod coordinates;
mod mat4;
mod vec2;
mod vec3;

pub use mat4::*;
pub use vec2::*;
pub use vec3::*;
use clap::{Arg, Command};
use std::error::Error;

#[derive(Clone, Default)]
pub struct Argument {
    pub config_file: String,
    pub show_ui: bool,
    pub version_info: String,
}

impl Argument {
    pub fn new() -> Self {
        Argument {
            ..Default::default()
        }
    }

    pub fn parse(&mut self) -> Result<(), Box<dyn Error>> {
        self.version_info =
            concat!(env!("CARGO_PKG_VERSION"), "-build-", env!("build")).to_string();

        let matc


\uff08\u5927\u5beb\uff09","yuan character":"\u4eba\u6c11\u5e63\u5143\u5b57\u6a23","yuan character, in hong kong and taiwan":"\u5143\u5b57\u6a23\uff08\u6e2f\u81fa\u5730\u5340\uff09","{0} characters":"{0} \u500b\u5b57\u5143","{0} columns, {1} rows":"","{0} words":"{0} \u5b57"});tinymce.addI18n("tr",{"#":"#","Accessibility":"Eri\u015filebilirlik","Accordion":"","Accordion body...":"","Accordion summary...":"","Action":"\u0130\u015flem","Activity":"Etkinlik","Address":"Adres","Advanced":"Geli\u015fmi\u015f","Align":"Hizala","Align center":"Ortala","Align left":"Sola hizala","Align right":"Sa\u011fa hizala","Alignment":"Hizalama","Alignment {0}":"","All":"T\xfcm\xfc","Alternative description":"Alternatif a\xe7\u0131klama","Alternative source":"Alternatif kaynak","Alternative source URL":"Alternatif kaynak URL","Anchor":"\xc7apa","Anchor...":"\xc7apa...","Anchors":"\xc7apalar","Animals and Nature":"Hayvanlar ve Do\u011fa","Arrows":"Oklar","B":"M","Background color":"Arkaplan rengi","Background color {0}":"Arka plan rengi {0}","Black":"Siyah","Block":"Blok","Block {0}":"","Blockquote":"Blockquote","Blocks":"Bloklar","Blue":"Mavi","Blue component":"Mavi par\xe7a","Body":"G\xf6vde","Bold":"Kal\u0131n","Border":"Kenar","Border color":"Kenarl\u0131k Rengi","Border style":"Kenar sitili","Border width":"Kenar geni\u015fli\u011fi","Bottom":"Alt","Browse files":"Dosyalara g\xf6z at","Browse for an image":"Bir resim aray\u0131n","Browse links":"","Bullet list":"S\u0131ras\u0131z liste","Cancel":"\u0130ptal","Caption":"Ba\u015fl\u0131k","Cell":"H\xfccre","Cell padding":"H\xfccre i\xe7 bo\u015flu\u011fu","Cell properties":"H\xfccre \xf6zellikleri","Cell spacing":"H\xfccre aral\u0131\u011f\u0131","Cell styles":"H\xfccre stilleri","Cell type":"H\xfccre tipi","Center":"Orta","Characters":"Karakter","Characters (no spaces)":"Karakter (bo\u015fluksuz)","Circle":"Daire","Class":"S\u0131n\u0131f","Clear formatting":"Bi\xe7imi temizle","Close":"Kapat","Code":"Kod","Code sample...":"Kod \xf6rne\u011fi...","Code view":"Kod g\xf6r\xfcn\xfcm\xfc","Color Picker":"Renk Se\xe7ici","Color swatch":"Renk \xf6rne\u011fi","Cols":"S\xfctunlar","Column":"S\xfctun","Column clipboard actions":"S\xfctun panosu eylemleri","Column group":"S\xfctun grubu","Column header":"S\xfct\xfcn ba\u015fl\u0131\u011f\u0131","Constrain proportions":"En - Boy oran\u0131n\u0131 koru","Copy":"Kopyala","Copy column":"S\xfctunu kopyala","Copy row":"Sat\u0131r\u0131 kopyala","Could not find the specified string.":"Belirtilen dizin bulunamad\u0131.","Could not load emojis":"Emojiler y\xfcklenemedi",


     public IgnoreScenarioAttribute(string reason)
        {
            Reason = reason;
        }

        /// <summary>
        /// Ignore reason.
        /// </summary>
        public string Reason { get; }

        /// <summary>
        /// Order in which extensions should be applied, where instances of lower values would be executed first.
        /// </summary>
        public int Order { get; set; }

        /// <summary>
        /// Stops execution of current scenario with ignored status.
        /// </summary>
        public Task ExecuteAsync(IScenario scenario, Func<Task> scenarioInvocation)
        {
            Assert.Inconclusive(Reason);
            return Task.CompletedTask;
        }

        /// <summary>
        /// Stops execution of current step and scenario with ignored status.
        /// </summary>
        public Task ExecuteAsync(IStep step, Func<Task> stepInvocation)
        {
            Assert.Inconclusive(Reason);
            return Task.CompletedTask;
        }
    }
}


from django.contrib.auth.models import Group
from django.test import TestCase

from hs_core import hydroshare

class TestUserFromId(TestCase):
    def setUp(self):
        self.hydroshare_author_group, _ = Group.objects.get_or_create(
            name="Hydroshare Author"
        )
        self.user = hydroshare.create_account(
            "jamy2@gmail.com",
            username="jamy2",
            first_name="Tian",
            last_name="Gan",
            superuser=False,
            groups=[],
        )

    def test_accept_user_instance(self):
        self.assertEqual(
            hydroshare.user_from_id(self.user),
            self.user,
            msg="user passthrough failed",
        )

    def test_accept_user_name(self):
        self.assertEqual(
            hydroshare.user_from_id(self.user.username),
            self.user,
            msg="lookup by user name failed",
        )

    def test_accept_user_email(self):
        self.assertEqual(
            hydroshare.user_from_id(self.user.email),
            self.user,
            msg="lookup by user email failed",
        )

    def test_accept_user_pk(self):
        self.assertEqual(
            hydroshare.user_from_id(self.user.pk),
            self.user,
            msg="lookup by user id failed",
        )


;
}
/* close tcp client ----------------------------------------------------------*/
static void closetcpcli(tcpcli_t *tcpcli)
{
    tracet(3,"closetcpcli: sock=%d\n",tcpcli->svr.sock);

    closesocket(tcpcli->svr.sock);
    free(tcpcli);
}
/* wait socket connect -------------------------------------------------------*/
static int waittcpcli(tcpcli_t *tcpcli, char *msg)
{
    tracet(4,"waittcpcli: sock=%d state=%d\n",tcpcli->svr.sock,tcpcli->svr.state);

    if (tcpcli->svr.state<0) return 0;

    if (tcpcli->svr.state==0) { /* close */
        if (!gentcp(&tcpcli->svr,1,msg)) return 0;
    }
    if (tcpcli->svr.state==1) { /* wait */
        if (!consock(tcpcli,msg)) return 0;
    }
    if (tcpcli->svr.state==2) { /* connect */
        if (tcpcli->toinact>0&&
            (int)(tickget()-tcpcli->svr.tact)>tcpcli->toinact) {
            sprintf(msg,"timeout");
            tracet(2,"waittcpcli: inactive timeout sock=%d\n",tcpcli->svr.sock);
            discontcp(&tcpcli->svr,tcpcli->tirecon);
            return 0;
        }
    }
    return 1;
}
/* read tcp client -----------------------------------------------------------*/
static int readtcpcli(tcpcli_t *tcpcli, uint8_t *buff, int n, char *msg)
{
    int nr,err;

    tracet(4,"readtcpcli: sock=%d\n",tcpcli->svr.sock);

    if (!waittcpcli(tcpcli,msg)) return 0;

    if ((nr=recv_nb(tcpcli->svr.sock,buff,n))==-1) {
        if ((err=errsock())) {
            tracet(2,"readtcpcli: recv error sock=%d err=%d\n",tcpcli->svr.sock,err);
            sprintf(msg,"recv error (%d)",err);
        }
        else {
            sprintf(msg,"disconnected");
        }
        discontcp(&tcpcli->svr,tcpcli->tirecon);
        return 0;
    }
    if (nr>0) tcpcli->svr.tact=tickget();
    tracet(5,"readtcpcli: exit sock=%d nr=%d\n",tcpcli->svr.sock,nr);
    return nr;
}
/* write tcp client ----------------------------------------------------------*/
static int writetcpcli(tcpcli_t *tcpcli, uint8_t *buff, int n, char *msg)
{
    int ns,err;

    tracet(3,"writetcpcli: sock=%d state=%d n=%d\n",tcpcli->svr.sock,tcpcli->svr.state,n);

    if (!waittcpcli(tcpcli,msg)) return 0;

    if ((ns=send_nb(tcpcli->svr.sock,buff,n))==-1) {
        if ((err=errsock())) {
            tracet(2,"writetcp: send error sock=%d err=%d\n",tcpcli->svr.sock,err);
            sprintf(msg,"send error (%d)",err);
        }
        discontcp(&tcpcli->svr,tcpcli->tirecon);
        return 0;
    }
    if (ns>0) tcpcli->svr.tact=tickget();
    tracet(5,"writetcpcli: exit sock=%d ns=%d\n",tcpcli->svr.sock,ns);
    return ns;
}
/* get state tcp client ------------------------------------------------------*/
static int statetcpcli(tcpcli_t *tcpcli)
{
    return tcpcli?tcpcli->svr.state:0;
}
/* get extended state tcp client ---------------------------------------------*/
static int statextcpcli(tcpcli_t *tcpcli, char *msg)
{
    return tcpcli?tcpcli->svr.state:0;
}
/* base64 encoder ------------------------------------------------------------*/
static int encbase64(char *str, const uint8_t *byte, int n)
{
    const char table[]=
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    int i,j,k,b;

    tracet(4,"encbase64: n=%d\n",n);

    for (i=j=0;i/8<n;) {
        for (k=b=0;k<6;k++,i++) {
            b<<=1; if (i/8<n) b|=(byte[i/8]>>(7-i%8))&0x1;
        }
        str[j++]=table[b];
    }
    while (j&0x3) str[j++]='=';
    str[j]='\0';
    tracet(5,"encbase64: str=%s\n",str);
    return j;
}
/* send ntrip server request -------------------------------------------------*/
static int reqntrip_s(ntrip_t *ntrip, char *msg)
{
    char buff[1024+NTRIP_MAXSTR],*p=buff;

    tracet(3,"reqntrip_s: state=%d\n",ntrip->state);

    p+=sprintf(p,"SOURCE %s %s\r\n",ntrip->passwd,ntrip->mntpnt);
    p+=sprintf(p,"Source-Agent: NTRIP %s\r\n",NTRIP_AGENT);
    p+=sprintf(p,"STR: %s\r\n",ntrip->str);
    p+=sprintf(p,"\r\n");

    if (writetcpcli(ntrip->tcp,(uint8_t *)buff,p-buff,msg)!=p-buff) return 0;

    tracet(3,"reqntrip_s: send request state=%d ns=%d\n",ntrip->state,p-buff);
    tracet(5,"reqntrip_s: n=%d buff=\n%s\n",p-buff,buff);
    ntrip->state=1;
    return 1;
}
/* send ntrip client request -------------------------------------------------*/
static int reqntrip_c(ntrip_t *ntrip, char *msg)
{
    char buff[MAXSTRPATH+1024],user[514],*p=buff;

    tracet(3,"reqntrip_c: state=%d\n",ntrip->state);

    p+=sprintf(p,"GET %s/%s HTTP/1.0\r\


의 주식 한 주를 적당한 시점에 사고 적당한 시점에 팔아서 얻을 수 있는 최대 이득을 출력한다.

# [Silver II] DFS와 BFS - 1260

[문제 링크](https://www.acmicpc.net/problem/1260)

### 성능 요약

메모리: 38464 KB, 시간: 560 ms

### 분류

그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색

### 제출 일자

2024년 5월 5일 17:44:02

### 문제 설명

그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다.

### 입력

첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다.

### 출력

첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다.

# [Silver V] 요세푸스 문제 0 - 11866

[문제 링크](https://www.acmicpc.net/problem/11866)

### 성능 요약

메모리: 34016 KB, 시간: 88 ms

### 분류

자료 구조, 구현, 큐

### 제출 일자

2024년 7월 26일 15:44:49

### 문제 설명

요세푸스 문제는 다음과 같다.

1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 <3, 6, 2, 7, 5, 1, 4>이다.

N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.

### 입력

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)

### 출력

예제와 같이 요세푸스 순열을 출력한다.

# FastAPI Template

## Running the Application
### Update database URL, API key and chromium paths
To run the application, first update `alembic.ini` with the correct database URL:

```ini
sqlalchemy


seY < bh*4 {
		adjustY := localMouseY / bh
		// sets current verticle index for selected character in left column.
		selectedIndex := adjustY * selectionBoxNumColumns

		// if selected character in left column should be in right column, add 1.
		if localMouseX > bw {
			selectedIndex++
		}

		// Make sure selection takes the scrollbar into account to make proper selection.
		if (v.charScrollbar.GetCurrentOffset()*indexPerLine)+selectedIndex < len(v.gameStates) {
			selectedIndex = (v.charScrollbar.GetCurrentOffset() * indexPerLine) + selectedIndex
		}

		// if the selection box didn't move, check if it was a double click, otherwise set selectedCharacter to
		// selectedIndex and move selection box over both.
		if v.selectedCharacter == selectedIndex {
			// We clicked twice within character selection box within  v.doubleClickTime seconds.
			if (v.tickTimer - v.storedTickTimer) < doubleClickTime {
				v.onOkButtonClicked()
			}
		} else if selectedIndex < len(v.gameStates) {
			v.selectedCharacter = selectedIndex
			v.moveSelectionBox()
		}
		// Keep track of when we last clicked so we can determine if we double clicked a character.
		v.storedTickTimer = v.tickTimer
	}

	return true
}

// Advance runs the update logic on the Character Select screen
func (v *CharacterSelect) Advance(tickTime float64) error {
	for _, hero := range v.characterImage {
		if hero != nil {
			v.tickTimer += tickTime
			hero.Advance(tickTime)
		}
	}

	return nil
}

func (v *CharacterSelect) onDeleteCharButtonClicked() {
	v.toggleDeleteCharacterDialog(true)
}

func (v *CharacterSelect) onDeleteCharacterConfirmClicked() {
	err := os.Remove(v.gameStates[v.selectedCharacter].FilePath)
	if err != nil {
		v.Error(err.Error())
	}

	v.charScrollbar.SetCurrentOffset(0)
	v.refreshGameStates()
	v.toggleDeleteCharacterDialog(false)
	v.deleteCharButton.SetEnabled(len(v.gameStates) > 0)
	v.okButton.SetEnabled(len(v.gameStates) > 0)
}

func (v *CharacterSelect) onDeleteCharacterCancelClicked() {
	v.toggleDeleteCharacterDialog(false)
}

func (v *CharacterSelect) toggleDeleteCharacterDialog(showDialog bool) {
	v.showDeleteConfirmation = showDialog
	v.okButton.SetEnabled(!showDialog)
	v.deleteCharButton.SetEnabled(!showDialog)
	v.exitButton.SetEnabled(!showDialog)
	v.newCharButton.SetEnabled(!showDialog)
	v.deleteCharOkButton.SetVisible(showDialog)
	v.deleteCharCancelButton.SetVisible(showDialog)
}

func (v *CharacterSelect) refreshGameStates() {
	gameStates, err := v.HeroStateFactory.GetAllHeroStates()
	if err == nil {
		v.gameStates = gameStates
	}

	v.updateCharacterBoxes()

	if len(v.gameStates) > 0 {
		v.selectedCharacter = 0
		numStates := selectionBoxNumColumns * selectionBoxNumRows
		byHalf := 2.0

		v.d2HeroTitle.SetText(v.gameStates[0].HeroName)
		v.charScrollbar.SetMaxOffset(int(math.Ceil(float64(len(v.gameStates)-numStates) / byHalf)))
	} else {
		v.selectedCharacter = -1
		v.charScrollbar.SetMaxOffset(0)
	}

	v.moveSelectionBox()
}

func (v *CharacterSelect) onOkButtonClicked() {
	v.navigator.To


transit__Q24Game17EnemyStateMachineFPQ24Game9EnemyBaseiPQ24Game8StateArg
	.4byte doDirectDraw__Q24Game17EnemyStateMachineFPQ24Game9EnemyBaseR8Graphics
	.4byte getCurrState__Q24Game17EnemyStateMachineFPQ24Game9EnemyBase
	.4byte setCurrState__Q24Game17EnemyStateMachineFPQ24Game9EnemyBasePQ24Game13EnemyFSMState
.endobj __vt__Q34Game4Frog3FSM

.section .sdata2, "a"     # 0x80516360 - 0x80520E40
.balign 8
.obj lbl_8051AA28, local
	.asciz "dead"
.endobj lbl_8051AA28
.balign 4
.obj lbl_8051AA30, local
	.asciz "wait"
.endobj lbl_8051AA30
.balign 4
.obj lbl_8051AA38, local
	.asciz "turn"
.endobj lbl_8051AA38
.balign 4
.obj lbl_8051AA40, local
	.asciz "jump"
.endobj lbl_8051AA40
.balign 4
.obj lbl_8051AA48, local
	.asciz "fall"
.endobj lbl_8051AA48
.balign 4
.obj lbl_8051AA50, local
	.asciz "attack"
.endobj lbl_8051AA50
.balign 4
.obj lbl_8051AA58, local
	.asciz "fail"
.endobj lbl_8051AA58
.balign 4
.obj lbl_8051AA60, local
	.asciz "gohome"
.endobj lbl_8051AA60
.balign 4
.obj lbl_8051AA68, local
	.float 0.0
.endobj lbl_8051AA68
.obj lbl_8051AA6C, local
	.float 0.62
.endobj lbl_8051AA6C
.obj lbl_8051AA70, local
	.float 1.0
.endobj lbl_8051AA70
.obj lbl_8051AA74, local
	.float 32768.0
.endobj lbl_8051AA74
.obj lbl_8051AA78, local
	.float 0.2
.endobj lbl_8051AA78
.balign 8
.obj lbl_8051AA80, local
	.8byte 0x4330000080000000
.endobj lbl_8051AA80
.obj lbl_8051AA88, local # pi
	.float 3.1415927
.endobj lbl_8051AA88
.obj lbl_8051AA8C, local
	.float 0.0055555557
.endobj lbl_8051AA8C
.obj lbl_8051AA90, local
	.float 0.17453294
.endobj lbl_8051AA90
.obj lbl_8051AA94, local
	.float -1000.0
.endobj lbl_8051AA94
.obj lbl_8051AA98, local
	.float 7.5
.endobj lbl_8051AA98
.obj lbl_8051AA9C, local
	.float 0.5
.endobj lbl_8051AA9C

.section .text, "ax"  # 0x800056C0 - 0x80472F00
.fn init__Q34Game4Frog3FSMFPQ24Game9EnemyBase, global
/* 802563C4 00253304  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802563C8 00253308  7C 08 02 A6 */	mflr r0
/* 802563CC 0025330C  38 80 00 0A */	li r4, 0xa
/* 802563D0 00253310  90 01 00 14 */	stw r0, 0x14(r1)
/* 802563D4 00253314  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802563D8 00253318  7C 7F 1B 78 */	mr r31, r3
/* 802563DC 0025331C  4B ED A4 89 */	bl create__Q24Game17En


from warnings import warn

from numpy import arange, ones, ndarray
from scipy.sparse import issparse, sparray, csr_array, SparseEfficiencyWarning
from scipy.sparse.linalg import spbandwidth, is_sptriangular, splu, SuperLU

from .matmul import _matmul_csr
from .spsolve_triangular import spsolve_triangular
from .spsolve_pardiso import solve

from ._spsolve import is_built_with_mkl # type: ignore

def spsolve(A: sparray, b: ndarray, overwrite_b: bool=False, permc_spec: str="COLAMD", **kwargs) -> ndarray:

    if is_built_with_mkl():
        return solve(A, b, **kwargs)

    warn("experimental spsolve, for general usage try pypardiso", SparseEfficiencyWarning, stacklevel=2)

    # sanity check
    # non-square matrix can utilize QR solver, but I didn't find a sparse QR decomposition available,
    # let it throw exception currently...
    assert(issparse(A))
    A_shape = A.shape # type: ignore
    assert(A_shape[0] == A_shape[1])
    assert(A_shape[0] == b.shape[0])

    # lo_bandwidth, hi_bandwidth = spbandwidth(A)

    # if lo_bandwidth == hi_bandwidth == 0:
    #     # diagonal solver
    #     warn("diagonal solver is not implemented, use triangular solver instead", stacklevel=2)
    #     return spsolve_triangular(A, b, overwrite_b=overwrite_b, lower=True)

    # if lo_bandwidth == 0 or hi_bandwidth == 0:
    #     return spsolve_triangular(A, b, overwrite_b=overwrite_b, lower=(hi_bandwidth==0))

    is_lower_triangular, is_upper_triangular = is_sptriangular(A)
    if is_lower_triangular or is_upper_triangular:
        return spsolve_triangular(A, b, lower=bool(is_lower_triangular), overwrite_b=overwrite_b)

    # if is permuted triangular

    # if symmetric or hermitian: chol? LDL?

    # LU solver
    # t_start = time.perf_counter()
    lu: SuperLU = splu(A, permc_spec=permc_spec)
    # t_elapsed = time.perf_counter() - t_start
    # print(f"LU decomposition finished in {1000*t_elapsed:.2f} ms")

    L = csr_array(lu.L)
    U = csr_array(lu.U)

    Pr = csr_array((ones(A_shape[0]), (lu.perm_r, arange(A_shape[0]))))
    Pc = csr_array((ones(A_shape[0]), (arange(A_shape[0]), lu.perm_c)))

    # solve Ax=b via x = Pc @ ( U \ ( L \ (Pr@b) ) )
    ans = Pr @ b
    spsolve_triangular(L, ans, lower=True, overwrite_b=True, unit_diagonal=True) # LU decomposition should give unit_diagonal L?
    spsolve_triangular(U, ans, lower=False, overwrite_b=True)

    if overwrite_b:
        _matmul_csr(Pc, ans, b) # write Pc @ ans into b
        ans = b
    else:
        ans = Pc @ ans

    return ans

if __name__ == "__main__":
    pass


�一人之福。

比丘当知。计四天下人民之福。故不如四天王之德。计四天下人民之福及四天王。故不如三十三天之福。计四天下及四天王．三十三天。故不如释提桓因一人之福。计四天下及四天王及三十三天及释提桓因。故不如一艳天之福。计四天下及四天王．三十三天．释提桓因及艳天。故不如一兜术天福。计从四天下至兜术天之福。故不如一化自在天之福。计从四天下至化自在天之福。故不如一他化自在天之福。计从四天下至他化自在天之福。故不如一梵天王之福。

比丘当知。此是梵天之福。若有善男子．善女人。求其福者。此是其量也。是故。比丘。欲求梵天福者。当求方便。成其功德。如是。比丘。当作是学。

尔时。诸比丘闻佛所说。欢喜奉行。

#### （四）

闻如是。

一时。佛在舍卫国祇树给孤独园。

尔时。世尊告诸比丘。众生之类有四种食。长养众生。何等为四。所谓抟食或大．或小。更乐食．念食．识食。是谓四食。

彼云何名为抟食。彼抟食者。如今人中所食。诸入口之物可食啖者。是谓名为抟食。

云何名更乐食。所谓更乐食者。衣裳．伞盖．杂香华．熏火及香油。与妇人集聚。诸余身体所更乐者。是谓名为更乐之食。

彼云何名为念食。诸意中所念想．所思惟者。或以口说。或以体触。及诸所持之法。是谓名为念食。

彼云何为识食。所念识者。意之所知。梵天为首。乃至有想无想天。以识为食。是谓名为识食。

是谓。比丘。有此四食。众生之类以此四食。流转生死。从今世至后世。是故。诸比丘。当共舍离此四食。如是。诸比丘。当作是学。

尔时。诸比丘闻佛所说。欢喜奉行。

#### （五）

闻如是。

一时。佛在舍卫国祇树给孤独园。

尔时。世尊告诸比丘。有四辩。云何为四。所谓义辩．法辩．辞辩．应辩。

彼云何名为义辩。所谓义辩者。彼彼之所说。若天．龙．鬼神之所说。皆能分别其义。是谓名为义辩也。

彼云何名为


.section	__TEXT,__cstring,cstring_literals
	.globl	L_OBJC_CLASS_NAME_1f36dafa1e0a7b34
L_OBJC_CLASS_NAME_1f36dafa1e0a7b34:
	.ascii	"NSObject"

	.globl	L_OBJC_CLASS_NAME_1f36dafa1e0a7b34_MODULE_INFO
L_OBJC_CLASS_NAME_1f36dafa1e0a7b34_MODULE_INFO:
	.space	1

	.globl	L_OBJC_CLASS_NAME_5a6ce274a9f949e1
L_OBJC_CLASS_NAME_5a6ce274a9f949e1:
	.ascii	"NSString"

	.globl	L_OBJC_CLASS_NAME_5a6ce274a9f949e1_MODULE_INFO
L_OBJC_CLASS_NAME_5a6ce274a9f949e1_MODULE_INFO:
	.space	1

	.globl	L_OBJC_CLASS_NAME_9f503c7582f87b48
L_OBJC_CLASS_NAME_9f503c7582f87b48:
	.ascii	"NSData"

	.globl	L_OBJC_CLASS_NAME_9f503c7582f87b48_MODULE_INFO
L_OBJC_CLASS_NAME_9f503c7582f87b48_MODULE_INFO:
	.space	1

	.globl	L_OBJC_CLASS_NAME_a92f01d3b55d29c5
L_OBJC_CLASS_NAME_a92f01d3b55d29c5:
	.ascii	"NSException"

	.globl	L_OBJC_CLASS_NAME_a92f01d3b55d29c5_MODULE_INFO
L_OBJC_CLASS_NAME_a92f01d3b55d29c5_MODULE_INFO:
	.space	1

	.globl	L_OBJC_CLASS_NAME_d4ef9efb3ee49ab7
L_OBJC_CLASS_NAME_d4ef9efb3ee49ab7:
	.ascii	"NSLock"

	.globl	L_OBJC_CLASS_NAME_d4ef9efb3ee49ab7_MODULE_INFO
L_OBJC_CLASS_NAME_d4ef9efb3ee49ab7_MODULE_INFO:
	.space	1

	.globl	L_OBJC_CLASS_NAME_e1a6d3426ab3be5a
L_OBJC_CLASS_NAME_e1a6d3426ab3be5a:
	.ascii	"NSObject"

	.globl	L_OBJC_CLASS_NAME_e1a6d3426ab3be5a_MODULE_INFO
L_OBJC_CLASS_NAME_e1a6d3426ab3be5a_MODULE_INFO:
	.space	1

	.section	__OBJC,__cls_refs,literal_pointers
	.globl	L_OBJC_CLASS_REFERENCES_1f36dafa1e0a7b34
	.p2align	2, 0x0
L_OBJC_CLASS_REFERENCES_1f36dafa1e0a7b34:
	.long	L_OBJC_CLASS_NAME_1f36dafa1e0a7b34

	.globl	L_OBJC_CLASS_REFERENCES_5a6ce274a9f949e1
	.p2align	2, 0x0
L_OBJC_CLASS_REFERENCES_5a6ce274a9f949e1:
	.long	L_OBJC_CLASS_NAME_5a6ce274a9f949e1

	.globl	L_OBJC_CLASS_REFERENCES_9f503c7582f87b48
	.p2align	2, 0x0
L_OBJC_CLASS_REFERENCES_9f503c75


ower_policy_state_t.hpp"

namespace nt { struct device_object_t; }
namespace nt { struct kthread_t;       }

#include "magic/power_routine_timed_out_data_v1_0_t.start.hpp"
namespace wdf
{
    struct wdfdevice_t;

    // [struct _WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_0]
    // => Windows 10 v1607
    //
    struct power_routine_timed_out_data_v1_0_t
    {
        // Windows 10 v1607
        //
        _m00 enum wdf::device_power_state_t        power_state;         //{ +0x0000    } | .PowerState
        _m01 enum wdf::device_power_policy_state_t power_policy_state;  //{ +0x0004    } | .PowerPolicyState
        _m02 struct nt::device_object_t*           device_object;       //{ +0x0008    } | .DeviceObject
        _m03 struct wdf::wdfdevice_t*              device;              //{ +0x0010    } | .Device
        _m04 struct nt::kthread_t*                 timed_out_thread;    //{ +0x0018    } | .TimedOutThread

        SDK_MAGIC_PROPERTIES( "_WDF_POWER_ROUTINE_TIMED_OUT_DATA_V1_0.$", 0x0, false, 0x34c058bc3b23d1f1 );
        SDK_FIXED_SIZE( power_routine_timed_out_data_v1_0_t, 0x20 );
    };
};
#include "magic/power_routine_timed_out_data_v1_0_t.end.hpp"
SDK_VERIFY( struct wdf::power_routine_timed_out_data_v1_0_t, 0x20 );
#pragma once
#include <sdkgen/support_library.hpp>

namespace nt { struct irp_t; }

#include "magic/request_reuse_params_v1_0_t.start.hpp"
namespace wdf
{
    // [struct _WDF_REQUEST_REUSE_PARAMS_V1_0]
    // => Windows 10 v1607
    //
    struct request_reuse_params_v1_0_t
    {
        // Windows 10 v1607
        //
        _m00 uint32_t          size;     //{ +0x0000    } | .Size
        _m01 uint32_t          flags;    //{ +0x0004    } | .Flags
        _m02 int32_t           status;   //{ +0x0008    } | .Status
        _m03 struct nt::irp_t* new_irp;  //{ +0x0010    } | .NewIrp

        SDK_MAGIC_PROPERTIES( "_WDF_REQUEST_REUSE_PARAMS_V1_0.$", 0x0, false, 0x361994e892777e6a );
        SDK_FIXED_SIZE( request_reuse_params_v1_0_t, 0x18 );
    };
};
#include "magic/request_reuse_params_v1_0_t.end.hpp"
SDK_VERIFY( struct wdf::request_reuse_params_v1_0_t, 0x18 );
#pragma once
#include <sdkgen/support_library.hpp>

namespace wdf
{
    // [enum _WDF_DMA_PROFILE]
    //  WDK 10, Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    //
    enum class dma_profile_t : int32_t
    {
        invalid =                 0x0,     // WDK 10, Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
        packet =                  0x1,     // WDK 10, Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
        scatter_gather =          0x2,     // WDK 10, Windows 10 v1607, Windows 10 v2004, Windows 11, Windows


			<hgroup>

Guestbook

Leave your greetings

			</hgroup>

			<s_guest_input_form>
			<fieldset>
			<s_guest_member>
				<s_guest_form>
				<input type="text" id="[##_guest_input_name_##]" name="[##_guest_input_name_##]" value="[##_guest_name_##]" maxlength="20" required="required" />
				Your Name (required)

				<input type="password" id="[##_guest_input_password_##]" name="[##_guest_input_password_##]" value="[##_guest_password_##]" required="required" />
				Password (required)

				<input type="url" id="[##_guest_input_homepage_##]" name="[##_guest_input_homepage_##]" value="[##_guest_homepage_##]" />
				Your Website Address
				</s_guest_form>
				<input type="checkbox" id="[##_guest_input_is_secret_##]" name="[##_guest_input_is_secret_##]" class="checkbox" value="1" />
				Leave as secret
			</s_guest_member>
				<textarea name="[##_guest_textarea_body_##]" rows="10" cols="50" required="required"></textarea>

				<button type="submit" class="submit button" value="Submit" onclick="[##_guest_onclick_submit_##]">Submit</button>
			</fieldset>
			</s_guest_input_form>

	<s_guest_container>

			<s_guest_rep>

					[##_guest_rep_name_##]

<time>[##_guest_rep_date_##]</time>

<command onclick="[##_guest_rep_onclick_delete_##]" label="Modify/Delete">M/D</command>

<command onclick="[##_guest_rep_onclick_reply_##]" label="Reply">Reply</command>

Permalink

[##_guest_rep_desc_##]

				<s_guest_reply_container>
				<s_guest_reply_rep>

						[##_guest_rep_name_##]

<time>[##_guest_rep_date_##]</time>

<command onclick="[##_guest_rep_onclick_delete_##]" label="Modify/Delete" >M/D</ab


from ecdsa import SigningKey, SECP256k1

alice_private_key = SigningKey.from_secret_exponent(1, curve=SECP256k1)
alice_public_key = alice_private_key.get_verifying_key()

bob_private_key = SigningKey.from_secret_exponent(2, curve=SECP256k1)
bob_public_key = bob_private_key.get_verifying_key()

def user_private_key(name):
    name_to_key = {
        "alice": alice_private_key,
        "bob": bob_private_key,
    }
    return name_to_key[name]

def user_public_key(name):
    private_key = user_private_key(name)
    return private_key.get_verifying_key()

def bank_private_key(id):
    assert isinstance(id, int)
    assert id >= 0
    base = 1000  # So bank keys don't collide with user keys ...
    return SigningKey.from_secret_exponent(base + id, curve=SECP256k1)

def bank_public_key(id):
    """Returns public key of a block producer given their ID"""
    private_key = bank_private_key(id)
    return private_key.get_verifying_key()

def airdrop_tx():
    import uuid
    from blockcoin import TxOut, Tx
    id = "1"
    tx = Tx(
        id=id,
        tx_ins=[],
        tx_outs=[
            TxOut(tx_id=id, index=0, amount=500_000, public_key=bob_public_key),
            TxOut(tx_id=id, index=1, amount=500_000, public_key=alice_public_key),
        ],
    )
    return tx


com
	moveq #0x00,D0
	bsr sd_com
	moveq #0x00,D0
	bsr sd_com
	move.b #0x95,D0
	bsr sd_com
	move.l _dskbufp,A0
	bsr sd_rcv_info
	addq.l #1,A0 // name
	moveq #7,D0
	lea name_sd_card,A1
.sd_name_loop:
		move.b (A0)+,(A1)+
	subq.l #1,D0
	bgt.s .sd_name_loop
	clr.b (A1)
.read_csd:
	move.b #0xFF,D0           // clocks
	bsr sd_com
	move.b #0x49,D0           // cmd 9, SEND_CSD
	bsr sd_com
	moveq #0x00,D0
	bsr sd_com
	moveq #0x00,D0
	bsr sd_com
	moveq #0x00,D0
	bsr sd_com
	moveq #0x00,D0
	bsr sd_com
	moveq #0x01,D0
	bsr sd_com
	move.l _dskbufp,A0
	bsr sd_rcv_info
	moveq #0,D0
	move.b (A0),D0
	lsr.l #6,D0
	bne.s .sd_csd2            // format v2
	move.l 6(A0),D1
	moveq #14,D0	             // bit 73..62 c_size
	lsr.l D0,D1
	and.l #0xFFF,D1           // 12 bits
	addq.l #1,D1
	move.b 9(A0),D0
	lsr.l #7,D0               // bits 49..47
	and.l #7,D0               // 3 bits
	moveq.l #8,D2             // x256 (dif v1 v2)
	sub.l D0,D2
	lsr.l D2,D1
	bra.s .sd_return_size
.sd_not:
	moveq #-2,D0
	bra.s .sd_init_end
.sd_error:
	moveq #-1,D0
	bra.s .sd_init_end
.sd_csd2:
	moveq #0,D1
	move.w 8(A0),D1
	addq.l #1,D1
.sd_return_size:
	swap D1
	move.l D1,D0
	lsr.l #6,D0               // x 65636 / 64 -> total sectors
.sd_init_end:
	movem.l (SP),D1-D3/A0-A1
	lea 20(SP),SP
	rts

sd_card_sector_read: // D0.L:sec_nr, A0:buf_addr

	lea -12(SP),SP
	movem.l D1-D2/A0,(SP)
	asl.l #8,D0
	add.l D0,D0               // x 512 !
	move.l D0,D1	             // bytes
	move.l D0,D2
	swap D1
	move.b #0xFF,D0           // clocks
	bsr sd_com
	moveq #0x51,D0            // cmd 17, READ_SINGLE_BLOCK
	bsr sd_com
	move.l D1,D0
	lsr.l #8,D0
	bsr sd_com
	move.b D1,D0
	bsr sd_com
	move.l D2,D0              // bytes
	lsr.l #8,D0
	bsr sd_com
	move.b D2,D0
	bsr sd_com
	moveq #0x01,D0


using System;
using System.CodeDom;
using System.Reflection;
using System.Collections;
using System.Windows.Forms;

namespace Browser {
	public class CodeDomTreeView {
		private TreeView tv;
		private Model model;
		private Hashtable o2n = new Hashtable();
		private CodeCompileUnit cu;

		public CodeDomTreeView(Model model, TreeView tv) {
			this.model = model;
			this.tv = tv;
			model.ObjectChangedHandler += new ObjectChangedEventHandler(this.ObjectChanged);
			tv.MouseUp += new MouseEventHandler(this.UserAfterSelect);
		}

		public static Control NewBrowser(Model model) {
			TabControl tab = new TabControl();
			tab.Alignment = TabAlignment.Bottom;
			new SourceTabView(model, tab, new NewControl(CodeDomTreeView.NewControl));
			return tab;
		}

		public static Control NewControl(Model model, object o) {
			IHasCoordinate ihc = (IHasCoordinate) o;
			TreeView tv = new TreeView();
			tv.HideSelection = false;
			CodeDomTreeView cdtv = new CodeDomTreeView(model, tv);
			if (ihc is AST) {
				cdtv.init((AST) ihc);
			}
			tv.MouseUp += new MouseEventHandler(cdtv.UserAfterSelect);
			cdtv.ObjectChanged();
			return tv;
		}

		public void UserAfterSelect(object o, MouseEventArgs argv) {
			UserAfterSelect();
		}

		public void UserAfterSelect() {
			object o = tv.SelectedNode.Tag;
			model.ChangeObject(o);
		}

		public void ObjectChanged() {
			object o = model.CurrentObject;
			if (o != null) {
				TreeNode tn = (TreeNode) o2n[o];
				if (tn != null) {
					tv.SelectedNode = tn;
				}
			} else {
			}
		}

		private void


">\n\t\t\t\t\t\t\t\n\t\t\t\t\t<\/i>\t\t\t\t<\/span>\n\t\t\t\t\t\t\n\t\t\t\tMac\t\t\t<\/span>\n\t\t<\/span>\n\t<\/a>\n\n\t\n<\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c7f74d elementor-widget__width-initial flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-thegem-styledbutton\" data-id=\"0c7f74d\" data-element_type=\"widget\" data-settings=\"{"stretch_full_width":"yes","thegem_button_skin":"flat","add_icon":"yes"}\" data-widget_type=\"thegem-styledbutton.default\">\n\t\t\t\t
\n\t\t\t\n
\n\n\t\t\n\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"#000000\" width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\"><title>Snapcraft icon<\/title><path d=\"M13.804 13.367V5.69l5.292 2.362-5.292 5.315zM3.701 23.514l6.49-12.22 2.847 2.843L3.7 23.514zM0 .486l13.355 4.848v8.484L0 .486zM21.803 5.334H14.11L24 9.748z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t\t\t\t\n\t\t\t\tSnap\t\t\t<\/span>\n\t\t<\/span>\n\t<\/a>\n\n\t\n<\


n" +
			"\n";
		boolean start_line[] = {
			true,  // comment
			true,  // ifndef
			false, // INCLUDED_
			true,  // define
			false, // INCLUDED_
			true,  // blank line
			true,  // class
			false, // my_component1
			false, // extends
			false, // ovm_component
			false, // ;
		};
		boolean end_line[] = {
			true,  // comment
			false, // ifndef
			true,  // INCLUDED_
			false, // define
			true,  // INCLUDED_
			true,  // blank line
			false, // class
			false, // my_component1
			false, // extends
			false, // ovm_component
			true,  // ;
		};
		LogHandle log = LogFactory.getLogHandle("testIsStartLine");
		SVIndentScanner scanner = new SVIndentScanner(
				new StringTextScanner(new StringBuilder(content)));

		for (int i=0; i<start_line.length; i++) {
			SVIndentToken tok = scanner.next();
			log.debug("tok: isStartLine=" + tok.isStartLine() + " isEndLine=" +
					tok.isEndLine() + " value=" + tok.getImage());

			assertEquals("Expected token " + tok.getImage() + " to start line",
					start_line[i], tok.isStartLine());
			assertEquals("Expected token " + tok.getImage() + " to end line",
					end_line[i], tok.isEndLine());
		}
		LogFactory.removeLogHandle(log);
	}

	public void testLeadingWhitespace() {
		String content =
			"/****************************************************************************\n" +		// 1
			" * my_component1.svh\n" +																// 2
			" ****************************************************************************/\n" +	// 3
			"`ifndef INCLUDED_my_component1_svh\n" +												// 4
			"`define INCLUDED_my_component1_svh\n" +												// 5
			"\n" +																					// 6
			"	class my_component1 extends ovm_component;\n" +										// 7
			"		\n" +																			// 8
			"function void foobar();\n" +															// 9
			"a = 5;\n" +
			"	endfunction\n" +
			"\n";
		LogHandle log = LogFactory.getLogHandle("testLeadingWhitespace");
		SVIndentScanner scanner = new SVIndentScanner(
				new StringTextScanner(new StringBuilder(content)));

		SVIndentToken tok;

		while ((tok = scanner.next()) != null) {
			if (tok.getImage().equals("class")) {
				log.debug("Leading whitespace: \"" + tok.getLeadingWS() + "\"");
			}
		}
		LogFactory.removeLogHandle(log);
	}

	public void testMultiEmptyLines() {
		String content =
			"/****************************************************************************\n" +		// 1
			" * my_component1.svh\n" +																// 2
			" ****************************************************************************/\n" +	// 3
			"`ifndef INCLUDED_my_component1_svh\n" +												// 4
			"`define INCLUDED_my_component1_svh\n" +												// 5
			"	\n" +																					// 6
			"			\n" +																					// 7
			"	class my_component1 extends ovm_component;\n" +										// 8
			"		\n" +																			// 9
			"function void foobar();\n" +															// 10
			"a = 5;\n" +
			"	endfunction\n" +
			"\n";

		SVIndentScanner scanner = new SVIndentScanner(new StringTextScanner(content));

		SVIndentToken tok;

		while ((tok = scanner.next()) != null && !tok.getImage().equals("`define")) { }
		tok


x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x1f,0x01,0x00]

v_rcp_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x21,0x01,0x00]

v_rcp_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x2f,0x01,0x00]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x10]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x30]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x01]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x03]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f]

v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x08,0x00]

v_rcp_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x10,0x00]

v_rcp_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// C


 y)
   {
      textStroke();
      svgGraphics2D.drawString(text, metersToMMX(x), metersToMMY(y));
   }

   private void textStroke()
   {
      svgGraphics2D.setColor(Color.BLACK);
      svgGraphics2D.setStroke(new BasicStroke(5));
      svgGraphics2D.setFont(new Font("Arial", Font.PLAIN, 20));
   }

   private void icpStroke()
   {
      svgGraphics2D.setColor(Color.BLUE);
      svgGraphics2D.setStroke(new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, new float[] {10.0f}, 0.0f));
   }

   private void comStroke()
   {
      svgGraphics2D.setColor(Color.BLACK);
      svgGraphics2D.setStroke(new BasicStroke(2.5f));
   }

   private void drawLine(Point2D[] line)
   {
      svgGraphics2D.drawLine(metersToMMX(line[0].getX()),
                             metersToMMY(line[0].getY()),
                             metersToMMX(line[1].getX()),
                             metersToMMY(line[1].getY()));
   }

   private void plot(List<Point2D> points, String name)
   {
      if (!points.isEmpty())
      {
         int[] xs = new int[points.size()];
         int[] ys = new int[points.size()];
         for (int i = 0; i < points.size(); i++)
         {
            xs[i] = metersToMMX(points.get(i).getX());
            ys[i] = metersToMMY(points.get(i).getY());
         }
         svgGraphics2D.setRenderingHint(SVGHints.KEY_BEGIN_GROUP, name);
         svgGraphics2D.drawPolyline(xs, ys, xs.length);
         svgGraphics2D.setRenderingHint(SVGHints.KEY_END_GROUP, name);
      }
   }

   private int metersToMMX(double x)
   {
      double fromStart = x - locomotionData.getRobotStartLocation().getX();
      int halfDocumentMM = (int) convertToMillimeters(DOCUMENT_SIZE / 2.0);
      int mmFromStart = (int) convertToMillimeters(fromStart);
      return mmFromStart + halfDocumentMM;
   }

   private int metersToMMY(double y)
   {
      double fromStart = y - locomotionData.getRobotStartLocation().getY();
      int halfDocumentMM = (int) convertToMillimeters(DOCUMENT_SIZE / 2.0);
      int mmFromStart = (int) -convertToMillimeters(fromStart);
      return mmFromStart + halfDocumentMM;
   }

   private long convertToMillimeters(double meters)
   {
      return (long) (meters * 1000.0);
   }
}
package us.ihmc.avatar.posePlayback;

import us.ihmc.simulationconstructionset.SimulationConstructionSetParameters;
import us.ihmc.yoVariables.registry.YoRegistry;
import us.ihmc.simulationconstructionset.SimulationConstructionSet;
import us.ihmc.commons.thread.ThreadTools;
import us.ihmc.simulationConstructionSetTools.util.HumanoidFloatingRootJointRobot;

public class PoseInterpolatorPlaybacker
{
   public static void playASequence(HumanoidFloatingRootJointRobot sdfRobot, PlaybackPoseSequence sequence, boolean showGui, PoseCheckerCallback poseCheckerCallback)
   {
      YoRegistry registry = new YoRegistry("PoseInterpolatorPlaybacker");
      PlaybackPoseInterpolator interpolator = new PlaybackPoseInterpolator(registry);

      double simulateDT = 0.005;

      SimulationConstructionSetParameters parameters = SimulationConstructionSetParameters.createFromSystemProperties();
      SimulationConstructionSet scs = new SimulationConstructionSet(sdfRobot, parameters);
      if (showGui)
      {
         int recordFrequency = 1;


ADEOUT_TYPE_NONE,
        SUBCHALLENGE_FADEOUT_TYPE_SUCCESS,
        SUBCHALLENGE_FADEOUT_TYPE_FAIL,
        SUBCHALLENGE_FADEOUT_TYPE_FINISH
    }

    public enum SubChallengeBannerType {
        SUBCHALLENGE_BANNER_TYPE_NONE,
        SUBCHALLENGE_BANNER_TYPE_SUCCESS,
        SUBCHALLENGE_BANNER_TYPE_FAIL,
        SUBCHALLENGE_BANNER_TYPE_HIDE_FINAL,
        SUBCHALLENGE_BANNER_TYPE_SHOW_FINAL
    }

    public enum SubChallengeSortType {
        SUB_CHALLENGE_SORT_TYPE_DEFAULT,
        SUB_CHALLENGE_SORT_TYPE_CHALLENGEINDEX
    }

    public enum AllowAnimationType {
        SUB_CHALLENGE_ANIM_TYPE_DEFAULT,
        SUB_CHALLENGE_ANIM_TYPE_FORBID,
        SUB_CHALLENGE_ANIM_TYPE_SUCCESS,
        SUB_CHALLENGE_ANIM_TYPE_FAIL
    }
}
package emu.grasscutter.data.excels.codex;

import emu.grasscutter.data.*;
import it.unimi.dsi.fastutil.ints.*;
import lombok.Getter;

@ResourceType(name = {"ReliquaryCodexExcelConfigData.json"})
public class CodexReliquaryData extends GameResource {
    @Getter private int Id;
    @Getter private int suitId;
    @Getter private int level;
    @Getter private int cupId;
    @Getter private int leatherId;
    @Getter private int capId;
    @Getter private int flowerId;
    @Getter private int sandId;
    @Getter private int sortOrder;
    private transient IntCollection ids;

    public boolean containsId(int id) {
        return getIds().contains(id);
    }

    public IntCollection getIds() {
        if (this.ids == null) {
            int[] idsArr = {cupId, leatherId, capId, flowerId, sandId};
            this.ids = IntList.of(idsArr);
        }
        return this.ids;
    }

    @Override
    public void onLoad() {
        // Normalize all itemIds to the 0-substat form
        cupId = (cupId / 10) * 10;
        leatherId = (leatherId / 10) * 10;
        capId = (capId / 10) * 10;
        flowerId = (flowerId / 10) * 10;
        sandId = (sandId / 10) * 10;

        GameData.getCodexReliquaryArrayList().add(this);
        GameData.getCodexReliquaryDataIdMap().put(getSuitId(), this);
    }
}
package emu.grasscutter.data.excels.giving;

import com.google.gson.annotations.SerializedName;
import emu.grasscutter.data.*;
import emu.grasscutter.data.common.ItemParamData;
import emu.grasscutter.game.inventory.BagTab;
import java.util.List;
import lombok.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ResourceType(name = "GivingExcelConfigData.json")
public final class GivingData extends GameResource {
    @SerializedName(value = "id", alternate = "Id")
    private int id;

    private int talkId;
    private int mistakeTalkId;

    private BagTab tab;
    private GiveMethod givingMethod;

    private List<ItemParamData> exactItems;
    private int exactFinishTalkId;

    private List<Integer> givingGroupIds;
    private int givingGroupCount;

    private boolean isRemoveItem;
    private GiveType giveType;

    public enum GiveMethod {
        GIVING_METHOD_NONE,
        /** All items are required to succeed. */
        GIVING_METHOD_EXACT,
        GIVING_METHOD_GROUP,
        /** One in the group is required to succeed. */
        GIVING_METHOD_VAGUE_GROUP,
        GIVING_METHOD_ANY_NO_FINISH
    }

    public enum GiveType {
        @SerializedName("GIVING_TYPE_QUEST")


    {
        return E_FAIL;
    }

    TraceMsg(TF_SHDNAVIGATE, "DOH::BSC::_HFNS() dwSearch = %d, do404 = %d", dwSearchForExtensions, dwDo404Search);

    // Get any persistent information from the last request
    VARIANT varURL = {0};
    _GetSearchInfo(pdoh->_psp, &dwSuffixIndex, &bAllowSearch, &bContinueSearch, &bSentToEngine, &varURL);

    // See if window.external.autoscan() was called
    BOOL fAutoScan = (varURL.vt == VT_BSTR);

    TraceMsg(TF_SHDNAVIGATE, "DOH::BSC::_HFNS() index = %d, allow = %d, cont = %d, sent = %d", dwSuffixIndex, bAllowSearch, bContinueSearch, bSentToEngine);

    // Why not use the cached value?
    // pdoh->_GetOfflineSilent(&bFrameIsOffline, &bSuppressUI);
    bFrameIsOffline = _bFrameIsOffline ? TRUE : FALSE;
    bSuppressUI = (_bFrameIsSilent || _IsDesktopItem(pdoh)) ? TRUE : FALSE;

    // if we are at the end of the extension list, turn off extensions
    BOOL fAutoSearching = FALSE;
    if (dwSearchForExtensions)
    {
        if (dwSuffixIndex == 0 && IsAutoSearchEnabled())
        {
            StrCpyN(szSearchFormatStr, L"? %s", ARRAYSIZE(szSearchFormatStr));
            fAutoSearching = TRUE;
        }
        else if (GetSearchFormatString(dwSuffixIndex, szSearchFormatStr, sizeof(szSearchFormatStr)) != ERROR_SUCCESS)
        {
            dwSearchForExtensions = DONE_SUFFIXES;
            StrCpyN(szSearchFormatStr, TEXT("%s"), ARRAYSIZE(szSearchFormatStr));
        }
    }
    else
    {
        dwSearchForExtensions = DONE_SUFFIXES;
    }

    // don't try a 404 srch if we are still trying suffixes
    if (dwSearchForExtensions == SCAN_SUFFIXES)
        dwDo404Search = NEVERSEARCH;

    {
        DWORD dwOptions;

        if (SUCCEEDED(_GetRequestFlagFromPIB(pib, &dwOptions)))
        {
            if (dwOptions & INTERNET_REQFLAG_VIA_PROXY)
            {
                bOnProxy = TRUE;
            }
        }
        else
        {
            TraceMsg(TF_SHDNAVIGATE, "DOH::BSC::_HFNS() QI to IWinInetInfo failed");
        }
    }

    TraceMsg(TF_SHDNAVIGATE, "DOH::BSC::_HFNS() search = %d, do404 = %d, onproxy = %d, szSearch = %s", dwSearchForExtensions, dwDo404Search, bOnProxy, SAFETRACE(szSearchFormatStr));

    // Prepare to do an automatic search if the navigation failed
    // and we think a search might be valuable.

    // These cases are:
    //   (1) if the previous navigation was search-generated (bContinue)
    //   (2) the user allows searching (bAllow)
    //   (3) we are searching for extensions or autosearching
    //   (4) this is a status code we allow searching for
    //   (5) if over proxy, continue searching even on 404

    // Note: 404 is special; it is the case that most servers return this if
    // the documnet is not there, but Proxies also return this if the server
    // was not found - a conditon which normally makes us search.  This means
    // that a 404 over proxy actually causes a search to occur, which is not
    // what we want.
    // BUGBUG: Is there any way I can tell the difference?

    bPrepareForSearch = ((bContinueSearch || (bAllowSearch)) &&
                 (fAutoScan || SHOULD_DO_SEARCH(dwSearch


/*
 *
 * Copyright 2021-2025 Software Radio Systems Limited
 *
 * This file is part of srsRAN.
 *
 * srsRAN is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 *
 * srsRAN 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 Affero General Public License for more details.
 *
 * A copy of the GNU Affero General Public License can be found in
 * the LICENSE file in the top-level directory of this distribution
 * and at http://www.gnu.org/licenses/.
 *
 */

#pragma once

#include "../ngap_repository.h"
#include "../ue_manager/ue_manager_impl.h"
#include "srsran/cu_cp/common_task_scheduler.h"
#include "srsran/cu_cp/cu_cp.h"
#include "srsran/ran/plmn_identity.h"
#include <future>

namespace srsran {
namespace srs_cu_cp {

class cu_cp_routine_manager;
struct cu_cp_configuration;

class amf_connection_manager
{
public:
  amf_connection_manager(ngap_repository&                ngaps_,
                         cu_cp_amf_reconnection_handler& cu_cp_notifier_,
                         timer_manager&                  timers_,
                         task_executor&                  cu_cp_exec_,
                         common_task_scheduler&          common_task_sched_);

  /// \brief Initiates the connection to the AMF.
  /// A promise is passed as a parameter to enable blocking synchronization between the completion of the scheduled
  /// async task and the caller side.
  void connect_to_amf(std::promise<bool>* completion_signal = nullptr);

  /// \brief Initiate procedure to disconnect from the N2 interface.
  async_task<void> disconnect_amf();

  /// \brief Handles the loss of connection to the AMF.
  /// \param[in] amf_index The index of the AMF that has been disconnected.
  void handle_amf_connection_loss(amf_index_t amf_index);

  /// \brief Initiates the reconnection to the AMF.
  /// \param[in] amf_index The index of the AMF to reconnect to.
  /// \param[in] ue_mng The UE manager to re-enable UE connections in case the reconnection was successful.
  /// \param[in] amf_reconnection_retry_time The time to wait before retrying the reconnection.
  void
  reconnect_to_amf(amf_index_t amf_index, ue_manager* ue_mng, std::chrono::milliseconds amf_reconnection_retry_time);

  void stop();

  /// Checks whether the CU-CP is connected to the AMF.
  bool is_amf_connected(plmn_identity plmn) const;
  bool is_amf_connected(amf_index_t amf_index) const;

  size_t nof_amfs() const { return amfs_connected.size(); }

private:
  void        handle_connection_setup_result(amf_index_t amf_index, bool success);
  amf_index_t plmn_to_amf_index(plmn_identity plmn) const;

  ngap_repository&                ngaps;
  cu_cp_amf_reconnection_handler& cu_cp_notifier;
  timer_manager&                  timers;
  task_executor&                  cu_cp_exec;
  common_task_scheduler&          common_task_sched;
  srslog::basic_logger&           logger;

  std::unordered_map<amf_index_t, std::atomic<bool>> amfs_connected;

  std::atomic<bool> stopped{false};
};

} // namespace srs_cu_cp
} // namespace srsran


999;
}

/* Input spinner */
input[type="text"].spinner,
input[type="password"].spinner,
input[type="datetime"].spinner,
input[type="datetime-local"].spinner,
input[type="date"].spinner,
input[type="month"].spinner,
input[type="time"].spinner,
input[type="week"].spinner,
input[type="number"].spinner,
input[type="email"].spinner,
input[type="url"].spinner,
input[type="search"].spinner,
input[type="tel"].spinner,
input[type="color"].spinner {
  background-image: url("../img/input-spinner.gif") !important;
  background-repeat: no-repeat;
  background-position: right 8px;
}

/* Form labels */
label {
  font-weight: 400;
  font-size: 14px;
}

/* Static form control */
.form-control-static {
  margin: 2px 0;
  display: inline-block;
}

/* Feedback states */
.has-success .help-block,
.has-success .help-inline,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}

.has-warning .help-block,
.has-warning .help-inline,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}

.has-error .help-block,
.has-error .help-inline,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}

/***
Custom


Modifies the list of user principal name (UPN) suffixes of the forest.
This parameter sets the multi-valued **msDS-UPNSuffixes** property of the cross-reference container.
This parameter uses the following syntax to add remove, replace, or clear UPN suffix values.

To add values:

`-UPNSuffixes  @{Add=value1,value2,...}`

To remove values:

`-UPNSuffixes @{Remove=value3,value4,...}`

To replace values:

`-UPNSuffixes @{Replace=value1,value2,...}`

To clear all values:

`-UPNSuffixes $Null`

You can specify more than one change by using a list separated by semicolons.
For example, use the following syntax to add and remove UPN suffix values:

`@{Add=value1,value2,...};@{Remove=value3,value4,...}`

The operators are applied in the following sequence:

- Remove
- Add
- Replace

```yaml
Type: Hashtable
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

### None or Microsoft.ActiveDirectory.Management.ADForest
A forest object is received by the *Identity* parameter.

A forest object that was retrieved by using the **Get-ADForest** cmdlet and then modified is received by the *Instance* parameter.

## OUTPUTS

### None or Microsoft.ActiveDirectory.Management.ADForest
Returns the modified forest object when the *PassThru* parameter is specified.
By default, this cmdlet does not generate any output.

## NOTES
* This cmdlet does not work with AD LDS.
* This cmdlet does not work with an Active Directory snapshot.
* This cmdlet does not work with a read-only domain controller.

## RELATED LINKS

[Get-ADForest](./Get-ADForest.md)

---
title: MIDL Compilation
description: MIDL Compilation
ms.assetid: 2797ee3b-82fd-4cb5-9e95-23b2f2a8f011
ms.topic: reference
ms.date: 05/31/2018
---

# MIDL Compilation

Given an IDL file, such as [Example2.idl](anatomy-of-an-idl-file.md), that defines one or more COM interfaces and a type library, the MIDL compiler (Midl.exe) generates the files described in the following table as the default output.

| Filename                 | Description                                                                                |
|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Example2.h
    | The header file, containing type definitions and function declarations for all of the interfaces defined in the IDL file as well as forward declarations for routines that the stubs call.
 |
| Example2\_p.c
 | The proxy/stub file, which includes the surrogate entry points both for clients and for servers.


, version ->
      driver3Value = value
      driver3Version = version
    }

    driver1.send(42, 1)

    assertThat(driver2Value).isEqualTo(42)
    assertThat(driver2Version).isEqualTo(1)
    assertThat(driver3Value).isEqualTo(42)
    assertThat(driver3Version).isEqualTo(1)
  }

  @Test
  fun removeAllEntities() = runBlocking {
    val key = RamDiskStorageKey("foo")
    val driver = provider.getDriver(key, Int::class, DummyType)
    driver.send(42, 1)

    provider.removeAllEntities()

    // Receiver are not updated, so check memory directly.
    assertThat(RamDisk.memory.contains(key)).isFalse()
  }

  @Test
  fun removeEntitiesBetween() = runBlocking {
    val key = RamDiskStorageKey("foo")
    val driver = provider.getDriver(key, Int::class, DummyType)
    driver.send(42, 1)

    provider.removeEntitiesCreatedBetween(1, 2)

    // Receiver are not updated, so check memory directly.
    assertThat(RamDisk.memory.contains(key)).isFalse()
  }

  companion object {
    object DummyType : Type {
      override val tag = Tag.Count
    }
  }
}
package arcs.showcase.queries

import androidx.test.ext.junit.runners.AndroidJUnit4
import arcs.android.integration.IntegrationEnvironment
import arcs.core.host.toRegistration
import arcs.core.testutil.handles.dispatchFetchAll
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.runBlocking
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith

@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(AndroidJUnit4::class)
class QueriesShowcaseTest {

  @get:Rule
  val env = IntegrationEnvironment(
    ::ProductClassifier.toRegistration(),
    ::ProductDatabase.toRegistration()
  )

  /**
   * Tests that a set of known queries, on known runtime data produce expected results.
   * - Products are defined in [ProductDatabase],
   * - filtering criteria are defined in [ProductClassifier].
   */
  @Test
  fun testQueries() = runBlocking {
    val arc = env.startArc(ClassifyProductsPlan)
    val productClassifier: ProductClassifier = env.getParticle<ProductClassifier>(arc)
    val productDescriptions = productClassifier.handles.productDescriptions.dispatchFetchAll()
    val descriptions = productDescriptions.map { it.description }

    assertThat(descriptions).containsExactly(
      "Pencil: cheap, selected",
      "Ice cream: cheap",
      "Chocolate: cheap",
      "Hat: expensive",
      "Stop sign: expensive"
    )

    env.stopArc(arc)
  }
}
@file:Suppress("EXPERIMENTAL_FEATURE_WARNING", "EXPERIMENTAL_API_USAGE")

package arcs.showcase.nullable

import arcs.jvm.host.TargetHost

typealias Guest = AbstractInvited.Guest
typealias Name = AbstractInvited.Name

@TargetHost(arcs.android.integration.IntegrationHost::class)
class Invited : AbstractInvited() {
  override fun onFirstStart() {
    handles.invited.storeAll(
      setOf(
        Guest(
          name = Name(
            legal = "Ms. Jane Smith",
            first = "Jane",
            last = "Smith"
          ),
          employee_id = 12345,
          rsvp = true
        ),
        Guest(
          name = Name(
            legal = "Mr. John Smith",
            first = "John",
            middle = "Brian",
            last = "Smith"
          ),
          employee_id = null // Nulls can be explicitly set
          // But do n


;**************************************
;*
;* include-file fuer
;* pistdata.s
;*
;* (c) 1996 by tarzan boy
;*
;**************************************

; datenfile fuer pistolentyp: pistol (sharewarewaffe 2)

pistol_pfile	dc.b	"e:\running\tpi\pistol2.tpi",0
pistol_dfile	dc.b	"e:\running\data\weapons\pistol.dat",0

pic_breite	dc.w	320		; bildbreite in pixel

anim_dat	dc.l	anim_dat_0	; zeiger auf die entsprechenden
		dc.l	anim_dat_1	; animationsdaten. wenn 0, dann
		dc.l	anim_dat_2	; fuer diese phase kein
		dc.l	anim_dat_3	; bild zur verfuegung.

; alle anim_dat_x-angabe in pixel

anim_dat_0	dc.w	0,63		; linke untere ecke (x,y)
		dc.w	56,64		; absolute breite und hoehe
		dc.w	138		; screen_xoffi
		dc.w	%11		; flags:
					;  bit 0: waffe s


 }
            };
        }

        if let Some(w) = res.weight {
            self.set_weight(w)?;
        }
        a!(weight_device, set_weight_device);

        if let Some(w) = res.leaf_weight {
            self.set_leaf_weight(w)?;
        }
        a!(leaf_weight_device, set_leaf_weight_device);

        a!(read_bps_device, throttle_read_bps_device);
        a!(write_bps_device, throttle_write_bps_device);
        a!(read_iops_device, throttle_read_iops_device);
        a!(write_iops_device, throttle_write_iops_device);

        Ok(())
    }
}

macro_rules! _gen_getter {
    (
        map;
        $desc: literal,
        $field: ident $( : $link: ident )?,
        $ty: ty
        $(, $recursive: ident )?
    ) => {
        gen_getter!(blkio, $desc, $field $( : $link )?, HashMap<Device, $ty>, parse_map);
        $( _gen_getter!(_rec; $recursive, $field, HashMap<Device, $ty>, parse_map); )?
    };

    (io_service; $desc: literal, $field: ident, $recursive: ident) => {
        gen_getter!(blkio, $desc, $field, IoService, parse_io_service);
        _gen_getter!(_rec; $recursive, $field, IoService, parse_io_service);
    };

    (throttle; $desc: literal, $field: ident : link) => { with_doc! { concat!(
        gen_doc!(reads; subsys_file!("blkio.throttle", $field), $desc),
        gen_doc!(see; $field),
        gen_doc!(err_read; subsys_file!("blkio.throttle", $field)),
        gen_doc!(eg_read; blkio, $field)),
        pub fn $field(&self) -> Result<HashMap<Device, u64>> {
            self.open_file_read(subsys_file!("blkio.throttle", $field)).and_then(parse_map)
        }
    } };

    (_rec; $recursive: ident, $field: ident, $ty: ty, $parser: ident) => { with_doc! {
        gen_doc!(reads_see; subsys_file!(blkio, $recursive), $field),
        pub fn $recursive(&self) -> Result<$ty> {
            self.open_file_read(subsys_file!(blkio, $recursive))
                .and_then($parser)
        }
    } };
}

const WEIGHT_MIN: u16 = 10;
const WEIGHT_MAX: u16 = 1000;

macro_rules! _gen_setter {
    (weight; $desc: literal, $field: ident : link, $setter: ident) => { with_doc! { concat!(
        _gen_setter!(_sets_see_err_weight; $desc, $field),
        gen_doc!(eg_write; blkio, $setter, 1000)),
        pub fn $setter(&mut self, weight: u16) -> Result<()> {
            if weight < WEIGHT_MIN || weight > WEIGHT_MAX {
                return Err(Error::new(ErrorKind::InvalidArgument));
            }

            self.write_file(subsys_file!(blkio, $field), weight)
        }
    } };

    (weight_map; $desc: literal, $field: ident : link, $setter: ident) => { with_doc!{ concat!(
        _gen_setter!(_sets_see_err_weight; $desc, $field),
        gen_doc!(eg_write; blkio, $setter, [8, 0].into(), 1000)),
        pub fn $setter(&mut self, device: Device, weight: u16) -> Result<()> {
            use io::Write;

            if weight < WEIGHT_MIN || weight > WEIGHT_MAX {
                return Err(Error::new(ErrorKind::InvalidArgument));
            }

            let mut file = self.open_file_write(subsys_file!(blkio, $field))?;


local super = require("ui.ui_view_base")
local Face_systemView = class("Face_systemView", super)
local leftRightBodyPath = "ui/textures/face/face_boy_adorn_right"
local leftRightGrilPath = "ui/textures/face/face_gril_adorn_left"
local ESecondTab = {
  FaceShape = 301,
  Eyebrow = 302,
  Eye = 303,
  Eyelash = 304,
  Pupil = 305,
  Nose = 306,
  Mouth = 307,
  Beard = 308,
  Eyeshadow = 401,
  Lipstick = 402,
  Feature1 = 403,
  Feature2 = 404,
  Tooth = 405
}
E.FaceShareType = {
  AutoShare = 1,
  Share = 2,
  Input = 3
}
local FirstTabDataDict = {
  [E.FaceFirstTab.HotPhoto] = {
    NodeName = "binder_tog_template",
    FieldName = "hotPhoto",
    IsFocus = true,
    DefaultSecondTab = nil,
    SecondTabGroupName = nil
  },
  [E.FaceFirstTab.Body] = {
    NodeName = "binder_tog_body",
    FieldName = "body",
    IsFocus = false,
    DefaultSecondTab = nil,
    SecondTabGroupName = nil
  },
  [E.FaceFirstTab.Hair] = {
    NodeName = "binder_tog_hair",
    FieldName = "hair",
    IsFocus = true,
    DefaultSecondTab = nil,
    SecondTabGroupName = nil
  },
  [E.FaceFirstTab.Face] = {
    NodeName = "binder_tog_face",
    FieldName = nil,
    IsFocus = true,
    DefaultSecondTab = ESecondTab.FaceShape,
    SecondTabGroupName = "group_tab2_face"
  },
  [E.FaceFirstTab.Makeup] = {
    NodeName = "binder_tog_makeup",
    FieldName = nil,
    IsFocus = true,
    DefaultSecondTab = ESecondTab.Eyeshadow,
    SecondTabGroupName = "group_tab2_makeup"
  }
}
local SecondTabDataDict = {
  [ESecondTab.FaceShape] = {
    NodeName = "node_face_shape_tab",
    FieldName = "faceShape"
  },
  [ESecondTab.Eyebrow] = {
    NodeName = "node_eyebrow_tab",
    FieldName = "eyebrow"
  },
  [ESecondTab.Eye] = {
    NodeName = "node_eye_tab",
    FieldName = "eye"
  },
  [ESecondTab.Eyelash] = {
    NodeName = "node_eyelash_tab",
    FieldName = "eyelash"
  },
  [ESecondTab.Pupil] = {
    NodeName = "node_pupil_tab",
    FieldName = "pupil"
  },
  [ESecondTab.Nose] = {
    NodeName = "node_nose_tab",
    FieldName = "nose"
  },
  [ESecondTab.Mouth] = {
    NodeName = "node_mouth_tab",
    FieldName = "mouth"
  },
  [ESecondTab.Beard] = {
    NodeName = "node_beard_tab",
    FieldName = "beard"
  },
  [ESecondTab.Tooth] = {
    NodeName = "node_tooth_tab",
    FieldName = "tooth"
  },
  [ESecondTab.Eyeshadow] = {
    NodeName = "node_eyeshadow_tab",
    FieldName = "eyeshadow"
  },
  [ESecondTab.Lipstick] = {


-- Put this at the top of any test
package.path = package.path..';../?.lua';

-- tests for SHA-2 in Lua 5.2
local sha2 = require 'sha2'

-- a few examples from the Web
-- 224 - bit hash
assert(sha2.sha224"" ==
  "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f")

assert(sha2.sha224"The quick brown fox jumps over the lazy dog" ==
  "730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525")

assert(sha2.sha224"The quick brown fox jumps over the lazy dog." ==
  "619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c")

-- 256 - bit hash
assert(sha2.sha256"" ==
  "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")

assert(sha2.SHA256_t():close() ==
  "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")

assert(sha2.sha256"The quick brown fox jumps over the lazy dog" ==
  "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592")

assert(sha2.sha256"The quick brown fox jumps over the lazy dog." ==
  "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c")

  assert(sha2.sha256"The quick brown fox jumps over the lazy cog" ==
  "e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be")

assert(sha2.sha256"123456" ==
  "8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92")

-- most other examples here are checked against a "correct" answer
-- given by 'sha224sum'/'sha256sum'

-- border cases (sizes around 64 bytes)

assert(sha2.sha256(


lueReceiver">The action that receives the value of the property when it is completed.</param>
		void RegisterReceiver<T>(Partial<T> property, Action<T> valueReceiver);

		/// <summary>
		/// Resumes the completion of the object until the specified property is completed.
		/// </summary>
		/// <param name="property">The property whose value should be obtained.</param>
		/// <returns></returns>
		T WaitForProperty<T>(Partial<T> property);

		/// <summary>
		/// Checks if this instance contains the specified completable property.
		/// </summary>
		/// <param name="property">The property that should be checked.</param>
		/// <returns>True if this instance contains the property, false otherwise.</returns>
		bool ContainsProperty<T>(Partial<T> property);
	}
}


tination = starting address ($0000 to use the file's Auxtype value)
;
; CFFA1_SaveBASICFile:
;   Input:  Filename
;
; CFFA1_LoadBASICFile:
;   Input:  Filename
;
; CFFA1_Rename:
;   Input:  OldFilename = original name
;           Filename = new name
;
; CFFA1_Delete:
;   Input:  Filename = file or empty directory to delete
;
; CFFA1_NewDirectoryAtRoot:
;   Input:  Filename = name for new directory
;
; CFFA1_FormatDrive:
;   Input:  Filename = name for new volume
;           A = drive number (always set to 0 for firmware 1.0)
;           Y = $77 (just to help avoid accidental formatting)
;   Result: Disk volume is erased and given the specified name.
;
;------------------------------------------------------------------------------
CFFA1_Version            = $00
CFFA1_Menu               = $02
CFFA1_DisplayError       = $04

CFFA1_OpenDir            = $10
CFFA1_ReadDir            = $12
CFFA1_FindDirEntry       = $14

CFFA1_WriteFile          = $20
CFFA1_ReadFile           = $22
CFFA1_SaveBASICFile      = $24
CFFA1_LoadBASICFile      = $26
CFFA1_Rename             = $28
CFFA1_Delete             = $2A
CFFA1_NewDirectoryAtRoot = $2C
CFFA1_FormatDrive        = $2E

;------------------------------------------------------------------------------
; Zero-page inputs and results for API functions
;
; Filename and OldFilename point to strings that begin with a length byte (from
; 1 to 15), and each character must have its high bit off.  For example:
;
;    Filename   = $80     $280: 05  48  45  4C  4C  4F
;    Filename+1 = $02              'H'  'E' 'L' 'L' 'O'
;------------------------------------------------------------------------------
Destination         = $00                   ; 2 bytes
Filename            = Destination+2         ; 2 bytes
OldFilename         = Filename+2            ; 2 bytes
Filetype            = OldFilename+2         ; 1 byte
Auxtype             = Filetype+1            ; 2 bytes
FileSize            = Auxtype+2             ; 2 bytes
EntryPtr            = FileSize+2            ; 2 bytes

;------------------------------------------------------------------------------
;
; ProDOS low-level return codes
;
;------------------------------------------------------------------------------
PRODOS_NO_ERROR      = $00    ; No error
PRODOS_BADCMD        = $01    ; Bad Command (not implemented)
PRODOS_IO_ERROR      = $27    ; I/O error
PRODOS_NO_DEVICE     = $28    ; No Device Connected
PRODOS_WRITE_PROTECT = $2B    ; Write Protected
PRODOS_BADBLOCK      = $2D    ; Invalid block number requested
PRODOS_OFFLINE       = $2F    ; Device off-line
;
; High-level return codes
;
eBadPathSyntax       = $40
eDirNotFound         = $44
eFileNotFound        = $46
eDuplicateFile       = $47
eVolumeFull          = $48
eDirectoryFull       = $49
eFileFormat          = $4A
eBadStrgType         = $4B
eFileLocked          = $4E
eNotProDOS           = $52
eBadBufferAddr       = $56
eBakedBitmap         = $5A
eUnknownBASICFormat  = $FE
eUnimplemented       = $FF

;------------------------------------------------------------------------------
; ProDOS directory entry structure offsets
;------------------------------------------------------------------------------
oFiletype           = $10
oKeyBlock           = $11
oBlockCount         = $13
oFileSize           = $15
oCreateDateTime     = $18
oVersion            = $1C
oMinVersion         = $1D
oAccess             = $1E
oAuxtype            = $1F
oModDateTime        = $21
oHeaderPointer      = $25

oDirLinkPrevious    = $00
oDirLinkNext        = $02
o


moveRows(currentParent, current.row(), 1, currentParent, current.row() + 2))
            showMessage(tr("Failed to move down"));
    }

    void onIn()
    {
        const auto current = treeview->currentIndex();
        showMessage(tr("Moving '%1' in").arg(current.data().toString()));
        const auto currentParent = current.parent();
        const auto newParent = current.sibling(current.row() - 1, 0);
        // move the selected row under it's top-most sibling

        if (!model->moveRows(currentParent, current.row(), 1, newParent, model->rowCount(newParent)))
            showMessage(tr("Indentation failed"));
    }

    void onOut()
    {
        const auto current = treeview->currentIndex();
        showMessage(tr("Moving '%1' out").arg(current.data().toString()));
        const auto currentParent = current.parent();
        const auto grandParent = currentParent.parent();
        // move the selected row under it's grandparent
        if (!model->moveRows(currentParent, current.row(), 1, grandParent, currentParent.row()))
            showMessage(tr("Dedentation failed"));
    }

    void showMessage(const QString &message, int timeout = 2000)
    {
        statusBar()->showMessage(message, timeout);
    }

    ModelFactory factory;
    QRangeModel *model;
    QTreeView *treeview;
#ifdef QUICK_UI
    QQuickWidget *quickWidget;
#endif
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    auto mainWindow = std::make_unique<MainWindow>();
    mainWindow->show();

    return app.exec();
}

#include "main.moc"
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include <qtest.h>
#include <QGraphicsItem>
#include <QGraphicsScene>
#include <QGraphicsView>

class tst_QGraphicsScene : public QObject
{
    Q_OBJECT

public:
    tst_QGraphicsScene();
    virtual ~tst_QGraphicsScene();

public slots:
    void init();
    void cleanup();

private slots:
    void construct();
    void addItem_data();
    void addItem();
    void itemAt_data();
    void itemAt();
    void initialShow();
};

tst_QGraphicsScene::tst_QGraphicsScene()
{
}

tst_QGraphicsScene::~tst_QGraphicsScene()
{
}

static inline void processEvents()
{
    QApplication::processEvents();
    QApplication::processEvents();
}

void tst_QGraphicsScene::init()
{
    processEvents();
}

void tst_QGraphicsScene::cleanup()
{
}

void tst_QGraphicsScene::construct()
{
    QBENCHMARK {
        QGraphicsScene scene;
    }
}

void tst_QGraphicsScene::addItem_data()
{
    QTest::addColumn<int>("indexMethod");
    QTest::addColumn<QRectF>("sceneRect");
    QTest::addColumn<int>("numItems_X");
    QTest::addColumn<int>("numItems_Y");
    QTest::addColumn<int>("itemType");
    QTest::addCo


ите 10 осколков элементалей для верховной жрицы Теодоры Мальвадании. \n\nТеодора упоминала, что осколки можно найти у элементалей и големов."}},
[4062] = {"Восстание машин", nil, {"Отнесите образец осколка элементаля Лотвилю Вериатусу. \n\nТеодора упоминала, что его лагерь находится на востоке."}},
[4063] = {"Восстание машин", nil, {"Найдите и убейте повелителя големов Аргелмаха. Принесите его голову Лотвилю. Также соберите 10 невредимых ядер стихий с беспощадных големов и созданий-завоевателей, охраняющих Аргелмаха. Информация передана посредством телепатии."}},
[4081] = {"УНИЧТОЖИТЬ НА МЕСТЕ: Дворфы Черного Железа", nil, {"Отправляйтесь в Глубины Черной горы и уничтожьте подлых агрессоров! \n\nПо приказу полководца Клинозуба уничтожьте 15 охранников, 10 надсмотрщиков и 5 пехотинцев из клана Ярости Горна. Вернитесь сразу по выполнении задания."}},
[4082] = {"УНИЧТОЖИТЬ НА МЕСТЕ: Высокопоставленные чины Черного Железа", nil, {"Отправляйтесь в Глубины Черной горы и уничтожьте подлых агрессоров! \n\nПо приказу полководца Клинозуба уничтожьте 10 медиков, 10 солдат и 10 офицеров из клана Ярости Горна. Вернитесь сразу по выполнении задания."}},
[4083] = {"Призрачный кубок", nil, nil},
[4084] = {"Серебряное сердце", nil, {"Добудьте 11 серебристых когтей и 1 сердце Железнолесья для Эриданы Грусти Ветра из Оскверненного леса."}},
[4101] = {"Очищение Оскверненного леса", nil, {"Принесите 15 кровавых янтарей Аратандис Серебряному Небу в Оскверненный лес."}},
[4102] = {"Очищение Оскверненного леса", nil, {"Принесите 15 кровавых янтарей Майбессе Речному Ветру в Оскверненный лес."}},
[4103] = {"Лекарство из охотничьих трофеев", nil, nil},
[4104] = {"Лекарство из минералов", nil, nil},
[4105] = {"Лекарство из оскверненных трав", nil, nil},
[4106] = {"Лекарство из оскверненных шкур", nil, nil},
[4107] = {"�