.318-.25c-.963-.847-1.172-1.89-1.178-2.617-.008-.96.215-1.67.661-2.105a1.647 1.647 0 011.079-.469c.053.003.536.044.89.575.273.409.608 1.34.186 3.245a.418.418 0 00.256.483c.666.252 1.504.355 2.153.395.2.012.38-.126.422-.326.195-.92.276-1.77.242-2.545-.05-1.136-.346-2.117-.879-2.914C15.424.765 14.258.07 13.038.005c-.876-.048-2.184.263-3.225 1.28-.718.702-1.57 2.011-1.551 4.261.015 1.89.79 3.604 2.18 4.827.425.374.97.757 1.66 1.085a23.746 23.746 0 01-3.888 5.184c-2.19-1.778-3.485-5.106-4.206-7.73a37.283 37.283 0 01-1.091-5.92.501.501 0 00-.53-.457l-.951.066 1.438-.098-2.37.162a.506.506 0 00-.462.557 39.923 39.923 0 001.176 6.433c.594 2.178 1.346 4.078 2.234 5.649 1.168 2.063 2.584 3.575 4.21 4.495a1.414 1.414 0 001.613-.151c.052-.044 1.285-1.089 2.767-2.926a26.774 26.774 0 002.316-3.36c.21-.362.41-.727.598-1.094 1.013.13 2.188.145 3.548-.013a.565.565 0 00.486-.645l-.25-1.792z"/></svg>';
  static const String vine_circle =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="-2 -2 24 24"><g fill="currentColor"><path d="M14.613 9.925a.28.28 0 00-.306-.242 3.043 3.043 0 01-.338.021c-.728 0-1.767-.056-2.409-.494a1.72 1.72 0 01-.749-1.435c-.003-.48.108-.835.332-1.054a.824.824 0 01.54-.234.605.605 0 01.445.288c.136.204.304.67.093 1.624a.21.21 0 00.128.241c.333.126.753.178 1.078.198.1.006.19-.063.21-.163.098-.46.139-.886.122-1.274-.026-.568-.174-1.06-.44-1.458-.366-.548-.949-.895-1.56-.929-.438-.024-1.092.132-1.613.641-.36.351-.786 1.006-.777 2.132a3.206 3.206 0 001.091 2.416c.213.187.486.378.831.543a11.883 11.883 0 01-1.946 2.594c-1.095-.89-1.744-2.556-2.104-3.869a18.657 18.657 0 01-.546-2.962.25.25 0 00-.265-.229l-.476.033.72-.049-1.187.081a.253.253 0 00-.231.28c.05.531.203 1.803.589 3.218.297 1.09.673 2.041 1.118 2.827.584 1.032 1.292 1.79 2.106 2.25a.708.708 0 00.807-.076c.026-.022.644-.545 1.385-1.464a13.398 13.


 4.
		case formExprloc:
			val = b.bytes(int(b.uint()))

		// reference
		// New in DWARF 4.
		case formRefSig8:
			// 64-bit type signature.
			val = b.uint64()
		case formRefSup4:
			val = b.uint32()
		case formRefSup8:
			val = b.uint64()

		// loclist
		case formLoclistx:
			val = b.uint()

		// rnglist
		case formRnglistx:
			off := b.uint()

			// We have to adjust by the rnglists_base of
			// the compilation unit. This won't work if
			// the program uses Reader.Seek to skip over
			// the unit. Not much we can do about that.
			var rnglistsBase int64
			if cu != nil {
				rnglistsBase, _ = cu.Val(AttrRnglistsBase).(int64)
			} else if a.tag == TagCompileUnit {
				delay = append(delay, delayed{i, off, formRnglistx})
				break
			}

			val = resolveRnglistx(uint64(rnglistsBase), off)
		}

		e.Field[i].Val = val
	}
	if b.err != nil {
		return nil
	}

	for _, del := range delay {
		switch del.fmt {
		case formAddrx:
			addrBase, _ := e.Val(AttrAddrBase).(int64)
			val, err := b.dwarf.debugAddr(b.format, uint64(addrBase), del.off)
			if err != nil {
				b.err = err
				return nil
			}
			e.Field[del.idx].Val = val
		case formStrx:
			strBase, _ := e.Val(AttrStrOffsetsBase).(int64)
			e.Field[del.idx].Val = resolveStrx(uint64(strBase), del.off)
			if b.err != nil {
				return nil
			}
		case formRnglistx:
			rnglistsBase, _ := e.Val(AttrRnglistsBase).(int64)
			e.Field[del.idx].Val = resolveRnglistx(uint64(rnglistsBase), del.off)
			if b.err != nil {
				return nil
			}
		}
	}

	return e
}

// A Reader allows reading Entry structures from a DWARF “info” section.
// The Entry structures are arranged in a tree. The Reader's Next function
// return successive entries from a pre-order traversal of the tree.
// If an entry has children, its Children field will be true, and the children
// follow, terminated by an Entry with Tag 0.
type Reader struct {
	b            buf
	d            *Data
	err          error
	unit         int
	lastUnit     bool   // set if last entry returned by Next is TagCompileUnit/TagPartialUnit
	lastChildren bool   // .Children of last entry returned by Next
	lastSibling  Offset // .Val(AttrSibling) of last entry returned by Next
	cu           *Entry // current compilation unit
}

// Reader returns a new Reader for Data.
// The reader is positioned at byte offset 0 in the DWARF “info” section.
func (d *Data) Reader() *Reader {
	r := &Reader{d: d}
	r.Seek(0)
	return r
}

// AddressSize returns the size in bytes of addresses in the current compilation
// unit.
func (r *Reader) AddressSize() int {
	return r.d.unit[r.unit].asize
}

// ByteOrder returns the byte order in the current compilation unit.
func (r *Reader) ByteOrder() binary.ByteOrder {
	return r.b.order
}

// Seek positions


ction getCardsLevel(cards: Array<number>): HandCardsLevel
{
    let nums: number[] = [cards[0]%13, cards[1]%13, cards[2]%13].sort(sortNumberFromSmallerToBigger);
    let flowers: number[] = [Math.floor(cards[0]/13), Math.floor(cards[1]/13), Math.floor(cards[2]/13)];
    if (nums[0] == nums[2]) { return HandCardsLevel.level6; }
    if (flowers[0] == flowers[1] && flowers[1] == flowers[2])
    {
        return (nums[0]+2 == nums[2]) ? HandCardsLevel.level5 : HandCardsLevel.level4;
    }
    if (nums[0]+1== nums[1] && nums[1]+1 == nums[2]) { return HandCardsLevel.level3; }
    if (nums[1] == nums[0] || nums[1] == nums[2]) { return HandCardsLevel.level2; }
    return HandCardsLevel.level1;
}
// @ts-nocheck

export function applyMatrixToPoint(matrix: number[][], point: number[]) {

  return [
    point[0] * matrix[0][0] + point[1] * matrix[0][1] + matrix[0][2],
    point[0] * matrix[1][0] + point[1] * matrix[1][1] + matrix[1][2]
  ]
}
/**
 *  this function return a bounding rect for an nodes
 */
// x/y absolute coordinates
// height/width
// x2/y2 bottom right coordinates
export function getBoundingRect(nodes: SceneNode[]) {
  const boundingRect = {
    x: 0,
    y: 0,
    x2: 0,
    y2: 0,
    height: 0,
    width: 0
  }

  if (nodes.length) {
    const xy = nodes.reduce(
      (rez, node) => {
        if (!node.absoluteTransform) {
          console.warn(
            'Provided node haven\'t "absoluteTransform" property, but it\'s required for calculations.'
          )
          return rez
        }
        if (typeof node.height === undefined || typeof node.width === undefined) {
          console.warn(
            'Provided node haven\'t "width/height" property, but it\'s required for calculations.'
          )
          return rez
        }
        const halfHeight = node.height / 2
        const halfWidth = node.width / 2

        const [[c0, s0, x], [s1, c1, y]] = node.absoluteTransform
        const matrix = [
          [c0, s0, x + halfWidth * c0 + halfHeight * s0],
          [s1, c1, y + halfWidth * s1 + halfHeight * c1]
        ]

        // the coordinates of the corners of the rectangle
        const XY = {
          x: [1, -1, 1, -1],
          y: [1, -1, -1, 1]
        }

        // fill in
        for (let i = 0; i <= 3; i++) {
          const a = applyMatrixToPoint(matrix, [
            XY.x[i] * halfWidth,
            XY.y[i] * halfHeight
          ])
          XY.x[i] = a[0]
          XY.y[i] = a[1]
        }

        XY.x.sort((a, b) => a - b)
        XY.y.sort((a, b) => a - b)

        rez.x.push(XY.x[0])
        rez.y.push(XY.y[0])
        rez.x2.push(XY.x[3])
        rez.y2.push(XY.y[3])
        return rez
      },
      { x: [], y: [], x2: [], y2: [] }
    )

    const rect = {
      x: Math.min(...xy.x),
      y: Math.min(...xy.y),
      x2: Math.max(...xy.x2),
      y2: Math.max(...xy.y2)
    }

    boundingRect.x = rect.x
    boundingRect.y = rect.y
    boundingRect.x2 = rect.x


squarerdx=int64#3,<squarer11=int64#6
# asm 2: adc <squarerdx=%rdx,<squarer11=%r9
adc %rdx,%r9

# qhasm:   squarerax = *(uint64 *)(workp + 184)
# asm 1: movq   184(<workp=int64#1),>squarerax=int64#3
# asm 2: movq   184(<workp=%rdi),>squarerax=%rdx
movq   184(%rdi),%rdx

# qhasm:   squarerax *= 38
# asm 1: imulq  $38,<squarerax=int64#3,>squarerax=int64#7
# asm 2: imulq  $38,<squarerax=%rdx,>squarerax=%rax
imulq  $38,%rdx,%rax

# qhasm:   (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192)
# asm 1: mulq  192(<workp=int64#1)
# asm 2: mulq  192(<workp=%rdi)
mulq  192(%rdi)

# qhasm:   carry? zq2 += squarerax
# asm 1: add  <squarerax=int64#7,<zq2=int64#8
# asm 2: add  <squarerax=%rax,<zq2=%r10
add  %rax,%r10

# qhasm:   squarer21 += squarerdx + carry
# asm 1: adc <squarerdx=int64#3,<squarer21=int64#9
# asm 2: adc <squarerdx=%rdx,<squarer21=%r11
adc %rdx,%r11

# qhasm:   squarerax = *(uint64 *)(workp + 192)
# asm 1: movq   192(<workp=int64#1),>squarerax=int64#3
# asm 2: movq   192(<workp=%rdi),>squarerax=%rdx
movq   192(%rdi),%rdx

# qhasm:   squarerax *= 19
# asm 1: imulq  $19,<squarerax=int64#3,>squarerax=int64#7
# asm 2: imulq  $19,<squarerax=%rdx,>squarerax=%rax
imulq  $19,%rdx,%rax

# qhasm:   (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192)
# asm 1: mulq  192(<workp=int64#1)
# asm 2: mulq  192(<workp=%rdi)
mulq  192(%rdi)

# qhasm:   carry? zq3 += squarerax
# asm 1: add  <squarerax=int64#7,<zq3=int64#10
# asm 2: add  <squarerax=%rax,<zq3=%r12
add  %rax,%r12

# qhasm:   squarer31 += squarerdx + carry
# asm 1: adc <squarerdx=int64#3,<squarer31=int64#11
# asm 2: adc <squarerdx=%rdx,<squarer31=%r13
adc %rdx,%r13

# qhasm:   squareredmask = *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_REDMASK51
# asm 1: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=int64#3
# asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=%rdx
movq crypto_sca


         Err(e) => {
                trace!("pop failed ({:?})", e);
                Poll::Ready(Err(Fail::new(e as i32, "operation failed")))
            },
        }
    }
}
mod insert_only_chashmap;

pub use insert_only_chashmap::*;
<reponame>age-rs/Oxygengine
use oxygengine::user_interface::raui::{core::prelude::*, material::prelude::*};
use serde::{Deserialize, Serialize};

#[derive(PropsData, Default, Debug, Clone, Serialize, Deserialize)]
pub struct TipProps {
    #[serde(default)]
    pub action: String,
    #[serde(default)]
    pub label: String,
}

pub fn tip(context: WidgetContext) -> WidgetNode {
    let WidgetContext { key, props, .. } = context;

    let tip_props = props.read_cloned_or_default::<TipProps>();

    let action_props = TextPaperProps {
        text: tip_props.action,
        variant: "roboto5".to_owned(),
        use_main_color: true,
        horizontal_align_override: Some(TextBoxHorizontalAlign::Right),
        ..Default::default()
    };

    let label_props = TextPaperProps {
        text: tip_props.label,
        variant: "5".to_owned(),
        use_main_color: true,
        horizontal_align_override: Some(TextBoxHorizontalAlign::Left),
        ..Default::default()
    };

    widget! {
        (#{key} horizontal_box: {props.clone()} [
            (#{"action"} text_paper: {action_props})
            (#{"label"} text_paper: {label_props})
        ])
    }
}

pub fn confirm_tip(context: WidgetContext) -> WidgetNode {
    widget! {
        (#{context.key} tip: {TipProps { action: "ENTER: ".to_owned(), label: "Confirm".to_owned() }})
    }
}

pub fn save_tip(context: WidgetContext) -> WidgetNode {
    widget! {
        (#{context.key} tip: {TipProps { action: "F5: ".to_owned(), label: "Save".to_owned() }})
    }
}

pub fn quit_tip(context: WidgetContext) -> WidgetNode {
    widget! {
        (#{context.key} tip: {TipProps { action: "ESC: ".to_owned(), label: "Quit".to_owned() }})
    }
}
<gh_stars>0
// SPDX-License-Identifier: MIT
//
// Benchmark eBPF programs.
// Copyright (c) 2021  <NAME>
//
// May 20, 2021  <NAME>  Created this.

mod bench;
mod bpf;
mod bpf_types;
mod cli;
mod config;
mod results;
mod syscall;
mod util;

pub use bench::BpfBenchContext;
pub use cli::validators;
pub use config::Config;
<reponame>fitzgen/z3-rs
use z3_sys::*;
use Context;
use Symbol;
use Sort;
use ListSort;
use EnumSort;
use Z3_MUTEX;
use std::ptr;
use std::ffi::{CStr,CString};
use std::fmt::{Formatter,Display};
use std;

use context;

unsafe fn check_sort(ctx: &Context, sort: Z3_sort) -> Z3_sort {
    if sort.is_null() { context::check_error(ctx) };
    sort
}

unsafe fn func_decl_inc_ref(ctx: &Context, decl: Z3_func_decl) {
    let ast = Z3_func_decl_to_ast(ctx.z3_ctx, decl);
    if ast.is_null() { context::check_error(ctx) };
    Z3_inc_ref(ctx.z3_ctx, ast);
}

pub unsafe fn func_decl_dec_ref(ctx: &Context, decl: Z3_func_decl) {
    let ast = Z3_func_decl_to_ast(ctx.z3_ctx, decl);
    // Shouldn't fail, but can't panic if it does fail since we are being called from Drop
    if !ast.is_null() {
        Z3_dec_ref(ctx.z3_ctx, ast)
    }
}

impl<'ctx> Sort<'ctx> {
    pub fn new(ctx: &Context, sort: Z3_sort) -> Sort {
        assert!(!sort.is_null());
        Sort {
            ctx: ctx,
            z3_sort: unsafe {
                let guard = Z3_MUTEX.lock


表、留指纹，然后就是“净化”，等到他从澡堂里出来的时候，原来颇有些书生潇洒风度的李子玉已经成了一个穿着黑制服，光脑袋的新兵了。

乍一穿上这套衣服，李子玉只觉得浑身不自在，这衣服对于习惯了宽袖长袍的人来说未免太窄小，裤子也觉得紧，鞋倒是还好，只是这一体式的绑腿裹着小腿，紧绷绷的怪难受的。

“拿着东西，按号码进宿舍！”从国民军调来的军士们拿着竹棍，吼叫着，“一个跟一个！不许交头接耳！”

李子玉没想到澳洲人的“快班”竟然是“行军法”，不由得叫苦不迭，然而既来了，没有反悔的道理。在军士们的吼叫和棍棒的“指导”下，他顺利的找到了自己的宿舍床位。

“现在开始整理内务！一小时后到礼堂集中！”

李子玉看了看宿舍，这里大约原来是某座殿宇，现在里面被清理的空荡荡，显得又高又空旷。沿墙放置着一排双层床铺，足足有二十多张。

他从小到现在从没住过这样的地方，更别说和四十多个人睡在一个屋子里――还得上下睡！

他看了自己的床号，是“下”，这让他松了口气：真要叫他去爬上铺，他还真有些不知所措呢。

在距离学员宿舍好几个院子的一个小院落里，潘杰鑫正拿着一本《公安学基础理论》思考着明天的授课。

他已经不是第一次给学员上课了，但是这一期的警政培训班是超级速成的。刘翔也好，慕敏也好，都等不及按照他过去制定的《入警培训大纲》来完成培训了。按照这个大纲，短训班的学员学习 60 天，外加半个月的岗位实习。

现在他只能把时间压缩到 30 天，理论和实习得一起上。潘杰鑫思考再三，决定只按照最低标准进行培训，内容以以治安管理的训练为主，加强实务培训，重点灌输纪律观念。

他制定的训练计划是上午在小操场上进行警务技能、体能和队列的训练，下午进行理论学习


n爬虫");
        spider.put("python", "python爬虫");
        spider.put("Test Certificate Info", "测试证书信息");
        spider.put("w3m/0.5.3+git20180125", "w3m");
        spider.put("wget", "wget");
        spider.put("gnu.org/gnu/wget", "wget");
        spider.put("WinHTTP", "WinHTTP");
        spider.put("WordPress", "WordPress");
        spider.put("Xenu Link Sleuth", "死链接检测工具");

        spider.put("BLEXBot", "BLEXBot");
        spider.put("DoCoMo", "DoCoMo");
        spider.put("Exabot", "Exabot");
        spider.put("Spinn3r", "Spinn3r");
        spider.put("DotBot", "DotBot");
        spider.put("psbot", "psbot");
        spider.put("360spider", "360spider");
        spider.put("curl", "curl");
        spider.put("MJ12bot", "MJ12bot");
        spider.put("Nimbostratus-Bot", "Nimbostratus-Bot");
        spider.put("Applebot", "Applebot");
        spider.put("CCBot", "CCBot");
        spider.put("Pandalytics", "Pandalytics");

        return spider;
    }

}
package com.chenzhen.blog.sdk.csdn;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author chenjixian
 * @date 2024/7/18 10:20
 * @description:
 */
@Data
@Slf4j
@JsonIgnoreProperties(ignoreUnknown = true)
public class ListResp implements Serializable {

    private Count count;

    private java.util.List<Article> list;

    private Integer page;

    private Integer size;

    private Integer total;

    @Data
    public static class Count {
        private Integer all;
        private Integer deleted;
        private Integer original;
        private Integer enabled;
        private Integer audit;
        private Integer draft;
    }

    @Data
    public static class Article {
        /**
         * 文章ID
         */
        private String articleId;

        /**
         * 文章标题
         */
        private String title;

        /**
         * 状态 1.发布 2.草稿
         */
        private Integer status;

        /**
         * 编辑器类型 0.富文本 1.markdown
         */
        private Integer editorType;

        /**
         * 文章封面
         */
        private java.util.List<String> coverImage;

        /**
         * 文章发布时间
         */
        private LocalDateTime postTime;

        /**
         * 展现量
         */
        private int totalExposures;

        /**
         * 收藏
         */
        private int collectCount;

        /**


  localNames: 1,
  typeText: 1,
  Type: 1,
  get: 1,
  returnType: 1
}

type friendType = {
    id: number
    name: string
    followed: boolean
}

type initialStateType = {
    friends: Array<friendType>
}

let initialState = {
   friends: [
       {id:1, name: "Andrei", followed: true},
       {id:2, name: "MAks", followed: true},
       {id:3, name: "Dima", followed: true}
   ]
};

const friendsReducer = (state = initialState, action: any): initialStateType => {
    switch (action.type) {

        default:
            return state;
    }
}

export default friendsReducer;import { ChargeType, ExtraCharge, ExtraChargeDetails, ExtraChargeRequestBody, RawExtraCharge, RawExtraChargeDetails } from './models';

export function reduceCharge(c: RawExtraCharge): ExtraCharge {
    return {
        id: +c.oc_id,
        active: c.oc_active === 'on',
        price: +c.oc_price,
        chargeDaily: c.oc_chargeDaily === 'on',
        type: (() => {
            switch (c.oc_chargeType) {
                case 'CleanUpCharge': return ChargeType.CLEAN_UP;
                case 'Cot': return ChargeType.BABY_BED;
                case 'Garage': return ChargeType.PARKING;
                case 'PetChargeLarge': return ChargeType.LARGE_PET;
                case 'PetChargeSmall': return ChargeType.SMALl_PET;
            }
        })(),
        name: `BackEnd_WikiLanguage.EC_${c.oc_chargeType}`,
        priceIncludedAppartment: c.oc_priceIncludedAppartment === 'on',
        priceIncludedStandardRoom: c.oc_priceIncludedStandardRoom === 'on',
        value: c.oc_strValue001
    };
}

export function reduceChargeDetails(c: RawExtraChargeDetails): ExtraChargeDetails {
    return {
        ...reduceCharge(c),
        locales: c.otherChargesLocales.map((l: RawExtraChargeDetails['otherChargesLocales'][0]) => ({
            id: +l.ocl_id,
            localeId: +l.ocl_locale_id,
            text: l.ocl_text,
            otherChargeId: +l.ocl_otherCharges_id
        } as ExtraChargeDetails['locales'][0]))
    };
}

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export function prepareExtraChargeBody(c: ExtraChargeRequestBody): Omit<RawExtraChargeDetails, 'oc_chargeType'> {
    return {
        oc_id: c.id ? String(c.id) : '',
        oc_active: c.active ? 'on' : 'off',
        oc_chargeDaily: c.chargeDaily ? 'on' : 'off',
        oc_price: String(c.price),
        oc_priceIncludedAppartment: c.priceIncludedAppartment ? 'on' : 'off',
        oc_priceIncludedStandardRoom: c.priceIncludedStandardRoom ? 'on' : 'off',
        oc_strValue001: c.value,
        otherChargesLocales: c.locales.map(l => ({
            ocl_id: String(l.id),
            ocl_text: l.text,
            ocl_otherCharges_id: String(l.otherChargeId),
            ocl_locale_id: String(l.localeId)
        } as RawExtraChargeDetails['otherChargesLocales'][0]))
    };
}

import { IsString, IsOptional, IsNumber  } from 'class-validator';
export class UpdateStudentDto {
  @IsOptional()
  @IsString({
    message: 'Informe um nome de aluno',
  })
  name: string;

  @IsOptional()
  @IsString(
    {
      message: 'Informe uma data válida',
    },
  )
  dateOfBirth: string;

  @IsOptional()
  @IsNumber()
  note: number;
}/**
 * DocData mainta


ire"
)

func TestDefaultRunner(t *testing.T) {
	ctx := context.Background()
	runner := DefaultRunner(ctx)

	require.NotNil(t, runner, "DefaultRunner returned nil")

	// Verify it implements the Runner interface
	var _ = Runner(runner)

	// Verify it's the expected concrete type
	_, ok := runner.(*errGroupRunner)
	assert.True(t, ok, "DefaultRunner should return *errGroupRunner, got %T", runner)
}

func TestErrGroupRunner_Go_Success(t *testing.T) {
	ctx := context.Background()
	runner := DefaultRunner(ctx)

	var counter int32
	var wg sync.WaitGroup

	// Start multiple goroutines
	for i := 0; i < 5; i++ {
		wg.Add(1)
		runner.Go(func() error {
			defer wg.Done()
			atomic.AddInt32(&counter, 1)
			return nil
		})
	}

	// Wait for all to complete
	err := runner.Wait()
	assert.NoError(t, err, "Expected no error, got %v", err)

	// Ensure all goroutines ran
	wg.Wait()
	assert.Equal(t, int32(5), atomic.LoadInt32(&counter), "Expected counter to be 5, got %d", atomic.LoadInt32(&counter))
}

func TestErrGroupRunner_Go_WithError(t *testing.T) {
	ctx := context.Background()
	runner := DefaultRunner(ctx)

	expectedErr := errors.New("test error")

	// Start one goroutine that succeeds and one that fails
	runner.Go(func() error {
		time.Sleep(10 * time.Millisecond)
		return nil
	})

	runner.Go(func() error {
		return expectedErr
	})

	// Wait should return the error
	err := runner.Wait()
	assert.Error(t, err, "Expected error, got nil")
	assert.Equal(t, expectedErr, err, "Expected %v, got %v", expectedErr, err)
}

func TestErrGroupRunner_Go_MultipleErrors(t *testing.T) {
	ctx := context.Background()
	runner := DefaultRunner(ctx)

	err1 := errors.New("error 1")
	err2 := errors.New("error 2")

	// Start multiple goroutines that fail
	runner.Go(func() error {
		return err1
	})

	runner.Go(func() error {
		return err2
	})

	// Wait should return one of the errors (errgroup returns the first)
	err := runner.Wait()
	assert.Error(t, err, "Expected error, got nil")
	// Could be either error depending on timing
	assert.True(t, err == err1 || err == err2, "Expected error1 or error2, got %v", err)
}

func TestErrGroupRunner_ContextCancellation(t *testing.T) {
	ctx, cancel := context.WithCancel(context.Background())
	runner := DefaultRunner(ctx)

	// Start a long-running goroutine
	runner.Go(func() error {
		select {
		case <-ctx.Done():


ement and then the specified algorithm suite
                    SecurityBindingElement sbe = null;
                    SecurityAlgorithmSuite sas = null;

                    if (tokenRequirement.TryGetProperty<SecurityBindingElement>("http://schemas.microsoft.com/ws/2006/05/servicemodel/securitytokenrequirement/SecurityBindingElement", out sbe))
                    {
                        sas = sbe.DefaultAlgorithmSuite;
                    }

                    // If the token requirement is for a SymmetricKey based token..
                    if (tokenRequirement.KeyType == SecurityKeyType.SymmetricKey)
                    {
                        // Create a symmetric proof token
                        prooftoken = SamlUtilities.CreateSymmetricProofToken(tokenRequirement.KeySize);
                        // and a corresponding assertion based on the claims specified in the client credentials
                        assertion = SamlUtilities.CreateSymmetricKeyBasedAssertion(this.samlClientCredentials.Claims,
                                                                               new X509SecurityToken(samlClientCredentials.ClientCertificate.Certificate),
                                                                               new X509SecurityToken(samlClientCredentials.ServiceCertificate.DefaultCertificate),
                                                                               (BinarySecretSecurityToken)prooftoken,
                                                                               sas);
                    }
                    // otherwise...
                    else
                    {
                        // Create an asymmetric proof token
                        prooftoken = SamlUtilities.CreateAsymmetricProofToken();
                        // and a corresponding assertion based on the claims specified in the client credentials
                        assertion = SamlUtilities.CreateAsymmetricKeyBasedAssertion(this.samlClientCredentials.Claims, prooftoken, sas);
                    }

                }

                // Create a SamlSecurityTokenProvider based on the assertion and proof token
                return new SamlSecurityTokenProvider(assertion, prooftoken);
            }
            // otherwise use base implementation
            else
            {
                return base.CreateSecurityTokenProvider(tokenRequirement);
            }
        }
    }
}


e.dart';
import 'package:rpmlauncher/widget/RPMNetworkImage.dart';

enum AccountType {
  mojang,
  microsoft,
}

class Account {
  final AccountType type;
  final String accessToken;
  final String uuid;
  final String username;

  final String? email;
  final Credentials? credentials;

  Widget get imageWidget {
    return RPMNetworkImage(
        src: "https://minotar.net/helm/$uuid",
        errorWidget: const Icon(Icons.person));
  }

  Account(this.type, this.accessToken, this.uuid, this.username,
      {this.email, this.credentials});

  Map<String, dynamic> toJson() {
    return {
      'type': type.name,
      'accessToken': accessToken,
      'uuid': uuid,
      'username': username,
      'email': email,
      'credentials': credentials?.toJson(),
    };
  }

  @override
  String toString() {
    return json.encode(toJson());
  }

  factory Account.fromJson(Map<String, dynamic> json) {
    return Account(AccountType.values.byName(json['type']), json['accessToken'],
        json['uuid'], json['username'],
        email: json['email'],
        credentials: json['credentials'] != null
            ? Credentials.fromJson(json['credentials'])
            : null);
  }

  void save() => AccountStorage().save(this);

  @override
  bool operator ==(Object other) {
    if (identical(this, other)) return true;

    return other is Account &&
        other.type == type &&
        other.accessToken == accessToken &&
        other.uuid == uuid &&
        other.username == username &&
        other.email == email &&
        other.credentials == credentials;
  }

  @override
  int get hashCode {
    return type.hashCode ^
        accessToken.hashCode ^
        uuid.hashCode ^
        username.hashCode ^
        email.hashCode ^
        credentials.hashCode;
  }
}

class AccountStorage {
  File get _file => GameRepository.getAccountFile();
  late JsonStorage _storage;

  AccountStorage() {
    _storage = JsonStorage(_file);
  }

  bool get hasAccount => getCount() > 0 && getDefault() != null;

  void add(AccountType type, String accessToken, String uuid, String userName,
      {String? email, Credentials? credentials}) {
    final account = Account(type, accessToken, uuid, userName,
        email: email, credentials: credentials);
    account.save();
  }

  Account? getDefault() {
    int? index = getIndex();
    try {
      return index != null ? getByIndex(index) : null;
    } catch (e) {
      return null;
    }
  }

  void removeByIndex(int index) {
    Map? accounts = _storage.getItem('account');
    accounts?.remove(accounts.keys.toList()[index]);
    _storage.setItem("account", accounts);
  }

  void removeByUUID(String uuid) {
    Map? accounts = _storage.getItem('account');
    accounts?.remove(uuid);
    _storage.setItem("account", accounts);
  }

  Map getAll() {
    return _storage.toMap();
  }

  int getCount() {
    return _storage.getItem('account') == null
        ? 0
        : _storage.getItem('account').keys.length;
  }

  void setIndex


 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 01-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5a3.375 3.375 0 00-3.375-3.375H9.75"/></svg>';
  static const String document_duplicate_20_solid =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 20 20"><g fill="currentColor"><path d="M7 3.5A1.5 1.5 0 018.5 2h3.879a1.5 1.5 0 011.06.44l3.122 3.12A1.5 1.5 0 0117 6.622V12.5a1.5 1.5 0 01-1.5 1.5h-1v-3.379a3 3 0 00-.879-2.121L10.5 5.379A3 3 0 008.379 4.5H7v-1Z"/><path d="M4.5 6A1.5 1.5 0 003 7.5v9A1.5 1.5 0 004.5 18h7a1.5 1.5 0 001.5-1.5v-5.879a1.5 1.5 0 00-.44-1.06L9.44 6.439A1.5 1.5 0 008.378 6H4.5Z"/></g></svg>';
  static const String document_duplicate_solid =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><g fill="currentColor"><path d="M7.5 3.375c0-1.036.84-1.875 1.875-1.875h.375a3.75 3.75 0 013.75 3.75v1.875C13.5 8.161 14.34 9 15.375 9h1.875A3.75 3.75 0 0121 12.75v3.375C21 17.16 20.16 18 19.125 18h-9.75A1.875 1.875 0 017.5 16.125V3.375Z"/><path d="M15 5.25a5.23 5.23 0 00-1.279-3.434 9.768 9.768 0 016.963 6.963A5.23 5.23 0 0017.25 7.5h-1.875A.375.375 0 0115 7.125V5.25ZM4.875 6H6v10.125A3.375 3.375 0 009.375 19.5H16.5v1.125c0 1.035-.84 1.875-1.875 1.875h-9.75A1.875 1.875 0 013 20.625V7.875C3 6.839 3.84 6 4.875 6Z"/></g></svg>';
  static const String document_magnifying_glass =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375


*/
    protected $write(logInfo: ILogInfo, useFormatter?: boolean): void;
}
declare namespace Tilo {
    export import Level = LogLevel;
    export import Priority = LogPriority;
    export import Event = LogEvent;
}
export { Tilo };
import { ThemeType } from "./constants";

const lightTheme: ThemeType = {
    primary: "#198cf6",
    secondary: "#fde400",
    tertiary: "#00a627",
    background: {
        primary: "#f7f7f7",
        secondary: "#111"
    },
    text: {
        primary: "#111",
        secondary: "#f7f7f7"
    },
    brightness: {
        lighter: 1.1,
        darker: 0.9
    },
    boxColorCodes: {
        wrong: "#f54242",
        correct: "#4290f5",
        notTyped: "#111"
    },
    status: {
        positive: "#0f4f00",
        negative: "#cc0000"
    }
};

const darkTheme: ThemeType = {
    primary: "#005299",
    secondary: "#ffb300",
    tertiary: "#00aaff",
    background: {
        primary: "#1D1D1D",
        secondary: "#ffb300"
    },
    text: {
        primary: "#f7f7f7",
        secondary: "#f7f7f7"
    },
    brightness: {
        lighter: 1.1,
        darker: 0.9
    },
    boxColorCodes: {
        wrong: "#f54242",
        correct: "#4290f5",
        notTyped: "#f7f7f7"
    },
    status: {
        positive: "#37ff0a",
        negative: "#ff5252"
    }
};

export const themes = {
    dark: darkTheme,
    light: lightTheme
};

export type themeName = keyof typeof themes;

export const defaultTheme: themeName = localStorage.getItem("theme") as
    | "dark"
    | "light";

export const getTheme = (
    theme: themeName = defaultTheme || "light"
): ThemeType => {
    return themes[theme];
};
import {
  IConsoleRequest,
  IConsoleResponse,
} from '../../../presentation/protocol/console';
import { ICreateGardenUseCase } from '../../protocols/create-garden-use-case';

export class CreateGardenController {
  constructor(private readonly createGardenUseCase: ICreateGardenUseCase) {}

  async handle({
    body: { size, irrigablePatches },
  }: IConsoleRequest): Promise<IConsoleResponse> {
    const gardenOrError = await this.createGardenUseCase.execute({
      size,
      irrigablePatches,
    });

    if (gardenOrError.isLeft()) {
      return { statusCode: 400, body: gardenOrError.value };
    }

    return { statusCode: 201 };
  }
}
import { SimpleChanges } from '@angular/core';
import { ReplaySubject, Subscription } from 'rxjs';

export class ChangeFilterV2 {
  private subject = new ReplaySubject<SimpleChanges>(1);
  private subscriptions: Subscription = new Subscription();

  doFilter(changes: SimpleChanges) {
    this.subject.next(changes);
  }

  dispose() {
    this.subscriptions.unsubscribe();
  }

  notEmpty<T>(key: string, handler: (t: T) => void) {
    this.subscriptions.add(
      this.subject.subscribe(changes => {
        if (changes[key]) {
          const value: T = changes[key].currentValue;
          if (value !== undefined && value !== null) {
            handler(value);
          }
        }
      })
    );
  }

  has<T>(key: string, handler: (t: T) => void) {
    this.subscript


3-oo {
  0% {
    background-color: initial;
  }
  30% {
    background-color: #e3effd;
  }
  60% {
    background-color: initial;
  }
  to {
    background-color: #bbd9fb;
  }
}
@keyframes highlight-animation-theme-dark-3Ywm3-oo {
  0% {
    background-color: initial;
  }
  30% {
    background-color: #132042;
  }
  60% {
    background-color: initial;
  }
  to {
    background-color: #142e61;
  }
}
.container-3Ywm3-oo {
  align-items: center;
  box-sizing: border-box;
  cursor: default;
  display: flex;
  height: 32px;
  padding-left: 6px;
  padding-right: 16px;
}
.container-3Ywm3-oo.selected-3Ywm3-oo {
  background-color: #bbd9fb;
}
html.theme-dark .container-3Ywm3-oo.selected-3Ywm3-oo {
  background-color: #142e61;
}
@media (any-hover: hover), (min--moz-device-pixel-ratio: 0) {
  .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover {
    background-color: #f0f3fa;
  }
  html.theme-dark .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover {
    background-color: #2a2e39;
  }
  .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .favorite-3Ywm3-oo {
    visibility: visible;
  }
  .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo {
    background-color: #bbd9fb;
  }
  html.theme-dark
    .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo {
    background-color: #142e61;
  }
  .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo
    .favorite-3Ywm3-oo:hover {
    background-color: #90bff9;
  }
  html.theme-dark
    .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover.selected-3Ywm3-oo
    .favorite-3Ywm3-oo:hover {
    background-color: #143a87;
  }
  .container-3Ywm3-oo:not(.disabled-3Ywm3-oo):hover .actions-3Ywm3-oo {
    visibility: visible;
  }
}
.container-3Ywm3-oo.highlighted-3Ywm3-oo {
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}
.container-3Ywm3-oo.highlighted-3Ywm3-oo.light-3Ywm3-oo {
  animation-name: highlight-animation-theme-light-3Ywm3-oo;
}
.container-3Ywm3-oo.highlighted-3Ywm3-oo.dark-3Ywm3-oo {
  animation-name: highlight-animation-theme-dark-3Ywm3-oo;
}
@media screen and (max-width: 428px) {
  .container-3Ywm3-oo {
    height: 40px;
  }
}
.badge-3Ywm3-oo {
  margin-left: 4px;
}
.main


"483584": "Huawei Device Co., Ltd.",
  "88F6DC": "Huawei Device Co., Ltd.",
  "70EB74": "Ningbo Goneo Electric Appliance Co., Ltd.",
  "00057E": "Eckelmann AG",
  "D4955D": "zte corporation",
  "9C6697": "Cisco Systems, Inc",
  "D0E581": "Apple, Inc.",
  "940BCD": "Apple, Inc.",
  "1C3C78": "Apple, Inc.",
  "E45BB3": "zte corporation",
  "C4B1D9": "HUAWEI TECHNOLOGIES CO.,LTD",
  "707013": "HUAWEI TECHNOLOGIES CO.,LTD",
  "A4A459": "Hangzhou Hikvision Digital Technology Co.,Ltd.",
  "24EC4A": "Espressif Inc.",
  "981DAC": "Cyviz AS",
  "ECEBB8": "Hewlett Packard Enterprise ",
  "3817C3": "Hewlett Packard Enterprise ",
  "040973": "Hewlett Packard Enterprise ",
  "B88303": "Hewlett Packard Enterprise ",
  "904C81": "Hewlett Packard Enterprise ",
  "001438": "Hewlett Packard Enterprise ",
  "F40343": "Hewlett Packard Enterprise ",
  "98F2B3": "Hewlett Packard Enterprise ",
  "70106F": "Hewlett Packard Enterprise ",
  "C8FFBF": "IEEE Registration Authority",
  "482F6B": "Hewlett Packard Enterprise",
  "0C975F": "Hewlett Packard Enterprise",
  "343A20": "Hewlett Packard Enterprise",
  "749E75": "Hewlett Packard Enterprise",
  "548028": "Hewlett Packard Enterprise ",
  "9C8CD8": "Hewlett Packard Enterprise ",
  "08F1EA": "Hewlett Packard Enterprise ",
  "D4F5EF": "Hewlett Packard Enterprise ",
  "94B40F": "Hewlett Packard Enterprise",
  "BC9FE4": "Hewlett Packard Enterprise",
  "D015A6": "Hewlett Packard Enterprise",
  "D0D3E0": "Hewlett Packard Enterprise",
  "8C85C1": "Hewlett Packard Enterprise",
  "FC7FF1": "Hewlett Packard Enterprise",
  "00246C": "Hewlett Packard Enterprise",
  "001A1E": "Hewlett Packard Enterprise",
  "A852D4": "Hewlett Packard Enterprise",
  "946424": "Hewlett Packard Enterprise",
  "3821C7": "Hewlett Packard Enterprise",
  "54778A": "Hewlett Packard Enterprise ",
  "94A6D8": "New H3C Technologies Co., Ltd",
  "A827C8": "Edgecore Americas Networking Corporation",
  "24DD1B": "Qingdao Hi-image Technologies Co., Ltd",
  "F84477": "Silicon Laboratories",
  "6CFD22": "Silicon Laboratories",
  "50E4E0": "Hewlett Packard Enterprise",
  "380B26": "Mindray Co., Ltd.",
  "CC7E0F": "Theben AG",
  "C4474E": "Intel Corporate",
  "08B4D2": "Intel Corporate",
  "5CB47E": "Intel Corporate",
  "28C5C8": "HP Inc.",
  "90D3CF": "ASKEY COMPUTER CORP",
  "38AA20": "zte corporation",
  "70378E": "Tianyi Telecom Terminals Company Limited",
  "2CED89": "HUAWEI TECHNOLOGIES CO.,LTD",
  "800518": "HUAWEI TECHNOLOGIES


;
    }
  }
#endif
#if defined(HAS_INTERPOLATEROW_MSA)
  if (TestCpuFlag(kCpuHasMSA)) {
    InterpolateRow = InterpolateRow_Any_MSA;
    if (IS_ALIGNED(dst_width, 16)) {
      InterpolateRow = InterpolateRow_MSA;
    }
  }
#endif
#if defined(HAS_INTERPOLATEROW_LSX)
  if (TestCpuFlag(kCpuHasLSX)) {
    InterpolateRow = InterpolateRow_Any_LSX;
    if (IS_ALIGNED(dst_width, 16)) {
      InterpolateRow = InterpolateRow_LSX;
    }
  }
#endif
#if defined(HAS_INTERPOLATEROW_RVV)
  if (TestCpuFlag(kCpuHasRVV)) {
    InterpolateRow = InterpolateRow_RVV;
  }
#endif
  if (src_width >= 32768) {
    ScaleUVFilterCols = filtering ? ScaleUVFilterCols64_C : ScaleUVCols64_C;
  }
#if defined(HAS_SCALEUVFILTERCOLS_SSSE3)
  if (filtering && TestCpuFlag(kCpuHasSSSE3) && src_width < 32768) {
    ScaleUVFilterCols = ScaleUVFilterCols_SSSE3;
  }
#endif
#if defined(HAS_SCALEUVFILTERCOLS_NEON)
  if (filtering && TestCpuFlag(kCpuHasNEON)) {
    ScaleUVFilterCols = ScaleUVFilterCols_Any_NEON;
    if (IS_ALIGNED(dst_width, 8)) {
      ScaleUVFilterCols = ScaleUVFilterCols_NEON;
    }
  }
#endif
#if defined(HAS_SCALEUVFILTERCOLS_MSA)
  if (filtering && TestCpuFlag(kCpuHasMSA)) {
    ScaleUVFilterCols = ScaleUVFilterCols_Any_MSA;
    if (IS_ALIGNED(dst_width, 16)) {
      ScaleUVFilterCols = ScaleUVFilterCols_MSA;
    }
  }
#endif
#if defined(HAS_SCALEUVCOLS_SSSE3)
  if (!filtering && TestCpuFlag(kCpuHasSSSE3) && src_width < 32768) {
    ScaleUVFilterCols = ScaleUVCols_SSSE3;
  }
#endif
#if defined(HAS_SCALEUVCOLS_NEON)
  if (!filtering && TestCpuFlag(kCpuHasNEON)) {
    ScaleUVFilterCols = ScaleUVCols_Any_NEON;
    if (IS_ALIGNED(dst_width, 16)) {
      ScaleUVFilterCols = ScaleUVCols_NEON;
    }
  }
#endif
#if defined(HAS_SCALEUVCOLS_MSA)
  if (!filtering && TestCpuFlag(kCpuHasMSA)) {
    ScaleUVFilterCols = ScaleUVCols_Any_MSA;
    if (IS_ALIGNED(dst_width, 8)) {
      ScaleUVFilterCols = ScaleUVCols_MSA;
    }
  }
#endif
  if (!filtering && src_width * 2 == dst_width && x < 0x8000) {
    ScaleUVFilterCols = ScaleUVColsUp2_C;
#if defined(HAS_SCALEUVCOLSUP2_SSSE3)
    if (TestCpuFlag(kCpuHasSSSE3) && IS_ALIGNED(dst_width, 8)) {
      ScaleUVFilterCols = ScaleUVColsUp2_SSSE3;
    }
#endif
  }

  if (y > max_y) {
    y = max_y;
  }

  {
    int yi = y >> 16;
    const uint8_t* src = src_uv + yi * (intptr_t)src_stride;

    // Allocate 2 rows of UV.
    const int row_size = (dst_width * 2 + 15) & ~15;
    align_buffer_64(row, row_size * 2);
    if (!row)
      return 1;

    uint8_t* rowptr = row;
    int rowstride = row_size;
    int lasty = yi;


>
 * Here are some samples:
 *

 *

 *
 *
 *
 *
 *

 *

 *
 * Note
 * Recycle
 * Writing Hand
 *

 *

 *
 *
 *
 *

 *

 *
 * Flower
 * Warning
 *

 *

 *

 *

 *
 */
@ResourceSample(sample = { "com.pump.swing.resources.GlyphIcon.NOTE",
		"com.pump.swing.resources.GlyphIcon.RECYCLE",
		"com.pump.swing.resources.GlyphIcon.WRITING_HAND",
		"com.pump.swing.resources.GlyphIcon.FLOWER",
		"com.pump.swing.resources.GlyphIcon.WARNING" }, names = { "Note",
		"Recycle", "Writing Hand", "Flower", "Warning" })
public class GlyphIcon implements Icon {

	/**
	 * A glyph of unicode char 0x266b: "BEAMED EIGHTH NOTES"
	 */
	public static final GlyphIcon NOTE = create(new Font("default", 0, 140),
			'\u266B', 32, new Color(0, 0, 0, 80));

	/**
	 * A glyph of unicode char 0x267A: "RECYCLING SYMBOL FOR GENERIC MATERIALS"
	 */
	public static final GlyphIcon RECYCLE = create(new Font("default", 0, 140),
			'\u267A', 32, new Color(0, 0, 0, 80));

	/**
	 * A glyph of unicode char 0x270D: "WRITING HAND"
	 */
	public static final GlyphIcon WRITING_HAND = create(new Font("default", 0,
			80), '\u270D', 32, new Color(0, 0, 0, 80));

	/**
	 * A glyph of unicode char 0x2740: "WHITE FLORETTE"
	 */
	public static final GlyphIcon FLOWER = create(new Font("default", 0, 80),
			'\u2740', 32, new Color(0, 0, 0, 80));

	/**
	 * A glyph of unicode char 0x26A0: "WARNING SIGN"
	 */
	public static final GlyphIcon WARNING = crea


BATCH",
		User:      o.user,
		BatchSize: len(batch.Statements),
	}
	gocqlInstrumenter.StartAndEnd(ctx, request, nil, batch.Err, batch.Start, batch.End)
	if o.batchObserver != nil {
		o.batchObserver.ObserveBatch(ctx, batch)
	}
}
// Copyright (c) 2022 Alibaba Group Holding Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package address

import (
	"fmt"
	"io/ioutil"
	"math/rand"
	"net"
	"net/http"
	"strings"
	"sync"
	"time"

	"go.uber.org/atomic"
	"istio.io/pkg/log"
)

const (
	NACOS_PATH          = "/nacos/serverlist"
	MODULE_HEADER_KEY   = "Request-Module"
	MODULE_HEADER_VALUE = "Naming"
	DEFAULT_INTERVAL    = 30 * time.Second
)

type NacosAddressProvider struct {
	serverAddr      string
	nacosAddr       string
	nacosBackupAddr []string
	namespace       string
	stop            chan struct{}
	trigger         chan struct{}
	cond            *sync.Cond
	isStop          *atomic.Bool
	mutex           *sync.Mutex
}

func NewNacosAddressProvider(serverAddr, namespace string) *NacosAddressProvider {
	provider := &NacosAddressProvider{
		serverAddr: serverAddr,
		namespace:  namespace,
		stop:       make(chan struct{}),
		trigger:    make(chan struct{}, 1),
		cond:       sync.NewCond(new(sync.Mutex)),
		isStop:     atomic.NewBool(false),
		mutex:      &sync.Mutex{},
	}
	go provider.Run()
	return provider
}

func (p *NacosAddressProvider) Run() {
	ticker := time.NewTicker(DEFAULT_INTERVAL)
	defer ticker.Stop()
	p.addressDiscovery()
	for {
		select {
		case <-p.trigger:
			p.addressDiscovery()
		case <-ticker.C:
			p.addressDiscovery()
		case <-p.stop:
			return
		}
	}
}

func (p *NacosAddressProvider) Update(serverAddr, namespace string) {
	p.mutex.Lock()
	p.serverAddr = serverAddr
	p.namespace = namespace
	p.mutex.Unlock()
	p.addressDiscovery()
}

func (p *NacosAddressProvider) Trigger() {
	p.cond.L.Lock()
	oldAddr := p.nacosAddr
	if len(p.nacosBackupAddr) > 0 {
		p.nacosAddr = p.nacosBackupAddr[rand.Intn(len(p.nacosBackupAddr))]
		for i := len(p.nacosBackupAddr) - 1; i >= 0; i-- {
			if p.nacosBackupAddr[i] == p.nacosAddr {
				p.nacosBackupAddr = append(p.nacosBackupAddr[:i], p.nacosBackupAddr[i+1:]...)
			}
		}
		p.nacosBackupAddr = append(p.nacosBackupAddr, oldAddr)
	}
	p.cond.Broadcast()
	p.cond.L.Unlock()
	select {


Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Volume
The `Microsoft.Management.Infrastructure.CimInstance` object is a wrapper class that displays Windows Management Instrumentation (WMI) objects.
The path after the pound sign (`#`) provides the namespace and class name for the underlying WMI object.

## NOTES

* When used in Failover Cluster, cmdlets from the Storage module operate on cluster level (all servers in the cluster).

## RELATED LINKS

[Format-Volume](./Format-Volume.md)

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

[Optimize-Volume](./Optimize-Volume.md)

[Repair-Volume](./Repair-Volume.md)

---
title: '_WAVEFORMATEX structure'
description: The \_WAVEFORMATEX structure defines the format of waveform-audio data.
ms.assetid: 2128f07a-4858-49b7-b031-16d4a84c9d32
keywords:
- _WAVEFORMATEX structure windows Media Device Manager
topic_type:
- apiref
api_name:
- _WAVEFORMATEX
api_location:
- wmdm.idl
api_type:
- HeaderDef
ms.topic: reference
ms.date: 05/31/2018
---

# \_WAVEFORMATEX structure

The **\_WAVEFORMATEX** structure defines the format of waveform-audio data.

## Syntax

```C++
typedef struct _tWAVEFORMATEX {
  WORD  wFormatTag;
  WORD  nChannels;
  DWORD nSamplesPerSec;
  DWORD nAvgBytesPerSec;
  WORD  nBlockAlign;
  WORD  wBitsPerSample;
  WORD  cbSize;
} _WAVEFORMATEX;
```

## Members

**wFormatTag**

Must be set to a format or formats supported by the device. Note that previous versions of the Windows Media Device Manager recommended using WMDM\_WAVE\_FORMAT\_ALL to indicate support for all formats. However, this is no longer recommended, as different media players will interpret this in different ways, and few devices can truly play any file format. It is now recommended that you use the WMDM\_ENUM\_PROP\_VALID\_VALUES\_ANY value of the [**WMDM\_ENUM\_PROP\_VALID\_VALUES\_FORM**](wmdm-enum-prop-valid-values-form.md) enumeration, or better yet specify a range of formats with the [**WMDM\_PROP\_VALUES\_RANGE**](wmdm-prop-values-range.md) structure.

**nChannels**

Number of channels in the waveform-audio data. Monaural data uses one channel, and stereo data uses two channels.

**nSamplesPerSec**

Sample rate, in samples per second (Hertz), at which each channel must be played or recorded. Common values for **nSamplesPerSec** are 8.0 kilohertz (kHz), 11.025 kHz, 22.05 kHz, and 44.1 kHz.

**nAvgBytesPerSec**

Required average data-transfer rate for the format tag, in bytes per second. Playback and recording software can estimate buffer sizes by using the **nAvgBytesPerSec** member.

**nBlockAlign**

Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the **wFormatTag** format type. Playback and recording software must process a multiple of **nBlockAlign** bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is not possible to correctly start playing PCM data in the middle of a sample (that is, on a boundary that is not block aligned).

**wBitsPerSample**

Bits per sample for the **wFormatTag** format type.

**cbSize**

This member is ignored.

## Requirements

| Requirement | Value |
|-------------------|-------------------------------------------------------------------------------------|
| Header
 |

Wmdm.idl

 |

## See also

<


 => {
      const processed = JSON.parse(payload);
      expect(processed.statusCode).toBe(200);
      expect(typeof processed.body).toBe('object');
      expect(processed.body).toStrictEqual(expected);
      done();
    });
    mockSetupClient(client, commands, 'Pool1', () => {
      const request = mockRequest('Pool1', 'rounds', 'current');
      const poolApi = new PoolApi(client, poolConfigs, portalConfig);
      poolApi.handleApiV1(request, (code, message) => {
        poolApi.buildResponse(code, message, response);
      });
    });
  });

  test('Test handleRoundsHeight API endpoint', (done) => {
    const commands = [
      ['hset', 'Pool1:rounds:primary:round-180:shares', 'worker2.w1', JSON.stringify({ time: 0, work: 64, times: 20, worker: 'worker2.w1' })],
      ['hset', 'Pool1:rounds:primary:round-180:shares', 'worker2.w2', JSON.stringify({ time: 0, work: 44, times: 31, worker: 'worker2.w2' })],
      ['hset', 'Pool1:rounds:auxiliary:round-180:shares', 'worker3', JSON.stringify({ time: 0, work: 8, times: 50, worker: 'worker3' })]];
    const response = mockResponse();
    const expected = {
      'auxiliary': {'round': 180, 'work': {'worker3': 8}, 'times': {'worker3': 50}},
      'primary': {'round': 180, 'work': {'worker2': 108}, 'times': {'worker2': 31}}};
    response.on('end', (payload) => {
      const processed = JSON.parse(payload);
      expect(processed.statusCode).toBe(200);
      expect(typeof processed.body).toBe('object');
      expect(processed.body).toStrictEqual(expected);
      done();
    });
    mockSetupClient(client, commands, 'Pool1', () => {
      const request = mockRequest('Pool1', 'rounds', '180');
      const poolApi = new PoolApi(client, poolConfigs, portalConfig);
      poolApi.handleApiV1(request, (code, message) => {
        poolApi.buildResponse(code, message, response);
      });
    });
  });

  test('Test handleRounds API endpoint [1]', (done) => {
    const commands = [
      ['hset', 'Pool1:rounds:primary:round-180:shares', 'worker2.w1', JSON.stringify({ time: 0, work: 64, times: 20, worker: 'worker2.w1' })],
      ['hset', 'Pool1:rounds:primary:round-180:shares', 'worker2.w2', JSON.stringify({ time: 0, work: 44, times: 31, worker: 'worker2.w2' })],
      ['hset', 'Pool1:rounds:auxiliary:round-180:shares', 'worker3', JSON.stringify({ time: 0, work: 8, times: 50, worker: 'worker3' })],
      ['hset', 'Pool1:rounds:primary:round-181:shares', 'worker2.w1', JSON.stringify({ time: 0, work: 84, times: 50, worker: 'worker2.w1' })],
      ['hset', 'Pool1:rounds:primary:round-181:shares', 'worker2.w2', JSON.stringify({ time: 0, work: 34, times: 46, worker: 'worker2.w2' })],
      ['hset', 'Pool1:rounds:auxiliary:round-181:shares', 'worker3', JSON.stringify({ time: 0, work: 100, times: 105, worker: 'worker3' })]];
    const response = mockResponse();
    const expected = {
      'auxiliary': [{'round': 180, 'work': {'worker3': 8}, 'times': {'worker3': 50}}, {'round': 181, 'work': {'worker3': 100}, 'times': {'worker3': 105}}],
      'primary': [{'round': 180, 'work': {'worker2': 1


name, 'test1');
    expect(test.list?[1].name, 'test2');
  });

  test('deserialize: generic List<T>', () {
    ListTClass<SimpleClass> test = fromJson('{"listT": [{"name": "test1"}, {"name": "test2"}]}',
            [() => ListTClass<SimpleClass>(), {'listT': [() => List<SimpleClass>.empty(growable: true), SimpleClass]}]);

    expect(test.listT?[0].name, 'test1');
    expect(test.listT?[1].name, 'test2');
  });

  test('deserialize: GenericTClass', () {
    GenericTClass<SimpleClass> test = fromJson('{"t": {"name": "test"}}', [() => GenericTClass<SimpleClass>(), {'t': SimpleClass}]);

    expect(test.t?.name, 'test');

    GenericTClass<SimpleClass> test2 = fromJson('{"t": null}', [() => GenericTClass<SimpleClass>(), {'t': SimpleClass}]);

    expect(test2.t, null);
  });

  test('deserialize: GenericT1T2Class', () {
    GenericT1T2Class<SimpleClass, List<SimpleClass>> test = fromJson('{"t1": {"name": "test"}, "t2": [{"name": "test"}]}',
        [() => GenericT1T2Class<SimpleClass, List<SimpleClass>>(), {'t1': SimpleClass, 't2': [() => List<SimpleClass>.empty(growable: true), SimpleClass]}]);

    expect(test.t1?.name, 'test');
    expect(test.t2?[0].name, 'test');
  });

  test('deserialize: generic List<List<SimpleClass>>', () {
    ListListClass test = fromJson('{"list": [[{"name": "test1"}, {"name": "test2"}]]}', ListListClass);

    expect(test.list?[0][0].name, 'test1');
    expect(test.list?[0][1].name, 'test2');
  });

  test('deserialize: generic List<List<List<SimpleClass>>>', () {
    ListListListClass test = fromJson('{"list": [[[{"name": "test1"}, {"name": "test2"}]]]}', ListListListClass);

    expect(test.list?[0][0][0].name, 'test1');
    expect(test.list?[0][0][1].name, 'test2');
  });

  test('deserialize: generic List<Map<String, SimpleClass>>', () {
    ListMapClass test = fromJson(
        '{"list": [{"simpleClass1": {"name": "test1"}, "simpleClass2": {"name": "test2"}}]}', ListMapClass);

    expect(test.list?[0]['simpleClass1']?.name, 'test1');
    expect(test.list?[0]['simpleClass2']?.name, 'test2');
  });

  test('deserialize: generic List<List<Map<String, SimpleClass>>>', () {
    ListListMapClass test = fromJson(
        '{"list": [[{"simpleClass1": {"name": "test1"}, "simpleClass2": {"name": "test2"}}]]}', ListListMapClass);

    expect(test.list?[0][0]['simpleClass1']?.name, 'test1');
    expect(test.list?[0][0]['simpleClass2']?.name, 'test2');
  });

  test('deserialize: generic map', () {
    MapClass test = fromJson('{"myMap": {"test": {"name": "test"}, "test2": {"name": "test2"}}}', MapClass);

    expect(test.myMap?["test"]?.name, "test");
    expect(test.myMap?["test2"]?.name, "test2");
  });
}
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'main.dart';

// **************************************************************************
// SerializableGenerator
// **************************************************************************

mixin _$PersonSerializable on SerializableMap {
  int? get id;
  String? get firstName;
  String? get lastName;
  DateTime? get dateOfBirth;
  set id(int? v);
  set firstName(String? v);
  set lastName(String? v);
  set dateOfBirth(DateTime? v);

  operator [](Object? __


Use = this.filterCanUse(dataMap, skewCoors);
        if (skewCanUse.length === 0 && this.frontierCount <= 1) {
          // 相当于一个点的前后左右，斜对面全部被占满了,则尽量从前后左右再次突围
          return func.bind(this, newCoors[random(3)]);
        } else {
          newCoors = skewCoors;
          canUseCoors = skewCanUse;
        }
      }

      for (let j = 0; j < canUseCoors.length; j++) {
        const ele = canUseCoors[j];
        this.changeMapItem(dataMap, ele.x, ele.y);
        this.frontiers[`${ele.x}:${ele.y}`] = true;
        this.frontierCount++;
      }

      if (this.frontierCount < this.value) {
        const frontLen = Object.keys(this.frontiers).length;
        let randIdx = random(this.frontierCount - 1);
        if (randIdx !== -1 && frontLen > 0) {
          // 某个点附近有空白的地方
          const frontier = Object.keys(this.frontiers)
            [randIdx].split(":")
            .map((n) => parseInt(n));
          return func.bind(this, { x: frontier[0], y: frontier[1] });
        } else if (Object.keys(this.frontiers).length > 0) {
          // 再找已经标记的点附近
          const frontier = Object.keys(this.frontiers)
            [random(Object.keys(this.frontiers).length)].split(":")
            .map((n) => parseInt(n));
          return func.bind(this, { x: frontier[0], y: frontier[1] });
        } else {
          // 随机一个方向依次再找

          const coors = newCoors;
          const index = random(coors.length - 1);
          const frontier = coors[index];
          if (frontier && coors.length > 1) {
            return func.bind(this, { x: frontier.x, y: frontier.y });
          }
        }
      }
    };

    trampoline(func( start));
  }
}
import { Module } from 'vuex';
import { RootState } from './types';

interface State {
  count: number;
  error: null | string;
}

const state = {
  count: 0,
  error: null,
};

const mutations = {
  error: (s: State, msg: string) => { s.count++; s.error = msg; },
};

export const error: Module<State, RootState> = {
  namespaced: true,
  state,
  mutations,
};
import { useState } from "react";
import createPersistedState from "use-persisted-state";

/**
 * Only the first argument is required.
 */
createPersistedState("myKey");

/**
 * The generated hook conforms to the same signature as `React.useState`.
 */
const myHook: typeof useState = createPersistedState("myKey");

/**
 * Custom storage provider can be passed as the second argument.
 */
createPersistedState("myKey", localStorage);
createPersistedState("myKey", sessionStorage);

/**
 * The provider is similar to the `Storage` interface,
 * but cares only about `getItem` and `setItem` methods.
 */
const { getItem, setItem } = localStorage;
createPersistedState("myKey", { getItem, setItem });

/**
 * At least one argument must be provided.
 */
// @ts-expect-error
createPersistedState();


81 */	bl func_8017E954
/* 801BC8D8 001B8538  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 801BC8DC 001B853C  7F 23 CB 78 */	mr r3, r25
/* 801BC8E0 001B8540  38 A0 00 3B */	li r5, 0x3b
/* 801BC8E4 001B8544  38 C0 00 00 */	li r6, 0
/* 801BC8E8 001B8548  48 1F E3 BD */	bl func_803BACA4
/* 801BC8EC 001B854C  54 60 06 31 */	rlwinm. r0, r3, 0, 0x18, 0x18
/* 801BC8F0 001B8550  40 82 00 28 */	bne lbl_801BC918
/* 801BC8F4 001B8554  7C 74 98 2E */	lwzx r3, r20, r19
/* 801BC8F8 001B8558  4B FC 20 5D */	bl func_8017E954
/* 801BC8FC 001B855C  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 801BC900 001B8560  7F 23 CB 78 */	mr r3, r25
/* 801BC904 001B8564  38 A0 00 3B */	li r5, 0x3b
/* 801BC908 001B8568  38 C0 00 00 */	li r6, 0
/* 801BC90C 001B856C  48 1F E3 99 */	bl func_803BACA4
/* 801BC910 001B8570  54 60 00 85 */	rlwinm. r0, r3, 0, 2, 2
/* 801BC914 001B8574  41 82 00 14 */	beq lbl_801BC928
lbl_801BC918:
/* 801BC918 001B8578  7F 63 DB 78 */	mr r3, r27
/* 801BC91C 001B857C  38 80 00 14 */	li r4, 0x14
/* 801BC920 001B8580  4B FC 29 25 */	bl func_8017F244
/* 801BC924 001B8584  7C 7B 1B 78 */	mr r27, r3
lbl_801BC928:
/* 801BC928 001B8588  3A B5 00 01 */	addi r21, r21, 1
lbl_801BC92C:
/* 801BC92C 001B858C  56 A0 04 3E */	clrlwi r0, r21, 0x10
/* 801BC930 001B8590  7C 00 E0 40 */	cmplw r0, r28
/* 801BC934 001B8594  41 80 FF 54 */	blt lbl_801BC888
/* 801BC938 001B8598  57 40 04 3E */	clrlwi r0, r26, 0x10
/* 801BC93C 001B859C  28 00 00 B6 */	cmplwi r0, 0xb6
/* 801BC940 001B85A0  41 82 00 14 */	beq lbl_801BC954
/* 801BC944 001B85A4  28 00 00 C5 */	cmplwi r0, 0xc5
/* 801BC948 001B85A8  41 82 00 0C */	beq lbl_801BC954
/* 801BC94C 001B85AC  28 00 00 CB */	cmplwi r0, 0xcb
/* 801BC950 001B85B0  40 82 00 14 */	bne lbl_801BC964
lbl_801BC954:
/* 801BC954 001B85B4  7F 63 DB 78 */	mr r3, r27
/* 801BC958 001B85B8  38 80 FF E2 */	li r4, -30
/* 801BC95C 001B85BC  4B FC 28 E9


 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
            });

            memory.Write(0x1000_0004, buffer);

            Assert.Equal(new byte[] {0, 0, 0, 0, 1, 2, 3, 4}, space1.BackBuffer.Bits);
            Assert.Equal(new byte[] {5, 6, 7, 8, 9, 10, 11, 12}, space2.BackBuffer.Bits);
            Assert.Equal(new byte[] {13, 14, 15, 16, 0, 0, 0, 0}, space3.BackBuffer.Bits);

            byte[] buffer2 = {
                16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
            };

            memory.Write(0x1000_0004, buffer2);

            Assert.Equal(new byte[] {0, 0, 0, 0, 16, 15, 14, 13}, space1.BackBuffer.Bits);
            Assert.Equal(new byte[] {12, 11, 10, 9, 8, 7, 6, 5}, space2.BackBuffer.Bits);
            Assert.Equal(new byte[] {4, 3, 2, 1, 0, 0, 0, 0}, space3.BackBuffer.Bits);
        }
    }
}


rgin: 0;
  padding: 0;
  width: 100%;
  height: auto !important;
  cursor: text;
  padding-right: 36px;
  background: url(images/icons/plus.png) right 3px no-repeat;
}
.chzn-container-multi .chzn-choices li {
  float: left;
  list-style: none;
}
.chzn-container-multi .chzn-choices li.search-field {
  margin: 0;
  padding: 0 0 0 16px;
  white-space: nowrap;
}
.chzn-container-multi .chzn-choices li.search-field input {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0 none !important;
  background: transparent !important;
  filter:none;
  height: 37px;
  box-shadow: none;
  font-size: 100%;
  font-family: sans-serif;
}
.chzn-container-multi .chzn-choices li.search-field .default {
  color: #b8c0c8;
}
.chzn-container-multi .chzn-choices li.search-choice {
  position: relative;
  margin: 3px 0 3px 3px;
  padding: 0 24px 0 10px;
  border: 0 none;
  border-top: 1px solid #838f9b;
  .border-radius(@border-radius-input * 0.6);
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  font-size: @font-size - 2;
  color: #dbdbdb;
  height: 30px;
  line-height: 30px;
  cursor: default;
  background: rgb(121,134,146);
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iIzc5ODY5MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1NDYwNmUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top,  rgba(121,134,146,1) 0%, rgba(84,96,110,1) 100%);


db $b4,$40,0,0,$00 ;embrace-8
:28 db $b5,$40,0,0,$00 ;embrace-9
:29 db $b6,$40,0,0,$00 ;embrace-10
:30 db $b7,$40,0,0,$00 ;embrace-11
:31 db $b8,$40,0,0,$00 ;embrace-12
:32 db $b9,$40,0,0,$00 ;embrace-13
:33 db $ba,$40,0,0,$00 ;embrace-14
:34 db $bb,$40,0,0,$00 ;prise-1
:35 db $bc,$40,0,0,$00 ;prise-2
:36 db $bd,$40,0,0,$00 ;prise-3
:37 db $be,$40,0,0,$00 ;prise-4
:38 db $bf,$40,0,0,$80 ;prise-5
:39 db $bf,$40,0,0,$80 ;prise-6
:40 db $c1,$40,1,0,$00 ;prise-7
:41 db $c2,$40,-1,0,$00 ;prise-8
:42 db $c3,$40,2,0,$00 ;prise-9
:43 db $c4,$40,1,0,$80 ;prise-10
:44 db $c5,$40,0,0,$80 ;prise-11
:45 db $c6,$40,0,0,$80 ;prise-12
:46 db $c7,$40,0,0,$80 ;prise-13
:47 db $c8,$40,-1,0,$00 ;prise-14
:48 db $ca,$40,0,0,$80 ;vwalk-8
:49 db $cb,$40,0,0,$80 ;vwalk-9
:50 db $cc,$40,0,0,$80 ;vwalk-10
:51 db $cd,$40,0,0,$00 ;vwalk-11
:52 db $ce,$40,0,0,$00 ;vwalk-12
:53 db $cf,$40,0,0,$80 ;vwalk-13
:54 db $d0,$40,0,0,$80 ;vstand-3
:55 db $d1,$40,0,0,$80 ;vstand-2
:56 db $d2,$40,0,0,$80 ;vstand-1
:57 db $d3,$40,0,0,$80 ;vturn-5
:58 db $d4,$40,0,0,$80 ;vturn-6
:59 db $d5,$40,0,0,$80 ;vturn-7
:60 db $d6,$40,0,0,$80 ;vturn-8
:61 db $d7,$40,0,0,$00 ;vturn-9
:62 db $d8,$40,0,0,$80 ;vturn-10
:63 db $d9,$40,0,0,$00 ;vturn-11
:64 db $da,$40,0,0,$00 ;vturn-12
:65 db $db,$40,0,0,$80 ;vturn-13
:66 db $dc,$40,0,0,$00 ;vturn-14
:67 db $dd,$40,3,0,$00 ;vcast-2
:68 db $de,$40,3,0,$00 ;vcast-3
:69 db $df,$40,3,0,$00 ;vcast-4
:70 db $e0,$40,2,0,$00 ;vcast-5
:71 db $e1,$40,3,0,$80 ;vcast-6
:72 db $e2,$40,5,0,$00 ;vcast-7
:73 db $e3,$40,5,0,$00 ;vcast-8
:74 db $e4,$40,1,0,$80 ;vcast-9
:75 db $e5,$40,2,0,$80 ;vcast-10
:76 db $e6,$40,2,0,$80 ;vcast-11 (held)
:77 db $e7,$40,1,0,$80 ;vcast-13
:78 db $81,$80,1,0,$00 ;vcast-14
:79 db $82,$80,2,0


上缴给公社70％，自己留30％。

   关于上调劳动力的收入分配问题，南康小组有的认为应该80％归包产队，10％归管理区，10％归公社；也有的认为公社不给，管理区则按实际收入的多少，酌情分给。

   人民公社有“三乱”

   新建县大塘公社生产队长陈所银说：“常年互助组很好，卖了很多余粮，有钱用，有粮吃。高级社也不错，我也分了很多红。转人民公社时讲得很好，做起来就不好了，产生三乱：1.劳动力乱调；2.粮食乱调；3.东西乱调。到耕作区来，就搞得一塌糊涂。”

   劳动组织有“四多”

   吉安地区反映，目前劳动组织有四多现象：第一，非生产人员多。泰和县禾市公社丰垅管理区、高垅公社坪州生产队和上田公社梦陂生产队三个单位的非生产人员（指托儿所、幼儿园、食堂、饲养、种菜等不直接参加耕作者），占总劳动力的25.26％。吉水尚贤公社桥东队200多户人家，用了24人做饭。第二，工业用人多。吉安金滩公社单在三曲滩一地就用了400多人。第三，外流多。吉水有3000人外流。第四，干部多。吉安塘东公社塘东管理区有养猪场长、气象站长、松香厂长、化肥厂长。群众说：“都是长，都想穿球鞋。”

   在讨论中对如何改变上述现象，提出了如下3种办法：第一，精简非生产人员。炊事、种菜、养猪三结合，以妇女代男人；幼儿园与托儿所相结合，以老太婆代替年轻妇女，或将托儿所改为田间托。第二，实行定额制。如一个炊事员包30至40个人的饭（包括种菜、打柴等）等。第三，农业中学以劳动为主，白天生产，晚上读书，或是一个月抽出几天时间读书；小学以生产、学习并重；文工团要参加生产，只能业余排演。

   权力下放后还是不好办

   萍乡小组提出，权力下放到管理区以后还是很难办，公社把管理区的人力、财力都调走了，管理区成了一个破烂摊子，担心吃不上饭，发不出工资。

   星子、武宁、湖口、德安等县对权力下放问题，还提出一些疑问：权力下放后，管理区买东西是不是还要经过公社批准？若经过，又算什么权力下放？一个管理区包括几个高级社的


Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct MorphLineStyle {
  pub width: u16,
  pub morph_width: u16,
  pub start_cap: CapStyle,
  pub end_cap: CapStyle,
  pub join: JoinStyle,
  pub no_h_scale: bool,
  pub no_v_scale: bool,
  pub no_close: bool,
  pub pixel_hinting: bool,
  pub fill: MorphFillStyle,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct Glyph {
  pub records: Vec<ShapeRecord>,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct Shape {
  pub initial_styles: ShapeStyles,
  pub records: Vec<ShapeRecord>,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct MorphShape {
  pub initial_styles: MorphShapeStyles,
  pub records: Vec<MorphShapeRecord>,
}

#[cfg_attr(
  feature = "serde",
  derive(Serialize, Deserialize),
  serde(tag = "type", rename_all = "kebab-case")
)]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum ShapeRecord {
  Edge(shape_records::Edge),
  StyleChange(shape_records::StyleChange),
}

#[cfg_attr(
  feature = "serde",
  derive(Serialize, Deserialize),
  serde(tag = "type", rename_all = "kebab-case")
)]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum MorphShapeRecord {
  Edge(shape_records::MorphEdge),
  StyleChange(shape_records::MorphStyleChange),
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct ShapeStyles {
  pub fill: Vec<FillStyle>,
  pub line: Vec<LineStyle>,
}

#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct MorphShapeStyles {
  pub fill: Vec<MorphFillStyle>,
  pub line: Vec<MorphLineStyle>,
}

pub mod shape_records {
  #[cfg(feature = "serde")]
  use ::serde::{Deserialize, Serialize};

  use crate::Vector2D;

  use super::{MorphShapeStyles, ShapeStyles};

  #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
  #[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
  pub struct Edge {
    /// Difference between the edge start and edge end.
    pub delta: Vector2D,

    /// Difference between the edge start and quadratic bezier control point (if
    /// any).
    #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
    pub control_delta: Option<Vector2D>,
  }

  #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
  #[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
  pub struct MorphEdge {
    /// Difference between the edge start and edge end in the start-state of the


.set noat
.set noreorder
.set gp=64

.include "macros.inc"

.section .text, "ax"

glabel func_801A0D50
/* 146DC0 801A0D50 3C0E8005 */  lui   $t6, %hi(D_8004A7C4) # $t6, 0x8005
/* 146DC4 801A0D54 8DCEA7C4 */  lw    $t6, %lo(D_8004A7C4)($t6)
/* 146DC8 801A0D58 3C02800E */  lui   $v0, 0x800e
/* 146DCC 801A0D5C 8DCF0000 */  lw    $t7, ($t6)
/* 146DD0 801A0D60 000FC080 */  sll   $t8, $t7, 2
/* 146DD4 801A0D64 00581021 */  addu  $v0, $v0, $t8
/* 146DD8 801A0D68 8C421B50 */  lw    $v0, 0x1b50($v0)
/* 146DDC 801A0D6C 03E00008 */  jr    $ra
/* 146DE0 801A0D70 AC44009C */   sw    $a0, 0x9c($v0)

.type func_801A0D50, @function
.size func_801A0D50, . - func_801A0D50

glabel func_801A0D74_ovl7
/* 146DE4 801A0D74 3C0E8005 */  lui   $t6, %hi(D_8004A7C4) # $t6, 0x8005
/* 146DE8 801A0D78 8DCEA7C4 */  lw    $t6, %lo(D_8004A7C4)($t6)
/* 146DEC 801A0D7C 27BDFFC8 */  addiu $sp, $sp, -0x38
/* 146DF0 801A0D80 AFBF0014 */  sw    $ra, 0x14($sp)
/* 146DF4 801A0D84 AFA40038 */  sw    $a0, 0x38($sp)
/* 146DF8 801A0D88 8DC30000 */  lw    $v1, ($t6)
/* 146DFC 801A0D8C 3C02800E */  lui   $v0, 0x800e
/* 146E00 801A0D90 00031880 */  sll   $v1, $v1, 2
/* 146E04 801A0D94 00431021 */  addu  $v0, $v0, $v1
/* 146E08 801A0D98 8C421B50 */  lw    $v0, 0x1b50($v0)
/* 146E0C 801A0D9C 8C450084 */  lw    $a1, 0x84($v0)
/* 146E10 801A0DA0 54A00004 */  bnezl $a1, .L801A0DB4_ovl7
/* 146E14 801A0DA4 8C4F0048 */   lw    $t7, 0x48($v0)
/* 146E18 801A0DA8 1000025A */  b     .L801A1714_ovl7
/* 146E1C 801A0DAC 00001025 */   move  $v0, $zero
/* 146E20 801A0DB0 8C4F0048 */  lw    $t7, 0x48($v0)
.L801A0DB4_ovl7:
/* 146E24 801A0DB4 2401FFFF */  li    $at, -1
/* 146E28 801A0DB8 3C18800F */  lui   $t8, 0x800f
/* 146E2C 801A0DBC 15E10003 */  bne   $t7, $at, .L801A0DCC_ovl7
/* 146E30 801A0DC0 0303C021


* opencv_source_code/samples/cpp/starter_video.cpp
 *
 Another basic video processing sample can be found at
 * opencv_source_code/samples/cpp/video_dmtx.cpp
 *
 (Python) A basic sample on using the VideoCapture interface can be
 * found at opencv_source_code/samples/python2/video.py
 *
 (Python) Another basic video processing sample can be found at
 * opencv_source_code/samples/python2/video_dmtx.py
 *
 (Python) A multi threaded video processing sample can be found at
 * opencv_source_code/samples/python2/video_threaded.py
 *

 *
 * @see org.opencv.highgui.VideoCapture
 */
public class VideoCapture {

    protected final long nativeObj;

    protected VideoCapture(long addr) {
        nativeObj = addr;
    }

    //
    // C++: VideoCapture::VideoCapture()
    //

/**
 *
VideoCapture constructors.

 *
 *
Note: In C API, when you finished working with video, release
 * CvCapture structure with cvReleaseCapture(), or use
 * Ptr<CvCapture> that calls cvReleaseCapture()
 * automatically in the destructor.

 *
 * @see org.opencv.highgui.VideoCapture.VideoCapture
 */
    public VideoCapture()
    {

        nativeObj = n_VideoCapture();

        return;
    }

    //
    // C++: VideoCapture::VideoCapture(int device)
    //

/**
 *
VideoCapture constructors.

 *
 *
Note: In C API, when you finished working with video, release
 * CvCapture structure with cvReleaseCapture(), or use
 * Ptr<CvCapture> that calls cvReleaseCapture()
 * automatically in the destructor.

 *
 * @param device id of the opened video capturing device (i.e. a camera index).
 * If there is a single camera connected, just pass 0.
 *
 * @see org.opencv.highgui.VideoCapture.VideoCapture
 */
    public VideoCapture(int device)
    {

        nativeObj = n_VideoCapture(device);

        return;
    }

    //
    // C++: double VideoCapture::get(int propId)
    //

/**
 * Returns the specified "VideoCapture" property.
 *
 * Note: When querying a property that is not supported by the backend used by
 * the "VideoCapture" class, value 0 is returned.
 *
 * @param propId property identifier; it can be one of the following:
 *   * CV_CAP_PROP_FRAME_WIDTH width of the frames in the video stream.
 *   * CV_CAP_PROP_FRAME_HEIGHT height of the frames in the video stream.
 *
 * @see org.opencv.highgui.VideoCapture.get
 */
    public double get(int propId)
    {

        double retVal = n_get(nativeObj, propId);

        return retVal;
    }

    public List<Size> getSupportedPreviewSizes()
    {
        String[] sizes_str = n_getSupportedPreviewSizes(nativeObj).split(",");
        List<Size> si


/ Fragment shader
var fshader = `
precision mediump float;
uniform sampler2D sampler;
varying vec2 v_texCoord;
void main() {
  gl_FragColor = texture2D(sampler, v_texCoord);
}`;

// Compile program
var program = compile(gl, vshader, fshader);

// Interleaved data buffer (X,Y: vertex coordinates, U,V: texture coordinates)
// Texture coordinates are also sometimes called S and T
var verticesTexCoords = new Float32Array([
  -0.5, 0.5,  0.0, 1.0,
  -0.5, -0.5, 0.0, 0.0,
  0.5,  0.5,  1.0, 1.0,
  0.5,  -0.5, 1.0, 0.0,
]);

var n = 4; // vertices (4)
var FSIZE = verticesTexCoords.BYTES_PER_ELEMENT; // bytes per float (4)

// Create the buffer object
var vertexTexCoordBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexTexCoordBuffer);
gl.bufferData(gl.ARRAY_BUFFER, verticesTexCoords, gl.STATIC_DRAW);

// Use every 1st and 2nd float for position
var position = gl.getAttribLocation(program, 'position');
gl.vertexAttribPointer(position, 2, gl.FLOAT, false, FSIZE * 4, 0);
gl.enableVertexAttribArray(position);

// Use every 3rd and 4th float for texCoord
var texCoord = gl.getAttribLocation(program, 'texCoord');
gl.vertexAttribPointer(texCoord, 2, gl.FLOAT, false, FSIZE * 4, FSIZE * 2);
gl.enableVertexAttribArray(texCoord);

// Set the clear color
gl.clearColor(0.0, 0.0, 0.0, 1.0);

// Set a 2D texture
var texture = gl.createTexture();
var sampler = gl.getUniformLocation(program, 'sampler');
var image = new Image();
image.src = './sky.jpg'; // URL or path relative to the HTML file
image.onload = function(){

  // Flip the image's y axis
  gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);

  // Enable texture 0
  gl.activeTexture(gl.TEXTURE0);

  // Set the texture's target (2D or cubemap)
  gl.bindTexture(gl.TEXTURE_2D, texture);

  // Stretch/wrap options
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);

  // Bind image to texture
  gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, image);

  // Pass texture 0 to the sampler
  gl.uniform1i(sampler, 0);

  gl.clear(gl.COLOR_BUFFER_BIT);   // Clear canvas
  gl.drawArrays(gl.TRIANGLE_STRIP, 0, n); // Draw the quad
};
</script><canvas id="canvas" width=400 height=400></canvas>
<script src="../lib/webgl.js"></script>
<script src="../lib/matrix.js"></script>
<script src="../lib/shapes.js"></script>
<script>
// WebGL canvas context
var gl = canvas.getContext('webgl');

// Vertex shader
var vshader = `
precision mediump float;
uniform mat4 perspective;
uniform mat4 camera;
attribute vec4 position;
attribute vec4 color;
attribute vec3 normal;
varying vec4 v_position;
varying vec3 v_normal;
varying vec4 v_color;
void main() {
  v_position =  camera * position;
  gl_Position = perspective * v_position;

  //


7004)
	bl      Function_37fa444
	bl      Function_37fc260
	bl      Function_37fcfec
	bl      Function_37fee20
	bl      Function_37fb798
	mov     r0, #0x0
	mov     r1, r0
	mov     r2, r0
	mov     r3, r0
	bl      Function_37fb8c8
	mov     r0, #0x7f
	bl      Function_37fb8b8
	bl      Function_37fa2c0
	ldr     r2, [pc, #0x94] @ [0x37fc1f0] (=0x37fc0e8)
	adds    r4, r0, #1, 16 @ #0x10000
	str     r2, [sp, #0x4]
	mov     r0, #0x0
	str     r0, [sp, #0x8]
	str     r0, [sp]
	adc     r2, r1, #0x0
	ldr     r3, [pc, #0x7c] @ [0x37fc1f4] (=0xaa8)
	ldr     r0, [pc, #0x70] @ [0x37fc1ec] (=0x3807004)
	mov     r1, r4
	bl      Function_37fa5f0
	ldr     r7, [pc, #0x5c] @ [0x37fc1e4] (=0x3806fe4)
	mov     r4, #0x1
	add     r6, sp, #0xc
	mov     r8, #0x0
	mov     r5, r4
.arm
branch_37fc194: @ 0x37fc194 :arm
	mov     r0, r7
	mov     r1, r6
	mov     r2, r5
	mov     r9, r8
	bl      Function_37f9804
	ldr     r0, [sp, #0xc]
	cmp     r0, #0x1
	beq     branch_37fc1bc
	cmp     r0, #0x2
	b       branch_37fc1c0
@ 0x37fc1bc

.arm
branch_37fc1bc: @ 0x37fc1bc :arm
	mov     r9, r4
.arm
branch_37fc1c0: @ 0x37fc1c0 :arm
	bl      Function_37fc2bc
	bl      Function_37ff018
	mov     r0, r9
	bl      Function_37fd050
	mov     r0, r9
	bl      Function_37fc4a8
	bl      Function_37fed88
	bl      Function_37fbfc0
	b       branch_37fc194
@ 0x37fc1e4

.word 0x3806fe4 @ 0x37fc1e4
.word 0x3806fc4 @ 0x37fc1e8
.word 0x3807004 @ 0x37fc1ec
.word Function_37fc0e8 @ =0x37fc0e8, 0x37fc1f0
.word 0xaa8 @ 0x37fc1f4
.arm
Function_37fc1f8: @ 0x37fc1f8 :arm
	stmfd   sp!, {r3-r5,lr}
	ldr     r4, [sp, #0x10]
	mov     r5, r0, lsl #3
	cmp     r4, #0x0
	movne   r4, #0x0
	moveq   r4, #0x1
	mov     r12, r4, lsl #2
	ldr     lr, [sp, #0x14]
	orr     r1, r12, r1, lsl #3
	orr     r12, r1, lr, lsl #1
	ldr     r4, [sp, #0x18]


40.0005 58.6851H24.0005V48.1945C24.0005 46.0727 24.8434 44.0379 26.3437 42.5376C27.844 41.0373 29.8788 40.1945 32.0005 40.1945C34.1223 40.1945 36.1571 41.0373 37.6574 42.5376C39.1577 44.0379 40.0005 46.0727 40.0005 48.1945V58.6851ZM58.6672 56.0184C58.6672 56.7257 58.3862 57.404 57.8861 57.9041C57.386 58.4042 56.7078 58.6851 56.0005 58.6851H45.3339V48.1945C45.3339 44.6582 43.9291 41.2668 41.4286 38.7664C38.9281 36.2659 35.5367 34.8611 32.0005 34.8611C28.4643 34.8611 25.0729 36.2659 22.5724 38.7664C20.0719 41.2668 18.6672 44.6582 18.6672 48.1945V58.6851H8.00052C7.29328 58.6851 6.615 58.4042 6.1149 57.9041C5.61481 57.404 5.33385 56.7257 5.33385 56.0184V29.8398C5.33633 29.1331 5.61702 28.4557 6.11519 27.9544L26.3419 7.73311C27.8451 6.23693 29.8796 5.39696 32.0005 5.39696C34.1214 5.39696 36.156 6.23693 37.6592 7.73311L57.8859 27.9624C58.3821 28.4618 58.6626 29.1358 58.6672 29.8398V56.0184Z' fill='%2308090E'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_7_4854'%3E%3Crect width='64' height='64' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}

body:not(.disable-alternative-checkboxes)
  [data-task="H"]
  > input[type="checkbox"]:checked:after,
body:not(.disable-alternative-checkboxes)
  [data-task="H"]
  > p
  > input[type="checkbox"]:checked:after,
body:not(.disable-alternative-checkboxes)
  [data-task="H"][type="checkbox"]:checked:after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'%3E%3Cg clip-path='url(%23clip0_7_5007)'%3E%3Cpath d='M46.6666 5.11076C43.6638 5.15747 40.7265 5.99571 38.1513 7.54082C35.5761 9.08593 33.4543 11.2832 32 13.9108C30.5457 11.2832 28.4238 9.08593 25.8486 7.54082C23.2734 5.99571 20.3361 5.15747 17.3333 5.11076C12.5465 5.31874 8.03652 7.41277 4.78872 10.9354C1.54093 14.458 -0.180698 19.1228 -2.98442e-05 23.9108C-2.98442e-05 36.0361 12.7626 49.2788 23.4666 58.2574C25.8566 60.2658 28.8782 61.3668 32 61.3668C35.1217 61.3668 38.1434 60.2658 40.5333 58.2574C51.2373 49.2788 64 36.0361 64


 value;

  XdrClaimableBalanceEntry(
      this._balanceID, this._claimants, this._asset, this._amount, this._ext);

  static void encode(
      XdrDataOutputStream stream, XdrClaimableBalanceEntry encoded) {
    XdrClaimableBalanceID.encode(stream, encoded.balanceID);
    int pSize = encoded.claimants.length;
    stream.writeInt(pSize);
    for (int i = 0; i < pSize; i++) {
      XdrClaimant.encode(stream, encoded.claimants[i]);
    }
    XdrAsset.encode(stream, encoded.asset);
    XdrInt64.encode(stream, encoded.amount);
    XdrClaimableBalanceEntryExt.encode(stream, encoded.ext);
  }

  static XdrClaimableBalanceEntry decode(XdrDataInputStream stream) {
    XdrClaimableBalanceID xBalanceID = XdrClaimableBalanceID.decode(stream);
    int pSize = stream.readInt();
    List<XdrClaimant> xClaimants = List<XdrClaimant>.empty(growable: true);
    for (int i = 0; i < pSize; i++) {
      xClaimants.add(XdrClaimant.decode(stream));
    }
    XdrAsset xAsset = XdrAsset.decode(stream);
    XdrInt64 xAmount = XdrInt64.decode(stream);
    XdrClaimableBalanceEntryExt xExt =
        XdrClaimableBalanceEntryExt.decode(stream);

    return XdrClaimableBalanceEntry(
        xBalanceID, xClaimants, xAsset, xAmount, xExt);
  }
}

class XdrClaimableBalanceEntryExt {
  int _v;

  int get discriminant => this._v;

  set discriminant(int value) => this._v = value;

  XdrClaimableBalanceEntryExtV1? _v1;

  XdrClaimableBalanceEntryExtV1? get v1 => this._v1;

  set v1(XdrClaimableBalanceEntryExtV1? value) => this._v1 = value;

  XdrClaimableBalanceEntryExt(this._v);

  static void encode(
      XdrDataOutputStream stream, XdrClaimableBalanceEntryExt encoded) {
    stream.writeInt(encoded.discriminant);
    switch (encoded.discriminant) {
      case 0:
        break;
      case 1:
        XdrClaimableBalanceEntryExtV1.encode(stream, encoded.v1!);
        break;
    }
  }

  static XdrClaimableBalanceEntryExt decode(XdrDataInputStream stream) {
    XdrClaimableBalanceEntryExt decoded =
        XdrClaimableBalanceEntryExt(stream.readInt());
    switch (decoded.discriminant) {
      case 0:
        break;
      case 1:
        decoded.v1 = XdrClaimableBalanceEntryExtV1.decode(stream);
        break;
    }
    return decoded;
  }
}

class XdrClaimableBalanceEntryExtV1 {
  int _v;

  int get discriminant => this._v;

  set discriminant(int value) => this._v = value;

  XdrUint32 _flags;
  XdrUint32 get flags => this._flags;
  set flags(XdrUint32 value) => this._flags = value;

  XdrClaimableBalanceEntryExtV1(this._v, this._flags);

  static void encode(
      XdrDataOutputStream stream, XdrClaimableBalanceEntryExtV1 encoded) {
    stream.writeInt(encoded.discriminant);
    switch (encoded.discriminant) {
      case 0:
        break;
    }
    XdrUint32.encode(stream, encoded.flags);
  }

  static XdrClaimableBalanceEntryExtV1 decode(XdrDataInputStream stream) {
    int v = stream.readInt();
    switch (v) {
      case 0:


int pointCount = shapePath.Length;
        var inputs = new ContourVertex[1 * pointCount];
        for (int i = 0; i < pointCount; i++)
        {
            Color extrusionData = new Color(shapePath[i].x, shapePath[i].y, shapePath[i].x, shapePath[i].y);
            int nextPoint = (i + 1) % pointCount;
            inputs[1 * i] = new ContourVertex() { Position = new Vec3() { X = shapePath[i].x, Y = shapePath[i].y, Z = 0 }, Data = extrusionData };

            // extrusionData = new Color(shapePath[i].x, shapePath[i].y, shapePath[nextPoint].x, shapePath[nextPoint].y);
            // Vector2 midPoint = 0.5f * (shapePath[i] + shapePath[nextPoint]);
            // inputs[2 * i + 1] = new ContourVertex() { Position = new Vec3() { X = midPoint.x, Y = midPoint.y, Z = 0 }, Data = extrusionData };
        }

        // sw.Stop();
        // double time = sw.Elapsed.TotalMilliseconds;
        // UnityEngine.Debug.LogError($"生成阴影网格耗时：{time:F3}ms");

        Tess tessI = new Tess();
        tessI.AddContour(inputs, ContourOrientation.Original);
        tessI.Tessellate(WindingRule.EvenOdd, ElementType.Polygons, 3, InterpCustomVertexData);

        // sw.Stop();
        // double time = sw.Elapsed.TotalMilliseconds;
        // UnityEngine.Debug.LogError($"生成阴影网格耗时：{time:F3}ms");

        var indicesI = tessI.Elements.Select(i => i).ToArray();
        var verticesI = tessI.Vertices.Select(v => new Vector3(v.Position.X, v.Position.Y, 0)).ToArr


anceCmd...)
		cmdManager.RegisterFlagForCmd(&actionCPUsFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionCPUsetCPUsFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionCPUsetMemsFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionMemoryFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionMemoryReservationFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionMemorySwapFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionOomKillDisableFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionPidsLimitFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionUnsquashFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionIgnoreSubuidFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionIgnoreFakerootCommand, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionIgnoreUsernsFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionUnderlayFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionShareNSFlag, actionsCmd...)
		cmdManager.RegisterFlagForCmd(&commonAuthFileFlag, actionsInstanceCmd...)
		cmdManager.RegisterFlagForCmd(&actionRunscriptTimeoutFlag, actionsRunscriptCmd...)
		cmdManager.RegisterFlagForCmd(&actionIntelHpuFlag, actionsInstanceCmd...)
	})
}
// Copyright (c) Contributors to the Apptainer project, established as
//   Apptainer a Series of LF Projects LLC.
//   For website terms of use, trademark policy, privacy policy and other
//   project policies see https://lfprojects.org/policies
// Copyright (c) 2020, Sylabs Inc. All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the
// LICENSE.md file distributed with the sources of this project regarding your
// rights to use or distribute this software.

package cache

import (
	"net/http"
	"net/http/httptest"
	"os"
	"path"
	"path/filepath"
	"testing"

	"github.com/apptainer/apptainer/e2e/internal/e2e"
	"github.com/apptainer/apptainer/internal/pkg/util/fs"
)

// issue5097 - need to handle an existing directory entry present in the cache
// from older apptainer versions.
func (c cacheTests) issue5097(t *testing.T) {
	imgCacheDir, cleanCache := e2e.MakeCacheDir(t, c.env.TestDir)
	defer cleanCache(t)
	c.env.UnprivCacheDir = imgCacheDir

	tempDir, imgStoreCleanup := e2e.MakeTempDir(t, "", "", "image store")
	defer imgStoreCleanup(t)
	imagePath := filepath.Join(tempDir, imgName)

	srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		http.ServeFile(w, r, c.env.ImagePath)
	}))
	defer srv.Close()

	// Pull through the cache - will give us a new style file in the cache
	c.env.RunApptainer(
		t,
		e2e.WithProfile(e2e.UserProfile),
		e2e.WithCommand("pull"),
		e2e.WithArgs([]string{"--force", imagePath, srv.URL}...),
		e2e.ExpectExit(0),
	)

	// Replace the cache entry with a directory, containing the image,
	// like in older versions of apptainer
	hash, err := netHash(srv.URL)
	if err != nil {
		t.Fatalf("Could not calculate hash of test image: %v", err)
	}
	cachePath := path.Join(imgCacheDir, "cache", "net", hash)
	err = os.Remove(cachePath)
	if err != nil {
		t.Fatalf("Could not remove cached image '%s': %v", cachePath, err)
	}
	err = os.Mkdir(cachePath, 0o700)
	if err != nil {
		t.Fatalf("Could not create directory '%s': %v", cachePath, err)
	}
	err = fs.CopyFile(imagePath, path.Join(cachePath, hash), 0o700)
	if err != nil {
		t.Fatalf("Could


скорости слезы#↑ +1 к удаче#↑ +6.9 к шансу появления сделки Ангела / Дьявола#↑ +6.9% к шансу {{Planetarium}} Планетария"}, --  Sausage
	[670] = {"670", "Выбор?", "Если после зачистки комнаты дается награда, то на выбор будет две разные награды#Поднятие одного приводит к исчезновению другого"}, --  Options?
	[671] = {"671", "Конфетное сердце", "За каждую исцелённую половину красного сердца с помощью подбираемых сердец навсегда увеличивает случайную характеристику"}, --  Candy Heart
	[672] = {"672", "Фунт плоти", "Сделки с Дьяволом теперь требуют монеты#Предметы в магазине теперь требуют сердца#Расходные материалы в магазинах бесплатны, но окружены шипами"}, --  A Pound of Flesh
	[673] = {"673", "Искупление", "+1 синее сердце и +1.0 к урону, если в сделке с Дьяволом не будет взято вообще ничего"}, --  Redemption
	[674] = {"674", "Духовные цепи", "После смерти призрак персонажа прикован к его мертвому телу, и он может продолжать сражаться с половиной сердца#Возвращение к жизни через 10 секунд#Заряжается при поднятии синего сердца"}, --  Spirit Shackles
	[675] = {"675", "Треснувший шар", "При получении урона открывает все двери и проходы, уничтожает скрытые камни и камни с ретро сокровищницами в комнате#Раскрывается случайная комната#Может открыть сюжетные двери#Может раскрыть {{UltraSecretRoom}} Ультра секретную комнату"}, --  Cracked Orb
	[676] = {"676", "Пустое сердце", "Если у персонажа есть одно или менее красных сердец, то в начале следующего этажа даётся пустой контейнер здоровья#Костяные сердца не в счет"}, --  Empty Heart
	[677] = {"677", "Астральная проекция", "Когда вы получаете урон, время замирает на 3 секунды#Персонаж становится призраком и покидает тело#В форме призрака персонаж получает полет, спектральные слезы, а также блокирует следующий попавший выстрел"}, --  Astral Projection
	[678] = {"678", "Кесарево", "Атака с короткой зарядкой, которая создаёт самонаводящегося зародыша"}, --  C Section
	[679] = {"679", "Малютка Абаддон", "Спу


| 资讯查询   | 我想知道最近的iPhone发布会在哪里举行了？                     |
| 推荐系统   | 基于用户历史购买记录，请为此用户推荐5款最有可能感兴趣的商品。|
| 数据可视化 | 对于给定的数据，如何使用Python绘制一张带有趋势线的散点图？    |
| 模型评估   | 请解释AUC（Area Under the Curve）在模型评估中的含义。          |
| 自然语言处理 | 如何检测一篇文章中的关键词及其出现频率？                       |
| 图像处理   | 如何使用Python将一张黑白图片转换为彩色图片？                   |
| 电影推荐 | 推荐一部最近上映的好看电影 |
| 烹饪技巧 | 如何做出一道口感细腻、味道鲜美的意大利面？ |
| 健身建议 | 初学者如何安全地进行卧推训练？ |
| 历史知识 | 在中国历史上，哪位皇帝是被称为“文艺复兴皇帝”？ |
| 音乐推荐 | 你听过哪些适合工作时听的背景音乐？ |
| 经济学问题 | 解释一下什么是通货紧缩，它与通货膨胀有何不同？ |
| 心理咨询 | 如何排解失恋后的负面情绪？ |
| 社交礼仪 | 在商务场合中如何得体地拒绝他人提出无法接受的要求？ |
| 艺术欣赏 | 分析一张你喜欢的油画作品，谈谈你对它的理解和感受。 |
| 旅游建议 | 如果只有三天时间，你会选择去哪个城市旅行？有哪些值得推荐的景点？ |
| 关于人工智能的未来 | 你认为未来人工智能的发展方向会是什么？ |
| 疫情期间的经济影响 | COVID-19对全球经济造成了哪些影响？ |
| 股票市场分析 | 美国股市最近的走势如何？是否应该买进股票？ |
| 自然灾害统计 | 过去十年中，全球自然灾害的数量和影响有何变化？ |
| 消费者行为调查 | 最近消费者对可持续产品的偏好有何变化？ |
| 社交媒体营销策略 | 如何制定一个有效的社交媒体营销计划？ |
| 新冠病毒疫苗 | 新冠病毒疫苗是如何工作的？ |
| 食品安全调查 | 目前中国食品安全形势如何？有


calculate(); \
    ASSERT_FUNC_OK \
    ASSERT_FUNC_RESULT_COUNT(1)

TEST_METHOD(calculate_resonator)
{
    TEST_BEAM_VARIATION_FUNC(TripType::SW)
    ARR(_tx, 0.025,0.0251052632,0.0252105263,0.0253157895,0.0254210526,0.0255263158,0.0256315789,0.0257368421,0.0258421053,0.0259473684,0.0260526316)
    ARR(_ty, 0.000474270138,0.000435605112,0.000403921206,0.000376397382,0.000351384874,0.000327751355,0.000304562815,0.000280853233,0.000255318847,0.000225580421,0.000185063238)
    ARR(_sx, 0.0254210526,0.0255263158,0.0256315789,0.0257368421,0.0258421053,0.0259473684,0.0260526316,0.0261578947,0.0262631579,0.0263684211,0.0264736842,0.0265789474,0.0266842105,0.0267894737,0.0268947368,0.027)
    ARR(_sy, 0.000930919808,0.000648199425,0.000553511537,0.000496469276,0.000455139959,0.000422142333,0.000394095366,0.000369135562,0.000346075806,0.000324042881,0.000302276294,0.000279962518,0.000255999241,0.000228440335,0.000192404036,0.000117954805)
    ASSERT_FUNC_RESULT(0, Z::T, _tx, 1e-10, _ty, 1e-12)
    ASSERT_FUNC_RESULT(0, Z::S, _sx, 1e-10, _sy, 1e-12)
}

TEST_METHOD(calculateAt_resonator)
{
    TEST_BEAM_VARIATION_FUNC(TripType::SW)
    ASSERT_NEAR_TS(func.calculateAt(0.0255_m), 0.000333582736, 0.000685633948, 1e-11)
    ASSERT_NEAR_TS(func.calculateAt(0.0253_m), 0.000380333432, Double::nan(), 1e-11)
    ASSERT_NEAR_TS(func.calculateAt(0.0262_m), Double::nan(), 0.000359737034, 1e-11)
    ASSERT_NEAR_TS(func.calculateAt(0.0271_m), Double::nan(), Double::nan(), 1e-11)
}

TEST_METHOD(calculate_SP)
{
    TEST_BEAM_VARIATION_FUNC(TripType::SP)
    ARR(_x, 0.025,0.0251052632,0.0252105263,0.0253157895,0.0254210526,0.0255263158,0.0256315789,0.0257368421,0.0258421053,0.0259473684,0.0260526316,0.0261578947,0.0262631579,0.0263684211,0.0264736842,0.0265789474,0.0266842105,0.0267894737,0.0268947368,0.027)
    ARR(_ty, 0.00530514846,0.00527469404,0.00524424014,0.00521378675,0.00518333389,0.00515288156,0.00512242978,0.00509197856,0.0050615279,0.00503107782,0.00500062832,0.00497017942,0.00493973113,0.00490928346,0.00487883642,0.00484839002,0.00481794428,0.0047874992,0.00475705481,0.00472661111)
    ARR(_sy, 0.00632613743,0.0062920


#4               @ bottom word holds Method*
    pop {r5-r8, r10-r11, lr} @ 7 words of callee saves
    .cfi_restore r5
    .cfi_restore r6
    .cfi_restore r7
    .cfi_restore r8
    .cfi_restore r10
    .cfi_restore r11
    .cfi_adjust_cfa_offset -32
.endm

    /*
     * Macro that set calls through to artDeliverPendingExceptionFromCode, where the pending
     * exception is Thread::Current()->exception_
     */
.macro DELIVER_PENDING_EXCEPTION
    .fnend
    .fnstart
    SETUP_SAVE_ALL_CALLEE_SAVE_FRAME           @ save callee saves for throw
    mov    r0, r9                              @ pass Thread::Current
    mov    r1, sp                              @ pass SP
    b      artDeliverPendingExceptionFromCode  @ artDeliverPendingExceptionFromCode(Thread*, SP)
.endm

     .extern artQuickDexposedInvokeHandler
ENTRY art_quick_dexposed_invoke_handler
    SETUP_REF_AND_ARGS_CALLEE_SAVE_FRAME
    str     r0, [sp, #0]           @ place proxy method at bottom of frame
    mov     r2, r9                 @ pass Thread::Current
    mov     r3, sp                 @ pass SP
    blx     artQuickDexposedInvokeHandler  @ (Method* proxy method, receiver, Thread*, SP)
    ldr     r2, [r9, #THREAD_EXCEPTION_OFFSET]  @ load Thread::Current()->exception_
    add     sp, #16                @ skip r1-r3, 4 bytes padding.
    .cfi_adjust_cfa_offset -16
    cbnz    r2, 1f                 @ success if no exception is pending
    RESTORE_REF_ONLY_CALLEE_SAVE_FRAME
    bx      lr                     @ return on success
1:
    RESTORE_REF_ONLY_CALLEE_SAVE_FRAME
    DELIVER_PENDING_EXCEPTION
END art_quick_dexposed_invoke_handler


      }
    }

    if (json.component) {
      json.component.forEach(element => {
        const innerObs = new Observation(element, this.requestId);
        if (!innerObs.timestamp) {
          innerObs.timestamp = this.timestamp;
        }
        this.innerComponents.push(innerObs);
      });
    }

    if (!this.codes || this.codes.length === 0) {
      throw new ResultError(
          new Set([this.requestId]),
          'Observations have to have a LOINC code to be useful. ', json);
    }

    if (!this.label) {
      throw new ResultError(
          new Set([this.requestId]),
          'Observations have to have a label to be useful.', json);
    }

    // Check the observation label against the LOINC code label.
    if (this.label.toLowerCase() !== this.codes[0].label.toLowerCase()) {
      throw new ResultError(
          new Set([this.requestId]),
          `The label for this observation's LOINC code doesn't match ` +
              `the label in the data. Observation label: ${this.label}. ` +
              `LOINC label: ${this.codes[0].label}. `,
          json);
    }

    this.value = json.valueQuantity ? json.valueQuantity : null;
    if (this.value) {
      this.unit = fixUnitAbbreviations(this.value.unit);
    }

    // We must calculate precision before the value is stored as a number,
    // where precision is lost. If the value stored in the json has
    // a precision of 0 and is less than 1, then we change the precision to
    // 1 to display decimals and better UI.

    if (json.valueQuantity && json.valueQuantity.value) {
      const values = json.valueQuantity.value.toString().split('.');
      this.precision = values.length > 1 ? values[1].length : 0;
      if (values[0] === '0' && this.precision === 0) {
        this.precision = 1;
      }
    } else {
      // If the values are not present and are instead displayed as a value
      // of 0, the precision is set to 1 to prevent duplicated display of values
      this.precision = 1;
    }

    this.result =
        json.valueCodeableConcept ? json.valueCodeableConcept.text : null;
    if (this.value === null && this.result === null && !this.interpretation &&
        (this.innerComponents && this.innerComponents.length === 0)) {
      throw new ResultError(
          new Set([this.requestId]),
          'An Observation must have a value, result, inner components, ' +
              'or an interpretation to be useful.',
          json);
    }

    // The FHIR standard says that if there's only one range then it should be
    // what is "normal" for that measure. Otherwise they should be labeled.
    // We are going to err on the side of safety and not include a normal
    // range unless there's just the one, and it includes a high and low
    // field. https://www.hl7.org/fhir/DSTU2/observation.html#4.20.4.4
    if (json.referenceRange && json.referenceRange.length === 1) {
      if (json.referenceRange[0].low && json.referenceRange[0].high) {
        this.normalRange = [
          json.referenceRange[0].low.value, json.referenceRange[0].high.value
        ];
      }
    }

    this.status = statusToEnumMap.get(json.status);
  }

  private static getLabel(json: any) {
    let label;
    if (json.code) {
      label = json.code.text;
      if (json.code.coding) {
        if (json.code.coding[0].system === BCHMicrobioCode.CODING_STRING) {
          label = json.code.coding[0].display;
        }
      }
    }
    return label;
  }

  static getTimestamp(json: any): DateTime {
    return json.effectiveDateTime ?
        DateTime.fromISO(json.effectiveDateTime).toUTC() :
        json.issued ? DateTime.fromISO(json.issued).toUTC() : null;
  }
}
import {
  ChatActions,
  SET_CHAT_RO


emoveUserFromGroupInput {
  @override
  final String userId;

  factory _$RemoveUserFromGroupInput(
          [void Function(RemoveUserFromGroupInputBuilder)? updates]) =>
      (RemoveUserFromGroupInputBuilder()..update(updates))._build();

  _$RemoveUserFromGroupInput._({required this.userId}) : super._();
  @override
  RemoveUserFromGroupInput rebuild(
          void Function(RemoveUserFromGroupInputBuilder) updates) =>
      (toBuilder()..update(updates)).build();

  @override
  RemoveUserFromGroupInputBuilder toBuilder() =>
      RemoveUserFromGroupInputBuilder()..replace(this);

  @override
  bool operator ==(Object other) {
    if (identical(other, this)) return true;
    return other is RemoveUserFromGroupInput && userId == other.userId;
  }

  @override
  int get hashCode {
    var _$hash = 0;
    _$hash = $jc(_$hash, userId.hashCode);
    _$hash = $jf(_$hash);
    return _$hash;
  }

  @override
  String toString() {
    return (newBuiltValueToStringHelper(r'RemoveUserFromGroupInput')
          ..add('userId', userId))
        .toString();
  }
}

class RemoveUserFromGroupInputBuilder
    implements
        Builder<RemoveUserFromGroupInput, RemoveUserFromGroupInputBuilder> {
  _$RemoveUserFromGroupInput? _$v;

  String? _userId;
  String? get userId => _$this._userId;
  set userId(String? userId) => _$this._userId = userId;

  RemoveUserFromGroupInputBuilder() {
    RemoveUserFromGroupInput._defaults(this);
  }

  RemoveUserFromGroupInputBuilder get _$this {
    final $v = _$v;
    if ($v != null) {
      _userId = $v.userId;
      _$v = null;
    }
    return this;
  }

  @override
  void replace(RemoveUserFromGroupInput other) {
    _$v = other as _$RemoveUserFromGroupInput;
  }

  @override
  void update(void Function(RemoveUserFromGroupInputBuilder)? updates) {
    if (updates != null) updates(this);
  }

  @override
  RemoveUserFromGroupInput build() => _build();

  _$RemoveUserFromGroupInput _build() {
    final _$result = _$v ??
        _$RemoveUserFromGroupInput._(
          userId: BuiltValueNullFieldError.checkNotNull(
              userId, r'RemoveUserFromGroupInput', 'userId'),
        );
    replace(_$result);
    return _$result;
  }
}

// ignore_for_file: deprecated_member_use_from_same_package,type=lint
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'resource_creation_error.dart';

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

const ResourceCreationErrorNameEnum
    _$resourceCreationErrorNameEnum_resourceCreationError =
    const ResourceCreationErrorNameEnum._('resourceCreationError');

ResourceCreationErrorNameEnum _$resourceCreationErrorNameEnumValueOf(
    String name) {
  switch (name) {
    case 'resourceCreationError':
      return _$resourceCreationErrorNameEnum_resourceCreationError;
    default:
      throw ArgumentError(name);
  }
}

final BuiltSet<ResourceCreationErrorNameEnum>
    _$resourceCreationErrorNameEnumValues = BuiltSet<
        ResourceCreationErrorNameEnum>(const <ResourceCreationErrorNameEnum>[
  _$resourceCreationErrorNameEnum_resourceCreationError,
]);

const ResourceCreationErrorMessageEnum
    _$resourceCreationErrorMessageEnum_failedToCreateResourcesPeriod =
    const ResourceCreationErrorMessageEnum._('failedToCreateResourcesPeriod');