VOLUME_DATA: u32 = 589924u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_OBJECT_ID: u32 = 589980u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_REFS_VOLUME_DATA: u32 = 590552u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_REPAIR: u32 = 590236u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_REPARSE_POINT: u32 = 589992u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_RETRIEVAL_POINTERS: u32 = 589939u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT: u32 = 590803u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_RETRIEVAL_POINTER_BASE: u32 = 590388u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_RETRIEVAL_POINTER_COUNT: u32 = 590891u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_VOLUME_BITMAP: u32 = 589935u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GET_WOF_VERSION: u32 = 590696u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_GHOST_FILE_EXTENTS: u32 = 623532u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_HCS_ASYNC_TUNNEL_REQUEST: u32 = 590704u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST: u32 = 590776u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_HCS_SYNC_TUNNEL_REQUEST: u32 = 590700u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION: u32 = 590684u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_INITIATE_REPAIR: u32 = 590248u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF: u32 = 1u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_INVALIDATE_VOLUMES: u32 = 589908u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_IS_CSV_FILE: u32 = 590408u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_IS_FILE_ON_CSV_VOLUME: u32 = 590428u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_IS_PATHNAME_VALID: u32 = 589868u32;
#[doc = "*Required features: 'Win32_System_Ioctl'*"]
pub const FSCTL_IS_VOLUME_DIRTY: u32 = 589944u32;
#[doc = "*Required features: 'Win32


工只分得八斤不能下咽的砂子面。

   拥有一百多辆汽车的运输部，搞了两年多的投机生意，就亏损二百七十多万元，汽车损坏了将近百分之八十。

   全公司一九六○年和一九六二年断断续续地生产了五千吨铜（一九六一年因为停电而停止生产），亏损二千多万元，每生产一吨铜亏损四千元。

   这些损失，虽然同前几年的灾荒、职工生活困难和缺电停产有些关系，但主要原因是坏人统治的结果。

   二、营私舞弊、贪污盗窃、投机倒把成风

   在“五反”运动中，揭发和清查出来有贪污盗窃、投机倒把行为的人，共有三百七十九人，占职工总数的百分之三点七。其中，集团和个人贪污万元、万斤粮以上的案件有八起，千元以上的案件有五个七起。以运输部党委书记左生棠为首的贪污盗窃、投机倒把集团，盗用国家贵重物资和运力作为资本（价值三十三万元），在西北五省、区，大搞投机买卖，使国家直接损失十一万元。两年中，这个集团请客送礼、挥霍浪费和直接贪污四万元。

   以公司面粉厂厂长霍老五为首的贪污盗窃集团，两年共盗窃国家粮食五万九千多斤。霍老五一人就贪污盗窃、挥霍浪费粮食四千六百多斤，现金一千六百多元，布票五百尺。

   以农牧处采购员郭有强（暗藏的国民党特务分子）为首的投机倒把集团，用假造单据和蒙混诈骗等手段，贪污诈骗一万五千多元。郭有强分赃一万多元。

   以冶炼厂采购员王振山为首的贪污盗窃、投机倒把集团，用公款十一万元搞投机倒把活动，除了直接贪污五万六千多元以外，还给国家造成损失


"""
Copyright (c) 2025 Hocheol Lim.
"""

from .cl_logger import CommandLineLogger


if (!File(file).parentFile.exists() || !File(file).parentFile.isDirectory) {
            logger.error { "Error al guardar productos en la ruta: $file. No se puede crear el directorio padre" }
            return Err(VentaError.VentaStorageError("Error al guardar venta en la ruta: $file. No se puede crear el directorio padre"))
        }
        val myFile = File(file)

        // to HTML
        return try {
            val html = """

                    <title>Venta: ${venta.id}</title>
                    <meta charset="utf-8">
                    <meta name="viewport" content="width=device-width, initial-scale=1">
                    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

Venta ref: ${venta.id}

Fecha: ${venta.createdAt.toLocalDateTime()}

Cliente: ${venta.cliente.nombre}

Dirección: ${venta.cliente.direccion}

Email: ${venta.cliente.email}

Productos:

                                    Nombre
                                    Cantidad
                                    Precio Unitario
                                    Precio Total

                                ${
                venta.lineas.joinToString("") {
                    "
${it.producto.nombre}	${it.cantidad}	${it.producto.precio.toLocalMoney()}	${(it.cantidad * it.producto.precio).toLocalMoney()}
"
                }
            }

Total: ${venta.total.toLocalMoney()}

        """.trimIndent()
            Ok(myFile.writeText(html, Charsets.UTF_8))
        } catch (e: Exception) {
            logger.error { "Error al salvar ventas a fichero: ${myFile.absolutePath}. ${e.message}" }
            Err(VentaError.VentaStorageError("Error al salvar ventas a fichero: ${myFile.absolutePath}. ${e.message}"))
        }
    }

}package database

import dev.joseluisgs.config.Config
import org.apache.ibatis.jdbc.ScriptRunner
import org.lighthousegames.logging.logging
import java.io.PrintWriter
import java.io.Reader
import java.sql.Connection
import java.sql.DriverManager

object DataBaseManager : AutoCloseable {
    private val logger = logging()

    // Conexión con la base de datos
    var connection: Connection? = null
        private set

    /**
     * Inicializamos la base de datos
     */
    init {
        initDatabase()
    }

    fun initDatabase() {
        // Iniciamos la base de datos
        initConexion()
        if (Config.databaseInitTables) {
            initTablas()
        }
        if (Config.databaseInitData) {
            initData()
        }
        close()
    }

    /**
     * Inicializamos los datos de la base de datos


Selector::VisitWord64AtomicBinaryOperation(
    Node* node, ArchOpcode uint8_op, ArchOpcode uint16_op, ArchOpcode uint32_op,
    ArchOpcode uint64_op) {
  // Unused
  UNREACHABLE();
}

#define VISIT_ATOMIC_BINOP(op)                                     \
  void InstructionSelector::VisitWord32Atomic##op(Node* node) {    \
    VisitAtomicBinaryOperation(                                    \
        this, node, kPPC_Atomic##op##Int8, kPPC_Atomic##op##Uint8, \
        kPPC_Atomic##op##Int16, kPPC_Atomic##op##Uint16,           \
        kPPC_Atomic##op##Int32, kPPC_Atomic##op##Uint32,           \
        kPPC_Atomic##op##Int64, kPPC_Atomic##op##Uint64);          \
  }                                                                \
  void InstructionSelector::VisitWord64Atomic##op(Node* node) {    \
    VisitAtomicBinaryOperation(                                    \
        this, node, kPPC_Atomic##op##Int8, kPPC_Atomic##op##Uint8, \
        kPPC_Atomic##op##Int16, kPPC_Atomic##op##Uint16,           \
        kPPC_Atomic##op##Int32, kPPC_Atomic##op##Uint32,           \
        kPPC_Atomic##op##Int64, kPPC_Atomic##op##Uint64);          \
  }
VISIT_ATOMIC_BINOP(Add)
VISIT_ATOMIC_BINOP(Sub)
VISIT_ATOMIC_BINOP(And)
VISIT_ATOMIC_BINOP(Or)
VISIT_ATOMIC_BINOP(Xor)
#undef VISIT_ATOMIC_BINOP

void InstructionSelector::VisitInt32AbsWithOverflow(Node* node) {
  UNREACHABLE();
}

void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) {
  UNREACHABLE();
}

#define SIMD_TYPES(V) \
  V(F64x2)            \
  V(F32x4)            \
  V(I32x4)            \
  V(I16x8)            \
  V(I8x16)

#define SIMD_VISIT_SPLAT(Type)                               \
  void InstructionSelector::Visit##Type##Splat(Node* node) { \
    PPCOperandGenerator g(this);                             \
    Emit(kPPC_##Type##Splat, g.DefineAsRegister(node),       \
         g.UseRegister(node->InputAt(0)));                   \
  }
SIMD_TYPES(SIMD_VISIT_SPLAT)
#undef SIMD_VISIT_SPLAT
#undef SIMD_TYPES

#define SIMD_VISIT_EXTRACT_LANE(Type, Sign)                              \
  void InstructionSelector::Visit##Type##ExtractLane##Sign(Node* node) { \
    PPCOperandGenerator g(this);                                         \
    int32_t lane = OpParameter<int32_t>(node->op());                     \
    Emit(kPPC_##Type##ExtractLane##Sign, g.DefineAsRegister(node),       \
         g.UseRegister(node->InputAt(0)), g.UseImmediate(lane));         \
  }
SIMD_VISIT_EXTRACT_LANE(F64x2, )
SIMD_VISIT_EXTRACT_LANE(F32x4, )
SIMD_VISIT_EXTRACT_LANE(I32x4, )
SIMD_VISIT_EXTRACT_LANE(I16x8, U)
SIMD_VISIT_EXTRACT_LANE(I16x8, S)
SIMD_VISIT_EXTRACT_LANE(I8x16, U)
SIMD_VISIT_EXTRACT_LANE(I8x16, S)
#undef SIMD_VISIT_EXTRACT_LANE

void InstructionSelector::VisitI32


file.9feb"));
//		String safeFileName = pathSafe(filename);
//		if (StrUtil.isEmpty(safeFileName)) {
//			return JsonMessage.getString(405, "非法操作");
//		}
        NodeProjectInfoModel pim = getProjectInfoModel();
        File libFile = projectInfoService.resolveLibFile(pim);
        try {
            File file = FileUtil.file(libFile, StrUtil.emptyToDefault(levelName, FileUtil.FILE_SEPARATOR), filename);
            if (file.isDirectory()) {
                ServletUtil.write(response, JsonMessage.getString(400, I18nMessageUtil.get("i18n.folder_download_not_supported.c3b7")), MediaType.APPLICATION_JSON_VALUE);
                return;
            }
            ServletUtil.write(response, file);
        } catch (Exception e) {
            log.error(I18nMessageUtil.get("i18n.download_exception.e616"), e);
            ServletUtil.write(response, JsonMessage.getString(400, I18nMessageUtil.get("i18n.download_failed_retry.c113"), e.getMessage()), MediaType.APPLICATION_JSON_VALUE);
        }
    }

    /**
     * 下载远程文件
     *
     * @param id              项目id
     * @param url             远程 url 地址
     * @param levelName       保存的文件夹
     * @param unzip           是否为压缩包、true 将自动解压
     * @param stripComponents 剔除层级
     * @return json
     */
    @PostMapping(value = "remote_download", produces = MediaType.APPLICATION_JSON_VALUE)
    public IJsonMessage<String> remoteDownload(String id, String url, String levelName, String unzip, Integer stripComponents) {
        Assert.hasText(url, I18nMessageUtil.get("i18n.correct_remote_address_required.0ce1"));
        NodeProjectInfoModel pim = getProjectInfoModel();
        File libFile = projectInfoService.resolveLibFile(pim);
        String tempPathName = agentConfig.getTempPathName();
        //
        String backupId = null;
        try {
            File downloadFile = HttpUtil.downloadFileFromUrl(url, tempPathName);
            String fileSize = FileUtil.readableFileSize(downloadFile);
            // 备份文件
            backupId = projectFileBackupService.backup(pim);
            File file = FileUtil.file(libFile, StrUtil.emptyToDefault(levelName, FileUtil.FILE_SEPARATOR));
            FileUtil.mkdir(file);
            if (BooleanUtil.toBoolean(unzip)) {
                // 需要解压文件
                try {
                    int stripComponentsValue = Convert.toInt(stripComponents, 0);
                    CompressionFileUtil.unCompress(downloadFile, file, stripComponentsValue);
                } finally {
                    if (!FileUtil.del(downloadFile)) {
                        log.error(I18nMessageUtil.get("i18n.delete_file_failure_with_full_stop.6c96") + file.getPath());
                    }
                }
            } else {
                // 移动文件到对应目录
                FileUtil.move(downloadFile, file, true);
            }
            projectCommander.asyncWebHooks(pim, "fileChange", "changeEvent", "remoteDownload", "levelName", levelName, "fileName", file.getName(), "url", url);
            return JsonMessage.success(I18nMessageUtil.get("i18n.download_file_size.d4de") + fileSize);
        } catch (Exception e) {
            log.error(I18nMessageUtil.get("i18n.download_remote_file_exception.3ee0"), e);
            return new JsonMessage<>(500, I18nMessageUtil.get("i18n.download_remot


licKey => localizations.rolloutStateSendingPublicKey,
        PushTokenRollOutState.sendRSAPublicKeyFailed => localizations.rolloutStateSendingPublicKeyFailed,
        PushTokenRollOutState.parsingResponse => localizations.rolloutStateParsingResponse,
        PushTokenRollOutState.parsingResponseFailed => localizations.rolloutStateParsingResponseFailed,
        PushTokenRollOutState.rolloutComplete => localizations.rolloutStateCompleted,
      };
}
/*
 * privacyIDEA Authenticator
 *
 * Author: Frank Merkel <frank.merkel@netknights.it>
 *
 * Copyright (c) 2024-2025 NetKnights GmbH
 *
 * 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.
 */
import 'package:flutter/material.dart';
import 'package:privacyidea_authenticator/l10n/app_localizations.dart';

import '../../widgets/push_request_listener.dart';
import '../view_interface.dart';
import 'widgets/push_tokens_view_list.dart';

class PushTokensView extends StatelessView {
  @override
  RouteSettings get routeSettings => const RouteSettings(name: routeName);
  static const routeName = '/push_tokens';
  const PushTokensView({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      appBar: AppBar(
        title: Text(
          AppLocalizations.of(context)!.pushTokensViewTitle,
          overflow: TextOverflow.ellipsis, // maxLines: 2 only works like this.
          maxLines: 2, // Title can be shown on small screens too.
        ),
      ),
      body: PushRequestListener(
        child: Stack(
          children: [
            Center(
              child: Icon(Icons.notifications_none, size: 300, color: Colors.grey.withValues(alpha: 0.2)),
            ),
            const PushTokensViwList(),
          ],
        ),
      ),
    );
  }
}
/*
 * privacyIDEA Authenticator
 *
 * Author: Frank Merkel <frank.merkel@netknights.it>
 *
 * Copyright (c) 2024-2025 NetKnights GmbH
 *
 * 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.
 */
import 'package:flutter/material.dart';

import '../../l10n/app_localizations.dart';
import '../../widgets/push_request_listener.dart';
import '../view_interface.dart';
import 'settings_groups/settings_group_allow_screenshot/settings_group_allow_screenshot.dart';
import 'settings_groups/settings_group_background_image.dart';
import 'settings_groups/settings_group_container.dart';
import 'settings_groups/settings_group_error_log.dart';
import 'settings_groups/settings_group_feedback.dart';
import 'settings_groups/settings_group_general.dart';
import 'settings_groups/settings_group_import_export_tokens.dart';
import 'settings_groups/settings_group_language.dart';
import 'settings_groups/settings_group_


市场的趋势？|
| 网络安全 | 你能否说明常见的网络攻击手段以及预防措施？|
| 农业科技 | 农业科技领域有哪些新的发展趋势和突破？|
| 金融科技 | 区块链技术在金融科技中的应用有哪些？|
| 旅游业 | 旅游业如何运用大数据分析提升服务质量？|
| 社交媒体 | 社交媒体智能推荐系统是如何实现的？|
| 人工智能教育 | 人工智能如何应用于教育行业，对学生有哪些帮助？|
| 环境保护 | 当前环境保护面临哪些困境，如何解决这些问题？|
| 机器人技术 | 未来机器人技术可能会有哪些重大突破和应用场景？|
| 性别歧视 | 如何避免在招聘流程中出现性别歧视？ |
| 疫情防控 | 哪些行业应该优先进行疫情防控工作？ |
| 工作调查 | 你认为公司对员工的工作满意度调查应该如何进行？ |
| 新产品推广 | 推广新产品时，哪些渠道是最有效的？ |
| 营销策略 | 在市场竞争激烈的情况下，如何制定出切实可行的营销策略？ |
| 教育模式 | 你认为未来教育应该朝着哪个方向发展？ |
| 环境保护 | 对于企业而言，如何贯彻环保理念并降低碳排放？ |
| 生活方式 | 如何鼓励人们采取健康、可持续的生活方式？ |
| 社交媒体 | 在社交媒体上发布信息时应该注意哪些事项？ |
| 电商平台 | 如何提高电商平台的用户转化率？ |
|餐厅|推荐一家价格适中，环境舒适的中餐厅。|
|旅游|在巴厘岛有哪些值得一去的海滩？|
|历史|请介绍一下中国近现代史上的著名政治事件。|
|时尚|今年秋冬流行什么颜色的大衣？|
|科技|人工智能在医学方面有哪些应用？|
|电影|最近有哪些值得一看的好电影？|
|文学|推荐几本不错的当代小说。|
|体育|哪位运动员是目前世界上最顶尖的足球运动员？|
|美食|怎样制作口感酥脆、味道香辣的炸�


", Some(matches)) => {
      eprintln!("update-self: not implemented yet!");
      0
    }*/
    /*("x-check-deps", Some(matches)) => {
      eprintln!("x-check-deps: not implemented yet!");
      0
    }*/
    ("x-install-deps", Some(_matches)) => {
      match install_deps() {
        Err(e) => {
          eprintln!("x-install-deps: {:?}", e);
          1
        }
        Ok(_) => 0,
      }
    }
    _ => {
      app.print_help().unwrap();
      println!();
      0
    }
  };
  exit(code)
}

fn _query_api_auth_config(user: bool, user_prefix: Option<PathBuf>) -> Maybe<(Option<String>, Option<String>)> {
  let mut old_api_id = None;
  let mut old_secret_token = None;
  let mut chan = CtlChannel::open_user(user, user_prefix)?;
  chan.send(&Ctl2Bot::_QueryApiAuthConfig)?;
  match chan.recv()? {
    Bot2Ctl::_QueryApiAuthConfig(Some(res)) => {
      old_api_id = res.api_id;
      old_secret_token = res.secret_token;
    }
    Bot2Ctl::_QueryApiAuthConfig(None) => {}
    _ => return Err(fail("IPC protocol error")),
  };
  chan.hup();
  Ok((old_api_id, old_secret_token))
}

fn _retry_api_auth(user: bool, user_prefix: Option<PathBuf>, old_api_id: Option<String>, old_secret_token: Option<String>) -> Maybe {
  let mut new_api_id = None;
  let mut new_secret_token = None;
  if old_api_id.is_none() {
    let mut line = String::new();
    print!("API ID: ");
    stdout().flush().unwrap();
    match stdin().read_line(&mut line) {
      Err(_) => return Err(fail("API authentication requires an API ID")),
      Ok(_) => {}
    }
    new_api_id = Some(line);
  }
  if old_secret_token.is_none() {
    let mut line = String::new();
    print!("Secret token: ");
    stdout().flush().unwrap();
    match stdin().read_line(&mut line) {
      Err(_) => return Err(fail("API authentication requires a secret token")),
      Ok(_) => {}
    }
    new_secret_token = Some(line);
  }
  let api_id = old_api_id.or_else(|| new_api_id.clone());
  if api_id.is_none() {
    return Err(fail("missing API authentication details: API ID"));
  }
  let secret_token = old_secret_token.or_else(|| new_secret_token.clone());
  if secret_token.is_none() {
    return Err(fail("missing API authentication details: secret token"));
  }
  if new_api_id.is_some() || new_secret_token.is_some() {
    let api_id = api_id.unwrap();
    let secret_token = secret_token.unwrap();
    let mut chan = CtlChannel::open_user(user, user_prefix.clone())?;
    chan.send(&Ctl2Bot::_DumpApiAuthConfig{api_id, secret_token})?;
    match chan.recv()? {
      Bot2Ctl::_DumpApiAuthConfig(Some(_)) => {}
      Bot2Ctl::_DumpApiAuthConfig(None) => {
        return Err(fail("failed to write new API auth config"));
      }
      _ => return Err(fail("IPC protocol error")),
    }
    chan.hup();
  }
  let mut chan = CtlChannel::open_user(user, user_prefix.clone())?;
  chan.send(&Ctl2


.split("/");
      const prs = await this.octokit.pulls
        .list({
          owner,
          repo: name,
          sort: "updated",
          direction: "desc",
          ...options,
        })
        .then(({ data }) => data);

      const reviews = await Promise.all(
        prs.map((pr) => {
          if (pr.state !== "open") {
            return undefined;
          }

          return this.octokit.pulls
            .listReviews({
              owner,
              repo: name,
              pull_number: pr.number,
            })
            .then(({ data }) => data);
        })
      );

      return prs.map((item, idx) => {
        const _reviews: any = reviews[idx];
        return new PullRequest({
          repo,
          item,
          reviews: _reviews,
          currentUser,
        });
      });
    },
    (repo: RepoType, options: OptionsType) => {
      return `${repo.full_name}?state=${options.state}&base${options.base}`;
    }
  );

  async getDashboardData(
    repos: RepoType[],
    options: OptionsType = { state: "all", base: "master" }
  ) {
    const getPrs = (repo: RepoType) => this.listPrs(repo, options);
    return _.orderBy(
      _.flatten(await Promise.all(repos.map(getPrs))),
      ({ item }) => item.updated_at,
      "desc"
    );
  }
}

export type PullRequestStateType =
  | "MERGED" // code has been merged into master
  | "ABANDONED"
  | "WAITING_ON_AUTHOR"
  | "REQUIRES_RE_REVIEW"
  | "MUST_RE_REVIEW"
  | "READY_TO_LAND"
  | "NEEDS_REVIEW"
  | "UNKNOWN";

export type UserType = {
  login: string;
};

type ReviewType = {
  commit_id: string;
  user: UserType;
  state: "DISMISSED" | "CHANGES_REQUESTED" | "APPROVED";
};

type PrType = {
  head: {
    sha: string;
  };
  number: number;
  id: number;
  title: string;
  created_at: string;
  updated_at: string;
  user: UserType;
  state: string;
  html_url: string;
  merged_at: string;
  body: string;
  requested_reviewers: UserType[];
};

export class PullRequest {
  repo: RepoType;
  reviews?: ReviewType[];
  item: PrType;
  state: PullRequestStateType;
  currentUser: UserType;
  constructor({
    repo,
    item,
    reviews,
    currentUser,
  }: {
    repo: RepoType;
    item: PrType;
    currentUser: UserType;
    reviews?: ReviewType[];
  }) {
    this.repo = repo;
    this.item = item;
    this.reviews = reviews;
    this.currentUser = currentUser;
    this.state = this.calculateState();
  }

  isOpen() {
    return this.item.state;
  }

  private calculateState(): PullRequestStateType {
    const { item, reviews } = this;
    const isApprove = (r: ReviewType) => r.state === "APPROVED";
    const isBlock = (r: ReviewType) => r.state === "CHANGES_REQUESTED";
    const isLatestCommit = (r: ReviewType) => r.commit_id === item.head.sha;

    if (item.state === "closed") {
      return item.merged_at ? "MERGED" : "ABANDONED";
    }

    if (item.state === "open") {
      if (!reviews) {
        return "UNKNOWN";
      }

      const ordered = _.orderBy(reviews,


21.rinstance.RukonInstance;
import me.rukon0621.rpvp.RukonPVP;
import me.rukon0621.teseion.TeseionInstance;
import net.playavalon.avnparty.AvNParty;
import net.playavalon.avnparty.player.AvalonPlayer;
import org.bukkit.*;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;

import java.lang.reflect.InvocationTargetException;
import java.util.*;

import static me.rukon0621.guardians.main.isVoidLandServer;
import static me.rukon0621.guardians.main.pfix;

public class DamagingListener implements Listener {

    private static final main plugin = main.getPlugin();
    private static final HashMap<UUID, Long> playersOnCombat = new HashMap<>();
    private static final Set<Player> playingCombatBgm = new HashSet<>();
    public static final Set<Player> deathVictims = new HashSet<>();
    private static final int dropCombatSecond = 15; //몇초후 전투가 풀리는가
    private static final AvNParty partyPlugin = AvNParty.plugin;
    private final MobTypeManager mobTypeManager = main.getPlugin().getMobTypeManager();

    private static final double DEATH_PENALTY_ATTACK = -75;
    private static final double DEATH_PENALTY_ARMOR = -75;
    private static final double DEATH_PENALTY_MOVEMENT = -50;
    private static final double DEATH_PENALTY_LUCK = -50;

    public static void clearCombatTime(Player player) {
        playersOnCombat.remove(player);
    }

    public DamagingListener() {
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
        new BukkitRunnable() {
            @Override
            public void run() {
                for(Player player : plugin.getServer().getOnlinePlayers()) {
                    MobData mb = new MobData(player);
                    mb.optimize();
                }
            }
        }.runTaskTimerAsynchronously(plugin, 0, 600);
        new BukkitRunnable() {
            @Override
            public void run() {
                for(Player player : plugin.getServer().getOnlinePlayers()) {
                    if(playingCombatBgm.contains(player)&&getRemainCombatTime(player)==-1) {
                        RegionManager.reloadBgm(player);
                        playingCombatBgm.remove(player);
                    }
                }
            }
        }.runTaskTimerAsynchronously(plugin, 0, 60);
    }

    /**
     * 플레이어의 무장해제까지 남은 시간
     * @param player 플레이어
     * @return 플레이어가 전투종료까지 남은 시간을 반환, 비전투중이라면 -1반환
     */
    public static double getRemainCombatTime(Player player) {
        return getRemainCombatTime(player.getUniqueId());
    }
    /**
     * 플레이


-1.84 5.937-2.063zm-3.062 5.781c1.078.153 4.324.606 6.812 1.406 2.637.852 5.614 2.344 6.375 2.72-.273.878-1.531 4.874-2.437 7.843l-.313 1c-.105.344-.539.824-1.343 1.25-.805.426-1.899.8-2.97 1.063-1.948.48-3.491.593-3.812.625-.27-.223-1.426-1.16-2.75-2.625-.734-.813-1.445-1.731-1.875-2.532-.43-.8-.543-1.43-.437-1.781.82-2.73 2.441-7.973 2.75-8.969zm.812 4.813-.594 1.906 3.782 1.219.593-1.938zm5.313 1.594-.625 1.906 3.687 1.218.625-1.906zm-4.094 2.53-1.875.688s.832 2.297 3.219 2.969v.031c.02.008.043-.008.062 0 2.332.739 4.344-.75 4.344-.75l-1.156-1.625s-1.352.883-2.594.469h-.031l-.032-.031c-1.355-.356-1.937-1.75-1.937-1.75z"/></svg>';
  static const String themeco =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path fill="currentColor" d="M15.84 2.998c-.486.003-.97.116-1.365.338L5.39 8.44C4.585 8.893 4 9.883 4 10.795v10.35c0 .906.582 1.895 1.383 2.351l9.09 5.164a2.83 2.83 0 001.384.342c.48 0 .96-.108 1.354-.324l9.393-5.184c.809-.453 1.396-1.44 1.396-2.35v-10.35c0-.917-.591-1.906-1.404-2.349l-9.389-5.127a2.855 2.855 0 00-1.367-.32zM15.86 5a.87.87 0 01.39.074l9.389 5.13c.165.09.361.41.361.59v10.35c0 .167-.187.5-.367.6l-9.39 5.182c-.184.1-.6.1-.782-.004l-9.09-5.164c-.185-.104-.371-.445-.371-.613v-10.35c0-.184.2-.514.37-.61l9.083-5.105c.094-.054.251-.08.406-.08zm5.32 8.137c-3.706 0-3.844 5.726 0 5.726 3.762 0 3.758-5.726 0-5.726zm-10.59.101c-.863 0-1.727.008-2.59.008v5.492h1.035v-1.617h1.555c2.69 0 2.683-3.883 0-3.883zm2.72 0v5.5h1.038v-1.836h.996l1.6 1.836h1.232v-.07l-1.664-1.875c2.003-.407 1.884-3.532-.588-3.547-.871 0-1.742-.008-2.613-.008zm7.87.84c2.388 0 2.425 3.836 0 3.836s-2.405-3.836 0-3.836zm-12.178.045h1.75c1.147 0 1.143 2.104 0 2.104h-1.75v-2.104zm5.346.088h1.576c1.264 0 1.


#ifndef OBJ_WEATHERMOBILE_H
#define OBJ_WEATHERMOBILE_H

#include "Game.h"

typedef enum {
    WEATHERMOBILE_EGGMAN,
    WEATHERMOBILE_LIGHTS,
    WEATHERMOBILE_WIND_MANAGER,
    WEATHERMOBILE_WIND,
    WEATHERMOBILE_RAIN_MANAGER,
    WEATHERMOBILE_RAIN,
    WEATHERMOBILE_CLOUD,
} WeatherMobileTypes;

// Object Class
struct ObjectWeatherMobile {
    RSDK_OBJECT
    TABLE(int32 debrisInfo[29], { 4,        0, 0, -0x20000, -0x28000, 1, 0, -0x20000, -0x28000, 2, 0, 0x20000, -0x20000, 3, 0, 0x28000,
                                  -0x20000, 4, 0, -0x10000, -0x10000, 5, 0, 0x10000,  -0x10000, 6, 0, -0x8000, -0x10000 });
    int32 boundsL;
    int32 boundsR;
    int32 boundsM;
    int32 boundsT;
    int32 boundsB;
    int32 currentAttack;
    uint16 sfxHit;
    uint16 sfxExplosion;
    uint16 sfxCloud;
    uint16 sfxLightning;
    uint16 sfxSun;
    uint16 sfxWind;
    bool32 playingWindSfx;
    int32 windSfxChannel;
    int32 windSfxTimer;
    uint16 sfxRain;
    bool32 playingRainSfx;
    uint16 aniFrames;
    uint16 eggmanFrames;
};

// Entity Class
struct EntityWeatherMobile {
    RSDK_ENTITY
    StateMachine(state);
    StateMachine(stateDraw);
    int32 type;
    int32 timer;
    int32 invincibilityTimer;
    int32 health;
    int32 lightsTimer;
    Vector2 origin;
    EntityWeatherMobile *parent;
    EntityWeatherTV *weatherTV;
    Animator mainAnimator;
    Animator seatAnimator;
    Animator eggmanAnimator;
    Animator eggMobileAnimator;
    Animator decorAnimator;
    Animator radarDishLAnimator;
    Animator radarDishRAnimator;
    Hitbox hitbox;
};

// Object Struct
extern ObjectWeatherMobile *WeatherMobile;

// Standard Entity Events
void WeatherMobile_Update(void);
void WeatherMobile_LateUpdate(void);
void WeatherMobile_StaticUpdate(void);
void WeatherMobile_Draw(void);
void WeatherMobile_Create(void *data);
void WeatherMobile_StageLoad(void);
#if GAME_INCLUDE_EDITOR
void WeatherMobile_EditorDraw(void);
void WeatherMobile_EditorLoad(void);
#endif
void WeatherMobile_Serialize(void);

// Extra Entity Functions
void WeatherMobile_HandleAnimations(void);
void WeatherMobile_CheckPlayerCollisions(void);
void WeatherMobile_Hit(void);
void WeatherMobile_Explode(void);
void WeatherMobile_HandleDefeat(void);

void WeatherMobile_Draw_Eggman(void);
void WeatherMobile_Draw_Lights(void);
void WeatherMobile_Draw_Lightning(void);

void WeatherMobile_State_SetupArena(void);
void WeatherMobile_State_StartBoss(void);
void WeatherMobile_State_EnterEggman(void);
void WeatherMobile_State_HandleMovement(void);
void WeatherMobile_State_WindAttack(void);
void WeatherMobile_State_SunAttack(void);

void WeatherMobile_StateLights_EnterLights(void);
void WeatherMobile_StateLights_Shine(void);
void WeatherMobile_StateLights_DimAndDissapear(void);

void WeatherMobile_StateWindManager_SetupWind(void);
void WeatherMobile_StateWindManager_StrongWind(void);
void WeatherMobile_StateWindManager_FinishWind(void);

void WeatherMobile_State_Wind(void);

void WeatherMobile_State_RainManager(void);

void WeatherMobile_State_RainDrop(void);
void WeatherMobile_State_RainDropSplash(void);

void WeatherMobile_StateCloud_Idle(void);
void WeatherMobile_StateCloud_ShowTell(void);
void WeatherMobile_StateCloud_Strike(void);
void WeatherMobile_StateCloud_FadeAway(void);

void WeatherMobile_State_Defeated(void);
void WeatherMobile_State_DefeatFall(void);
void WeatherMobile_State_FleeRise(void);
void WeatherMobile_State_FleeAdjust(void);
void WeatherMobile_State_Flee(void);

#endif //! OBJ_WEATHERMOBILE_H


Date date, int hour, int min, int sec, int nanos) {
        LocalDateTime base = TEST_2007_07_15_12_30_40_987654321.with(LocalTime.MIDNIGHT);
        LocalDateTime t = base.minusNanos(nanoseconds);

        assertEquals(date, t.toLocalDate());
        assertEquals(hour, t.getHour());
        assertEquals(min, t.getMinute());
        assertEquals(sec, t.getSecond());
        assertEquals(nanos, t.getNano());
    }

    //-----------------------------------------------------------------------
    // until(Temporal, TemporalUnit)
    //-----------------------------------------------------------------------
    @DataProvider(name="periodUntilUnit")
    Object[][] data_periodUntilUnit() {
        return new Object[][] {
                // date only
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), DAYS, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), WEEKS, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), MONTHS, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), YEARS, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), DECADES, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), CENTURIES, 0},
                {dtNoon(2000, 1, 1), dtNoon(2000, 1, 1), MILLENNIA, 0},

                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 14), DAYS, 30},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 15), DAYS, 31},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 16), DAYS, 32},

                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 17), WEEKS, 4},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 18), WEEKS, 4},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 19), WEEKS, 5},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 20), WEEKS, 5},

                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 14), MONTHS, 0},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 15), MONTHS, 1},
                {dtNoon(2000, 1, 15), dtNoon(2000, 2, 16), MONTHS, 1},
                {dtNoon(2000, 1, 15), dtNoon(2000, 3, 14), MONTHS, 1},
                {dtNoon(2000, 1, 15), dtNoon(2000, 3, 15), MONTHS, 2},
                {dtNoon(2000, 1, 15), dtNoon(2000, 3, 16), MONTHS, 2},

                {dtNoon(2000, 1, 15), dtNoon(2001, 1, 14), YEARS, 0},
                {dtNoon(2000, 1, 15), dtNoon(2001, 1, 15), YEARS, 1},
                {dtNoon(2000, 1, 15), dtNoon(2001, 1, 16), YEARS, 1},
                {dtNoon(2000, 1, 15), dtNoon(2004, 1, 14), YEARS, 3},
                {dtNoon(2000, 1, 15), dtNoon(2004,


lutter/utils/localization.dart';

class InvoiceViewSchedule extends StatefulWidget {
  const InvoiceViewSchedule({Key? key, required this.viewModel})
      : super(key: key);

  final AbstractInvoiceViewVM viewModel;

  @override
  _InvoiceViewScheduleState createState() => _InvoiceViewScheduleState();
}

class _InvoiceViewScheduleState extends State<InvoiceViewSchedule> {
  @override
  void didChangeDependencies() {
    if (widget.viewModel.invoice!.isStale) {
      widget.viewModel.onRefreshed!(context);
    }
    super.didChangeDependencies();
  }

  @override
  Widget build(BuildContext context) {
    final invoice = widget.viewModel.invoice!;
    final localization = AppLocalization.of(context)!;

    return ScrollableListView(
      padding: const EdgeInsets.all(16),
      children: [
        Row(
          children: [
            Expanded(
              child: Text(
                localization.sendDate,
                style: TextStyle(fontWeight: FontWeight.w600),
              ),
            ),
            Expanded(
              child: Text(
                localization.dueDate,
                style: TextStyle(fontWeight: FontWeight.w600),
              ),
            ),
          ],
        ),
        if (invoice.isStale && invoice.recurringDates!.isEmpty)
          LoadingIndicator(
            height: 300,
          ),
        ...invoice.recurringDates!
            .map((schedule) => Padding(
                  padding: const EdgeInsets.only(top: 16),
                  child: Row(
                    children: [
                      Expanded(
                        child: Text(formatDate(schedule.sendDate, context)),
                      ),
                      Expanded(
                        child: Text(formatDate(schedule.dueDate, context)),
                      ),
                    ],
                  ),
                ))
            .toList(),
      ],
    );
  }
}
// Flutter imports:
import 'package:flutter/material.dart';

// Project imports:
import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/data/models/models.dart';
import 'package:invoiceninja_flutter/ui/app/edit_scaffold.dart';
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart';
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
import 'package:invoiceninja_flutter/ui/app/forms/learn_more.dart';
import 'package:invoiceninja_flutter/ui/app/help_text.dart';
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
import 'package:invoiceninja_flutter/ui/webhook/edit/webhook_edit_vm.dart';
import 'package:invoiceninja_flutter/utils/completers.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';

class WebhookEdit extends StatefulWidget {
  const WebhookEdit({
    Key? key,
    required this.viewModel,
  }) : super(key: key);

  final WebhookEditVM viewModel;

  @override
  _WebhookEditState createState() => _WebhookEditState();
}

class _WebhookEditState extends State<WebhookEdit> {
  final _targetUrlController = TextEditingController();
  final _headerKeyController = TextEditingController();
  final _headerValueController = TextEditingController();

  static final GlobalKey<FormState> _formKey =
      GlobalKey<FormState>(debugLabel:


late State, Lock and Priority values in the Lined ticket widget (Complex).
 - 2016-09-22 Fixed bug#[12283](http://bugs.otrs.org/show_bug.cgi?id=12283) - If Customer users <-> Groups is activated, some queues are not available in the customer interface, when starting a process ticket.
 - 2016-09-21 Fixed bug#[12313](http://bugs.otrs.org/show_bug.cgi?id=12313) - Spam log error in AdminSysConfig.
 - 2016-09-21 Added possibility to define Minimum and Maximum framework version in opm files (e.g. <Framework Minimum="5.0.14">5.0.x</Framework>).
 - 2016-09-20 Fixed bug#[12310](http://bugs.otrs.org/show_bug.cgi?id=12310) - Error when invoking the installer with SecureMode = 1.
 - 2016-09-19 Fixed bug#[12309](http://bugs.otrs.org/show_bug.cgi?id=12309) - LinkObject Complex Table column sorting only works for tickets.
 - 2016-09-16 Fixed bug#[12305](http://bugs.otrs.org/show_bug.cgi?id=12305) - Incorrect charset handling in content type of SOAP messages.
 - 2016-09-15 Fixed bug#[12126](http://bugs.otrs.org/show_bug.cgi?id=12126) - Daemon's Task SpoolMailsReprocess causes loop tickets.
 - 2016-09-15 Fixed bug#[12301](http://bugs.otrs.org/show_bug.cgi?id=12301) - CSV reading code is broken, thanks to Pawel Boguslawski.

# 5.0.13 2016-09-20
 - 2016-09-14 Updated translations, thanks to all translators.
 - 2016-09-12 Fixed bug#[12297](http://bugs.otrs.org/show_bug.cgi?id=12297) - AdminCustomerUser and AdminCustomerCompany generate log errors if RunInitialWildcardSearch is disabled.
 - 2016-09-09 Fixed bug#[12290](http://bugs.otrs.org/show_bug.cgi?id=12290) - LDAP Size Limit exceeded is marked as error.
 - 2016-09-09 Fixed bug#[5149](http://bugs.otrs.org/show_bug.cgi?id=5149) - Incomplete multipart/mixed processing causes incomplete display of e-mails.
 - 2016-09-05 Added new console commands to print (Maint::Log::Print) and clear (Maint::Log::Clear) the OTRS log.
 - 2016-09-05 Followup for bug#[11922](http://bugs.otrs.org/show_bug.cgi?id=11922) - Notification to non RealCustomer.
 - 2016-09-02 Fixed bug#[12199](http://bugs.otrs.org/show_bug.cgi?id=12199) - ProcessManagement: Comma separated Lastnames are not shown correctly on article creation.
 - 2016-09-02 Fixed bug#[12079](http://bugs.otrs.org/show_bug.cgi?id=12079) - Regex in transition condition not working for empty match.
 - 2016-09-02 Added additional positive ResponseCodes for Generic Interface transport module REST, thanks to Robert Ullrich.
 - 2016-09-02 Fixed bug#[12280](http://bugs.otrs.org/show_bug.cgi?id=12280) - GenericAgent job does not send out notifications, even when the option is set to Yes. Thanks to Johannes Hoerburger.
 - 2016-09-02 Fixed bug#[12257](http://bugs.otrs.org/show_bug.cgi?id=12257) - Ticketnotification: Ticketfilter of a uncheck checkbox doesn't work.
 - 2016-09-02 Fixed bug#[7288](http://bugs.otrs.org/show_bug.cgi?id=7288) - Hyperlink creation cuts URLs after a closing square bracket.
 - 2016-09-01 Fixed bug#[12106](http://bugs.otrs.org/show_bug.cgi?id=12106) - Use of uninitialize


ribs_class_ti_xml_node">TiXmlNode * 	parent

NodeType 	type

TiXmlNode * 	firstChild

TiXmlNode * 	lastChild

TIXML_STRING 	value

<td cla


min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>

</body>

</html>
<!DOCTYPE html>
<!-- saved from url=(0115)https://www.eltiempo.com/colombia/medellin/elecciones-2022-candidatos-presidenciales-en-la-universidad-eafit-669594 -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript" src="./eltiempo.com-candidatos_files/ae648b7581"></script><script src="./eltiempo.com-candidatos_files/nr-spa-1130.min.js"></script><script async="" src="./eltiempo.com-candidatos_files/analytics.js"></script><script src="./eltiempo.com-candidatos_files/gaAccount"></script><script src="./eltiempo.com-candidatos_files/2723761454502284" async=""></script><script src="./eltiempo.com-candidatos_files/identity.js" async=""></script><script type="text/javascript" async="" src="./eltiempo.com-candidatos_files/fbevents.js"></script><script type="text/javascript" async="" src="./eltiempo.com-candidatos_files/analytics.js"></script><script type="text/javascript" async="" src="./eltiempo.com-candidatos_files/js"></script><script id="www-widgetapi-script" src="./eltiempo.com-candidatos_files/www-widgetapi.js" async=""></script><script type="text/javascript" async="" src="./eltiempo.com-candidatos_files/chartbeat.js"></script><script type="text/javascript" async="" src="./eltiempo.com-candidatos_files/cx.js"></script><script async="" type="text/javascript" src="./eltiempo.com-candidatos_files/cx.cce.js"></script><script async="" src="./eltiempo.com-candidatos_files/beacon.js"></script><script async="" src="./eltiempo.com-candidatos_files/bk-coretag.js"></script><script src="./eltiempo.com-candidatos_files/get.js"></script>
<iframe src="javascript:void(0)" title="" data-gtm-yt-inspected-8907555_20="true" data-gtm-yt-inspected-1_19="true" style="width: 0px; height: 0px; border: 0px; display: none;" src="./eltiempo.com-candidatos_files/saved_resource.html"></iframe><script async="" src="./eltiempo.com-candidatos_files/gtm.js"></script><script async="" src="./eltiempo.com-candidatos_files/gtm(1).js"></script><script async="" type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>

<script type="text/javascript">
window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(23),s={};try{o=localStorage.getItem("__nr_flags").split("


//nolint:errcheck

		logger.Info("growing XFS filesystem", zap.String("device", volumeContext.Status.MountLocation))

		if err = makefs.XFSGrow(tmpDir); err != nil {
			return fmt.Errorf("error growing XFS: %w", err)
		}

		return nil
	case block.FilesystemTypeEXT4:
		logger.Info("growing ext4 filesystem", zap.String("device", volumeContext.Status.MountLocation))

		if err := makefs.Ext4Resize(volumeContext.Status.MountLocation); err != nil {
			return fmt.Errorf("error growing ext4: %w", err)
		}

		return nil
	default:
		return fmt.Errorf("unsupported filesystem type to grow: %s", volumeContext.Cfg.TypedSpec().Provisioning.FilesystemSpec.Type)
	}
}
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

package diagnostics

import (
	"context"
	"fmt"
	"net/netip"

	"github.com/cosi-project/runtime/pkg/controller"
	"github.com/cosi-project/runtime/pkg/safe"
	"github.com/cosi-project/runtime/pkg/state"
	"github.com/siderolabs/gen/xslices"
	"go.uber.org/zap"

	"github.com/siderolabs/talos/pkg/machinery/resources/config"
	"github.com/siderolabs/talos/pkg/machinery/resources/k8s"
	"github.com/siderolabs/talos/pkg/machinery/resources/network"
	"github.com/siderolabs/talos/pkg/machinery/resources/runtime"
)

// AddressOverlapCheck checks for overlapping host and Kubernetes pod/service CIDR addresses.
func AddressOverlapCheck(ctx context.Context, r controller.Reader, logger *zap.Logger) (*runtime.DiagnosticSpec, error) {
	hostAddresses, err := safe.ReaderGetByID[*network.NodeAddress](ctx, r, network.NodeAddressRoutedID)
	if err != nil {
		if state.IsNotFoundError(err) {
			return nil, nil
		}

		return nil, fmt.Errorf("error reading host addresses: %w", err)
	}

	hostMinusK8s, err := safe.ReaderGetByID[*network.NodeAddress](ctx, r, network.FilteredNodeAddressID(network.NodeAddressRoutedID, k8s.NodeAddressFilterNoK8s))
	if err != nil {
		if state.IsNotFoundError(err) {
			return nil, nil
		}

		return nil, fmt.Errorf("error reading host minus k8s addresses: %w", err)
	}

	cfg, err := safe.ReaderGetByID[*config.MachineConfig](ctx, r, config.V1Alpha1ID)
	if err != nil {
		if state.IsNotFoundError(err) {
			return nil, nil
		}

		return nil, fmt.Errorf("error reading machine configuration: %w", err)
	}

	if len(hostAddresses.TypedSpec().Addresses) > 0 && len(hostMinusK8s.TypedSpec().Addresses) == 0 {
		details := []string{
			fmt.Sprintf("host routed addresses: %q", xslices.Map(hostAddresses.TypedSpec().Addresses, netip.Prefix.String)),
		}

		if cfg.Config().Cluster() != nil {
			details = append(details, fmt.Sprintf("Kubernetes pod CIDRs: %q", cfg.Config().Cluster().Network().PodCIDRs()))
			details = append(details, fmt.Sprintf("Kubernetes service CIDRs: %q", cfg.Config().Cluster().Network().ServiceCIDRs()))
		}

		return &runtime.DiagnosticSpec{
			Message: "host and Kubernetes pod/service CIDR addresses overlap",
			Details: details,
		}, nil
	}

	return nil, nil
}
// This Source Code Form is subject to the terms of the Mozilla Public
// License


3134da)

## 安全分析
(2025-03-23)

本文档包含 AI 对安全相关内容的自动化分析结果。[概览](https://blog.897010.xyz/c/today)

### CVE-2025-0411 - 7-Zip MotW Bypass漏洞

#### 📌 漏洞信息

| 属性 | 详情 |
|------|------|
| CVE编号 | CVE-2025-0411 |
| 风险等级 | `HIGH` |
| 利用状态 | `POC可用` |
| 发布时间 | 2025-03-22 00:00:00 |
| 最后更新 | 2025-03-22 16:03:56 |

#### 📦 相关仓库

- [7-Zip-CVE-2025-0411-POC](https://github.com/dpextreme/7-Zip-CVE-2025-0411-POC)

#### 💡 分析概述

该仓库提供了CVE-2025-0411的POC，该漏洞允许绕过7-Zip的Mark-of-the-Web (MotW) 保护。该漏洞影响7-Zip 24.09之前的版本。仓库包含POC，展示了通过双重压缩可执行文件来触发漏洞，从而绕过MotW保护机制。最近的更新主要集中在README.md文件的内容更新，包括修复CVE链接，并提供了关于漏洞的详细信息和利用说明。最新的提交对README.md进行了修改，更新了关于POC下载链接和Cybersecurity图标。POC通过双重压缩可执行文件实现，用户需要下载并运行压缩文件。该漏洞允许攻击者在用户交互的情况下执行任意代码。

#### 🔍 关键发现

| 序号 | 发现内容 |
|------|----------|
| 1 | 7-Zip MotW bypass |
| 2 | 用户需要交互 |
| 3 | POC已提供 |
| 4 | 影响版本为24.09之前 |

#### 🛠 技术细节

> 漏洞原理是7-Zip在处理压缩文件时未正确传递Mark-of-the-Web (MotW) 标识，导致绕过安全机制。

> 利用方法是构造恶意的7z压缩包，通过诱使用户解压并运行其中的可执行文件，从而执行任意代码。

> 修复方案是升级到7-Zip 24.09或更高版本，该版本已修复此漏洞。

#### 🎯 受影响组件

```
• 7-Zip
```

#### ⚡ 价值评估

<details>
<summary>展开查看详细评估</summary>

该漏洞影响广泛使用的软件7-Zip，且有POC，能够实现远程代码执行，危害较高。
</details>

---

### CVE-2025-21333 - vkrnlintvsp.sys堆


ata/scripts/biome_modifiers.lua",
    "data/scripts/biomes/scale.lua",

    -- The tree shows your progress, should be fine to not sync it
    -- "data/scripts/biomes/mountain_tree.lua",

    -- The following also modify flags.
    -- "data/scripts/animals/boss_dragon_death.lua",
    -- "data/scripts/buildings/huussi.lua",
    -- "data/scripts/perks/perk.lua",
    -- "data/scripts/buildings/chest_light.lua",
    -- "data/scripts/buildings/chest_dark.lua",
    -- "data/scripts/magic/amulet.lua",
    -- "data/entities/animals/boss_alchemist/death.lua",
    -- "data/entities/animals/boss_pit/boss_pit_death.lua",
    -- "data/entities/animals/boss_limbs/boss_limbs_death.lua",
}

-- Override HasFlagPersistent in each.
for _, file in ipairs(uses_persistent_flags) do
    ModLuaFileAppend(file, "mods/quant.ew/files/system/flag_sync/append/has_flag_hook.lua")
end


                    // TODO: Enable when adding Monitors
                    // ActorErr::Reporting(e) => (ActorState::Healthy, Some(e)),
                    ActorErr::Crashing(e) => (ActorState::Crashed, Some(e)),
                }
            }
        };

        let state = Arc::new(RwLock::new(state));

        let actor_ref = ActorRef {
            id,
            r#type: TypeId::of::<T>(),
            tx: Arc::new(tx),
            state: state.clone(),
        };

        let state_g = state.read().unwrap();

        if *state_g == ActorState::Healthy {
            let running = self.is_running.clone();

            drop(state_g);

            tokio::spawn(dequeue_for_actor(actor, state, rx, running));
        }

        (actor_ref, err)
    }

    fn is_running(&self) -> Arc<AtomicBool> {
        self.is_running.clone()
    }

    fn stop(&self) {
        self.is_running.swap(false, Ordering::Acquire);
    }
}

async fn dequeue_for_actor<T: Actor + 'static>(mut actor: T, state: Arc<RwLock<ActorState>>,
                                     mut rx: UnboundedReceiver<T::Msg>, is_running: Arc<AtomicBool>) {
    while is_running.load(Ordering::Relaxed) {
        if let Some(msg) = rx.next().await {
            {
                let state_g = state.read()
                    .expect("poisoned actor_state, report to dev");

                if *state_g != ActorState::Healthy {
                    break;
                }
            }

            let handle_result = actor.handle(msg).await;

            {
                let mut state_g = state.write()
                    .expect("poisoned actor_state, report to dev");

                match handle_result {
                    Ok(ok) => {
                        if ok == ActorOk::GracefulEnd {
                            *state_g = ActorState::Stopped;
                        }
                    }
                    Err(err) => {
                        if let ActorErr::Crashing(_e) = err {
                            *state_g = ActorState::Crashed;
                        }
                    }
                }
            }
        } else { break; }
    }
}
<filename>src/generator.rs
/*!
 * The generator is the last step in the compiler chain.
 * It takes the AST either directly from the parser or after
 * some optimisation steps, and turns it into the wanted output
 * code.
 */
use crate::{
    asts::bobo::{self, Ast},
    Error,
};
use alloc::{format, string::String};

/**
 * Turn the AST into output 8080 assembly code.
 */
pub fn generate(ast: Ast) -> Result<String, Error> {
    use bobo::{Arithmetic::*, Instruction::*, Load::*};

    // the output string
    let mut output = String::new();

    // loop over all instructions
    for instruction in ast {
        output += &match instruction {
            // comments
            Comment(text) => format!("; {}\n", text),

            // loads


us,
a.u-button-style.u-button-style.u-button-style.u-button-style.u-text-active-grey-5:active,
a.u-button-style.u-button-style.u-button-style.u-button-style.u-text-active-grey-5[class*="u-border-"]:active,
a.u-button-style.u-button-style.u-button-style.u-button-style.u-text-active-grey-5.active,
a.u-button-style.u-button-style.u-button-style.u-button-style.u-text-active-grey-5[class*="u-border-"].active,
a.u-button-style.u-button-style.active > .u-text-active-grey-5,
a.u-button-style.u-button-style.active > .u-text-active-grey-5[class*="u-border-"],
:not(.level-2) > .u-nav > .u-nav-item > a.u-nav-link.u-text-hover-grey-5:hover,
:not(.level-2) > .u-nav > .u-nav-item > a.u-nav-link.u-nav-link.u-text-active-grey-5.active,
.u-text-hover-grey-5.u-language-url:hover,
.u-text-hover-grey-5 .u-language-url:hover,
.u-text-hover-grey-5.u-carousel-control:hover,
.u-text-hover-grey-5.u-gallery-nav:hover,
.u-popupmenu-items.u-text-hover-grey-5 .u-nav-link:hover,
.u-popupmenu-items.u-popupmenu-items.u-text-active-grey-5 .u-nav-link.active,
.u-calendar-time-list .u-calendar-time-slot.u-text-hover-grey-5:hover,
.u-calendar-time-list .u-calendar-time-slot.u-text-active-grey-5.u-active {
  color: var(--grey-5) !important;
}
.u-text-grey-5 .u-svg-link,
.u-text-hover-grey-5:hover .u-svg-link,
.u-text-hover-grey-5:focus .u-svg-link,
.u-text-active-grey-5:active .u-svg-link.u-svg-link,
.u-button-style:hover > .u-text-hover-grey-5 .u-svg-link,
.u-button-style.u-button-style:active > .u-text-active-grey-5 .u-svg-link,
.u-button-style.u-button-style.active > .u-text-active-grey-5 .u-svg-link {
  fill: var(--grey-5);
}
.u-link.u-text-grey-5:hover {
  color: var(--grey-5-darker) !important;
}
a.u-link.u-text-hover-grey-5:hover {
  color: var(--grey-5) !important;
}
.u-text-grey-10,
.u-input.u-text-grey-10,
.u-input.u-text-grey-10[class*="u-border-"],
li.active > a.u-button-style.u-text-grey-10,
li.active > a.u-button-style.u-text-grey-10[class*="u-border-"],
a.u-button-style.u-text-grey-10,
a.u-button-style.u-text-grey-10[class*="u-border-"] {
  color: var(--grey-10) !important;
  --current-color-r: var(--grey-10-r);
  --current-color-g: var(--grey-10-g);
  --current-color


tions.actionGlobalHome(),
            )
        }

        return job
    }

    /**
     * Submits all pending non-fatal crash reports if the "Send crash" checkbox was checked
     * and the report crashes setting is enabled.
     * Also clears the current list of non-fatal crashes irrespective of whether they are reported or not.
     *
     * @param reportCrashes A second condition beside crash reporting being enabled in app settings
     * based on which the current crashes will be reported or immediately disposed off.
     * @return [Job] allowing to check status / cancel the reporting operation or null if reporting is disabled.
     */
    @VisibleForTesting
    @OptIn(DelicateCoroutinesApi::class) // GlobalScope usage
    internal fun submitPendingNonFatalCrashesIfNecessary(reportCrashes: Boolean): Job? {
        var job: Job? = null
        if (reportCrashes && settings.isCrashReportingEnabled) {
            job = GlobalScope.launch(Dispatchers.IO) {
                val crashes = appStore.state.nonFatalCrashes
                crashes.forEach {
                    components.analytics.crashReporter.submitReport(it)
                    appStore.dispatch(AppAction.RemoveNonFatalCrash(it))
                }
            }
        } else {
            appStore.dispatch(AppAction.RemoveAllNonFatalCrashes)
        }

        return job
    }
}
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

package org.mozilla.fenix.utils

import java.util.Locale

/**
 * Helper class for displaying Locale name.
 */
object LocaleUtils {

    /**
     * Returns a name for the locale that is appropriate for display to the user. The display name
     * will be in the language of the specified locale.
     *
     * For example, in an any language locale, the German language locale or "de" would be
     * presented as "Deutsch".
     *
     * @param locale The locale to determine a language name.
     * @return A default title case display name in the locale's language.
     */
    fun getDisplayName(locale: Locale): String {
        val displayName = locale.getDisplayName(locale)
            .replaceFirstChar { if (it.isLowerCase()) it.titlecase(locale) else it.toString() }
        if (displayName.equals(locale.toString(), ignoreCase = true)) {
            return LOCALE_TO_DISPLAY_NATIVE_NAME_MAP[locale.toString()] ?: displayName
        }
        return displayName
    }

    /**
     * Returns a name for the locale that is appropriate for display to the user based on the user's
     * specified language.
     *
     * For example, in an an English language locale, the German language locale or "de" would be
     * presented as "German".
     *
     * @param userLocale The locale the user is using.
     * @param languageLocale The locale to localize the language name into the user's language.
     *
     * @return A default language name in the specified user's locale language.
     */
    fun getLocalizedDisplayName(userLocale: Locale, languageLocale: Locale): String {
        val displayName = Locale.forLanguageTag(languageLocale.toLanguageTag()).getDisplayName(userLocale)
        return if (userLocale == Locale.ENGLISH) {
            LOCALE_TO_DISPLAY_ENGLISH_NAME_MAP[languageLocale.toString()] ?: displayName
        } else {
            displayName
        }
    }

    private val LOCALE_TO_DISPLAY_NATIVE_NAME_MAP: Map<String, String> = mapOf(
        "an" to "Aragonés",
        "anp" to "अंगिका",
        "ar" to "العربية",
        "ast" to "Asturianu",
        "ay" to "Aimara


而过，己方的飞空艇差点失去平衡，整个场面的气氛顿时紧张了起来。

// “叫你停下！”

// “不服从命令的话我们就要开火了。”

// 一台飞空艇挡在了笔直前进的对方路线正前方，剩下的纷纷上升、左右散开，并摆起了准备射击的阵型。团长自己也将手指扣在了机关枪的扳机上。可正在此时，

// “你们工作辛苦了。”

// 对方唐突地冒出了这么一句。是女性——应该说是少女的声音。扣在扳机上的手指顿时松开。

// 擦身而过的飞空艇拖着一条白金色的尾巴。当意识到那是被风拂起的长发时，

// “公主！”

// 团长下意识叫了起来。

// “抱歉，我有急事。”

// 迅速回答的声音早已远去。

// 顿时第三防空艇队的众人都傻了眼。随后，目送这架有着小型船状座椅的飞空艇展开了滑翔用的机翼，徐徐降下。

// “团长？”

// “不用管了。”

// 已经年过四十五的防空艇团长有一个十四岁的女儿。和加贝拉国第三公主碧莉娜同龄。十四岁。在他看来，还是从蹒跚学步的幼儿之后没经过多少年月。哪怕世间已将这年龄的孩子当作成人的一分子，就算结婚生子也一点都不觉奇怪。

// “第四防空艇队收兵。我必须马上回去写今天的日志。就写‘今天的天空依然非常和平’吧。”

// 凝视着窗外的明月。

// 从床上坐起身来，沐浴在青色光芒中的容颜虽已步入老年，但与生俱来的气质与威严依然健在。

// “我还在想今晚怎么那么热闹，果然是你啊。”

// “是的，是我。”

// 侧面传来了回答声。

// 房间的门口映照出一个人影。随着对方一步步地踏入，月光渐渐拂去了来者的影子，显现出一个少女的姿态。

// “别总


///
/// * `"eventType"`: one of the
/// \[EventType][google.storagetransfer.v1.NotificationConfig.EventType\] values
/// * `"payloadFormat"`: one of the
/// \[PayloadFormat][google.storagetransfer.v1.NotificationConfig.PayloadFormat\]
/// values
/// * `"projectId"`: the
/// \[project_id][google.storagetransfer.v1.TransferOperation.project_id\] of the
/// `TransferOperation`
/// * `"transferJobName"`: the
/// \[transfer_job_name][google.storagetransfer.v1.TransferOperation.transfer_job_name\]
/// of the `TransferOperation`
/// * `"transferOperationName"`: the
/// \[name][google.storagetransfer.v1.TransferOperation.name\] of the
/// `TransferOperation`
///
/// The `PubsubMessage.data` will contain a
/// \[TransferOperation][google.storagetransfer.v1.TransferOperation\] resource
/// formatted according to the specified `PayloadFormat`.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NotificationConfig {
    /// Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish
    /// notifications. Must be of the format: `projects/{project}/topics/{topic}`.
    /// Not matching this format will result in an
    /// \[INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT\] error.
    #[prost(string, tag = "1")]
    pub pubsub_topic: ::prost::alloc::string::String,
    /// Event types for which a notification is desired. If empty, send
    /// notifications for all event types.
    #[prost(enumeration = "notification_config::EventType", repeated, tag = "2")]
    pub event_types: ::prost::alloc::vec::Vec<i32>,
    /// Required. The desired format of the notification message payloads.
    #[prost(enumeration = "notification_config::PayloadFormat", tag = "3")]
    pub payload_format: i32,
}
/// Nested message and enum types in `NotificationConfig`.
pub mod notification_config {
    /// Enum for specifying event types for which notifications are to be
    /// published.
    ///
    /// Additional event types may be added in the future. Clients should either
    /// safely ignore unrecognized event types or explicitly specify which event
    /// types they are prepared to accept.
    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
    #[repr(i32)]
    pub enum EventType {
        /// Illegal value, to avoid allowing a default.
        Unspecified = 0,
        /// `TransferOperation` completed with status
        /// \[SUCCESS][google.storagetransfer.v1.TransferOperation.Status.SUCCESS\].
        TransferOperationSuccess = 1,
        /// `TransferOperation` completed with status
        /// \[FAILED][google.storagetransfer.v1.TransferOperation.Status.FAILED\].
        TransferOperationFailed = 2,
        /// `TransferOperation` completed with status
        /// \[ABORTED][google.storagetransfer.v1.TransferOperation.Status.ABORTED\].
        TransferOperationAborted = 3,
    }
    /// Enum for specifying the format of a notification message's payload.
    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
    #[repr(i32)]
    pub enum PayloadFormat {
        /// Illegal value, to avoid allowing a default.
        Unspecified = 0,
        /// No payload is included with the notification.
        None = 1,
        /// `TransferOperation` is [formatted as a JSON
        /// response](<https://developers.google.com/protocol-buffers/docs/proto3#json>),
        /// in application/json.
        Json = 2,
    }
}
/// A description of the execution of a transfer.
#[derive(Clon


개수를 불러옵니다.
  int get otherStyleCount => _styles.length;

  /// [PolylineTextStyle.addStyle]로 정의된 다른 스타일의 Zoom Level을 불러옵니다.
  List<int> get otherStyleLevel =>
      _styles.map((e) => e.zoomLevel).toList(growable: false);

  Map<String, dynamic> toMessageable() {
    final payload = <String, dynamic>{
      "applyDpScale": applyDpScale,
      // ignore: deprecated_member_use
      "color": color.value,
      "size": size,
      "strokeSize": strokeSize,
      // ignore: deprecated_member_use
      "strokeColor": strokeColor?.value,
    };
    if (!_isSecondaryStyle) {
      payload['otherStyle'] = _styles.map((e) => e.toMessageable()).toList();
    }
    return payload;
  }
}
part of '../../kakao_map_sdk.dart';

/// 지도의 일부분을 제외하고 특정 색상으로 가리는 것을 조작하는 컨트롤러입니다.
/// [MapPoint]와 [BaseDotPoint] 기반의 요소를 이용하여 지도의 일부분에 특정 색을 입히거나,
/// 특정 부분을 제외한 모든 부분을 색상을 입힐 수 있습니다.
class DimScreenController extends BaseShapeController {
  @override
  final String id = "dim_screen_layer"; // TEMPORARY ID (NOT USED)

  @override
  MethodChannel channel;

  @override
  OverlayManager manager;

  @override
  OverlayType get type => OverlayType.dimScreen;

  DimScreenController._(this.channel, this.manager) : super._();

  /// DimScreen의 색상입니다.
  Color get color => _color;
  Color _color = Colors.black.withAlpha(128);

  /// 지도에 DimScreen 덮을 범위입니다.
  DimScreenCover get cover => _cover;
  DimScreenCover _cover = DimScreenCover.all;

  /// 지도에 DimScreen의 활성화하여 지도에 그려져 있는 여부입니다.
  bool get visible => _visible;
  bool _visible = false;

  final Map<String, Polygon> _polygonShape = {};

  /// 지도를 덮을 범위를 설정합니다.
  Future<void> setCover(DimScreenCover cover) async {
    _cover = cover;
    await _invokeMethod("setCover", {"cover": cover.value});
  }

  /// DimScreen의 색상을 설정합니다.
  Future<void> setColor(Color color) async {
    _color = color;
    await _invokeMethod("setColor", {
      // ignore: deprecated_member_use
      "color": color.value
    });
  }

  /// DimScreen을 지도에 나타낼지 설정합니다.
  Future<void> setVisible(bool visible) async {
    _visible = visible;
    await _invokeMethod("setVisible", {"visible":


imum,
  }) {
    _check(value != null, () => '"$name" cannot be `null`');
    assert(name != null, '"name" must not be `null`');
    assert(name != null, '"name" must not be `null`');
    final length = value!.length;
    _check(
      (minimum == null || length >= minimum),
      () => '"$name" must be longer than $minimum',
    );
    _check(
      (maximum == null || length <= maximum),
      () => '"$name" must be less than $maximum',
    );
  }

  // note: base32-ulid is 26 characters long, base16-based ulid may be 32 or 36 characters long.
  static final _ulidPattern = RegExp(r'^[a-zA-Z0-9]{26,36}$');

  static void checkUlid(String value, String? name) {
    assert(name != null, '"name" must not be `null`');
    _check(_ulidPattern.hasMatch(value), () => '"$name" is not a valid ulid.');
  }

  /// Pattern for both new and existing package names.
  ///
  /// This allows upper-case characters in package names, because that exist in
  /// some existing packages.
  static final _packageNamePattern = RegExp(r'^[a-zA-Z_][a-zA-Z0-9_]*$');

  /// Throw [InvalidInputException] if [package] is not an allowed package name.
  static void checkPackageName(String? package) {
    // TODO: Reuse logic from validatePackageName in pub_package_reader.dart
    //       This is for new and existing packages! Not only new packages!
    checkNotNull(package, 'package');
    checkStringLength(package!, 'package', minimum: 1, maximum: 64);
    checkMatchPattern(package, 'package', _packageNamePattern);
  }

  /// Throw [InvalidInputException] if [version] is not a valid semantic version
  /// or if canonicalizing the version fails.
  ///
  /// Returns the canonicalized version.
  static String checkSemanticVersion(String? version) {
    checkNotNull(version, 'version');
    final canonicalVersion = canonicalizeVersion(version);
    if (canonicalVersion == null) {
      throw InvalidInputException._(
        'Version string "$version" is not a valid semantic version.',
      );
    }
    return canonicalVersion;
  }
}

/// Throws when a package upload is rejected for a reason.
class PackageRejectedException extends ResponseException {
  PackageRejectedException(String message)
    : super._(400, 'PackageRejected', message);

  /// The package archive tar.gz file is above [limit] bytes.
  PackageRejectedException.archiveTooLarge(int limit)
    : super._(400, 'PackageRejected', 'Package archive exceeded $limit bytes.');

  /// The package archive tar.gz file is empty, possibly an error happened
  /// during the upload or the system was unable to create an archive.
  PackageRejectedException.archiveEmpty()
    : super._(400, 'PackageRejected', 'Package archive is empty (size = 0).');

  /// The package archive file seems to be an invalid tar.gz
  PackageRejectedException.invalidTarGz()
    : super._(
        400,
        'PackageRejected',
        'Package archive is not a valid `.tar.gz`.',
      );

  /// The package archive file contains a broken symlink (outside of the archive
  /// or file does not exists).
  PackageRejectedException.brokenSymlink(String source, String target)
    : super._(
        400,
        'PackageRejected',
        'Package archive contains a broken symlink: `$source` -> `$target`.',
      );

  /// The [package] name is reserved.
  PackageRejectedException.nameReserved(String package)
    : super._(400, 'PackageRejected', 'Package name $package is reserved.');

  /// The [package] is similar to an


溃之后，我很快调整了状态，继续投递简历，寻找机会。去年五月底，我终于拿到了第一家，也是唯一一家中型企业的实习机会。相比于暑期的坎坷经历，由于积累了更多的经验，秋招显得顺利了许多。如今，我已经入职美团，开启了人生的新篇章。江湖路远，有缘再会！以下是我的个人主页，其中有我的联系方式，欢迎有想咨询问题的学弟学妹~

\textbf{个人主页: }\url{YellowPancake.github.io}
% \subsection{曲yue-AI算法}
% \subsubsection{简历}

% 简历一般包括：个人背景介绍、个人技能（优势）、工作（实）经历、项目经历、所获奖项和自我评价。
% \begin{itemize}
%     \item 个人背景: 基本信息、学历、意向岗位、目前所在城市、预期到岗时间等。
%     \item 个人技能: 分点论述自身的职业技能，相关度高的技能可以写到前面，兴趣爱好可以挑个人擅长且与岗位相关的来写，用括号进一步描述。
%     \item 工作（实习）经历: 首先要逻辑清晰，总结自身的工作内容，分点论述，按照重要程度和连贯性依次排列。其次是数据量化，数字化的描述会让表达更加准确、更有冲击力和说服力。最后是行为动词，行为动词能够直接、简介的体现出个人的能力以及在团队中的作用，比如：搭建、统筹、制定、协调、把控等等。
%     \item 项目经历: 项目经历不需要全部写到文档中，只需要挑选1-2个含金量高、知名度高的项目写到简历中，且重点突出介绍项目内容、个人在项目中担任的角色、项目开展过程、项目结果等。注意要分条理和逻辑的书写。
%     \item 所获奖项: 可以将重量级的奖项放到最前面，其他奖项放后面。
%     \item 自我评价: 首先表明你的工作经验和所处行业，并突出你的成果以及对公司业务的贡献，最好用数据量化体现出来。其次突出你的专业能力，是否有带团队的经历和相关资源。最后补充自己的性格，沟通能力、表达能力和学习能力都如何。
% \end{i


SPEC {
    #[inline(always)]
    fn reset_value() -> Self::Ux {
        0
    }
}
use core::slice;

#[derive(Clone, Copy, Debug, PartialEq)]
pub struct UnicodeFont(pub char, pub [u8; 16]);

impl UnicodeFont {
    pub fn char(&self) -> char {
        self.0
    }

    pub fn bytearray(&self) -> [u8; 16] {
        self.1
    }

    pub fn is_whitespace(&self) -> bool {
        self.1 == crate::font8x16::legacy::NOTHING
    }

    pub fn into_inner(self) -> (char, [u8; 16]) {
        self.into()
    }
}

impl From<UnicodeFont> for [u8; 16] {
    fn from(f: UnicodeFont) -> Self {
        f.1
    }
}

impl From<UnicodeFont> for char {
    fn from(f: UnicodeFont) -> Self {
        f.0
    }
}

impl From<UnicodeFont> for (char, [u8; 16]) {
    fn from(f: UnicodeFont) -> Self {
        (f.0, f.1)
    }
}

pub trait UnicodeFonts {
    fn get(&self, key: char) -> Option<[u8; 16]>;

    fn get_font(&self, key: char) -> Option<UnicodeFont>;

    fn iter(&self) -> slice::Iter<UnicodeFont>;
}
<filename>src/sound.rs
//! Sound-related functions. It can beep, play wav files, or convert text to
//! speech.
//!
//! Note that all methods of the meodule spawn system processes and return
//! `std::process::Child` objects. The methods are asynchronous (they return
//! immediately after child process was spawned, without waiting for its
//! completion), but you can call wait() on the returned result.
//!
//! # Examples
//! ```no_run
//! # use ev3dev_lang_rust::Ev3Result;
//! use ev3dev_lang_rust::sound;
//!
//! # fn main() -> Ev3Result<()> {
//! // Play "bark.wav", return immediately:
//! sound::play("bark.wav")?;
//!
//! // Introduce yourself, wait for completion:
//! sound::speak("Hello, I am Robot")?.wait()?;
//! # Ok(())
//! # }
//! ```

use crate::{Ev3Error, Ev3Result};
use std::ffi::OsStr;
use std::process::{Child, Command, Stdio};

/// Call beep command.
///
/// # Example
/// ```no_run
/// # use ev3dev_lang_rust::Ev3Result;
/// use ev3dev_lang_rust::sound;
///
/// # fn main() -> Ev3Result<()> {
/// sound::beep()?.wait()?;
/// # Ok(())
/// # }
/// ```
pub fn beep() -> Ev3Result<Child> {
    Ok(Command::new("/usr/bin/beep")
        .stdout(Stdio::null())
        .spawn()?)
}

/// Call beep command with the provided arguments.
///
/// See `beep man page`_ and google `linux beep music`_ for inspiration.
/// * `beep man page`: https://linux.die.net/man/1/beep
/// * `linux beep music`: https://www.google.com/search?q=linux+beep+music
///
/// # Example
/// ```no_run
/// # use ev3dev_lang_rust::Ev3Result;
/// use ev3dev_lang_rust::sound;
///
/// # fn main() -> Ev3Result<()> {
/// sound::beep_args(&[""])?.wait()?;
/// # Ok(())
/// #


etail@_Trait?1?#shared_ptr.5Token~uL~r#__base.n1?1?#shared_ptr.n2~uL~eui?0?ui?1?~.q#integer_sequence.uieui?0?ui?1?~ ; std::__variant_detail::__visitation::__base::__make_fdiagonal_impl<LambdaClosure5__ppEmbed_cpp__e1e322b3&, __base<std::__variant_detail::_Trait=1, shared_ptr<Token>, unsigned long long>&, __base<std::__variant_detail::_Trait=1, shared_ptr<std::__variant_detail::_Trait>, unsigned long long>&, ...unsigned int=0, unsigned int=1>(integer_sequence<unsigned int, ...unsigned int=0, unsigned int=1>)
        add     esp,byte 08h
        mov     ecx,dword [eax+04h]
        mov     dword [esp-01ch+04h+050h],ecx
        mov     ecx,dword [eax]
        mov     dword [esp-01ch+050h],ecx
; Line 521:   }
; Line 2269:     return static_cast<_Tp&&>(__t);
; Line 2270: }
        push    ebp
; Line 2269:     return static_cast<_Tp&&>(__t);
; Line 2270: }
        push    edi
; Line 2269:     return static_cast<_Tp&&>(__t);
; Line 2270: }
        push    ebx
        call    dword [esp+esi*4-01ch+05ch]
        add     esp,byte 0ch
; Line 444:   }
; Line 805:       __lhs.__index = __rhs.index();
        mov     eax,dword [esp-034h+050h]
; Line 696:     return __index == __variant_npos<__index_t> ? variant_npos : __index;
        cmp     dword [eax+08h],byte 0ffffffffh
        jne     L_147629
        mov     ecx,0ffffffffh
        jmp     L_147630
L_147629:
        mov     ecx,dword [eax+08h]
L_147630:
; Line 697:   }
        mov     eax,dword [esp-030h+050h]
        mov     dword [eax+08h],ecx
; Line 806:     }
L_147643:
L_147408:
; Line 807:   }
L_147406:
        pop     edi
        pop     esi
        pop     ebp
        pop     ebx
        add     esp,byte 040h
        ret
section code
section code
        section vsc@std@#allocator_traits.#allocator.#__hash_node.#__hash_value_type.#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.5Token~#allocator.#shared_ptr.n0~~~~pv~~~@#construct.#pair.x#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.n0~#allocator.#shared_ptr.n0~~~~rx#pair.x#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.n0~#allocator.#shared_ptr.n0~~~~~.qr#allocator.#__hash_node.#__hash_value_type.#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.n0~#allocator.#shared_ptr.n0~~~~pv~~p#pair.x#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.n0~#allocator.#shared_ptr.n0~~~~rx#pair.x#basic_string.c#char_traits.c~#allocator.c~~#vector.#shared_ptr.n0~#allocator.#shared_ptr.n0~~~~ virtual
        [bits 32]
; std::allocator_traits<allocator<__hash_node<__hash_value


		}
	} else {
		log.Error(v.Log("get vtap failed or no vtap data"))
	}
	log.Info(v.Log("init generate all vtap platform data"))
	// 最后生成romote segment
	v.generateAllVTapRemoteSegements()
	v.generateVTapIP()
	v.generateLocalCAMD5()
	v.isReady.Set()
}

func (v *VTapInfo) generatePlatformDataAndSegment() {
	log.Info(v.Log("platform data changed generate all vtap platform data"))
	v.generateAllVTapPlatformData()
	log.Info(v.Log("platform data changed generate all vtap segment"))
	v.generateAllVTapSegements()
	pushmanager.Broadcast(int(v.ORGID))
}

func (v *VTapInfo) monitorDataChanged() {
	log.Info(v.Log("start monitor Data changed"))
	chDataChanged := v.metaData.GetPlatformDataOP().GetPlatformDataChangedCh()
	for {
		select {
		case <-chDataChanged:
			v.generatePlatformDataAndSegment()
		case <-v.chVTapChangedForPD:
			select {
			case <-chDataChanged:
				v.generatePlatformDataAndSegment()
			default:
				log.Info(v.Log("vtap config changed generate all vtap platform data "))
				v.generateAllVTapPlatformData()
				select {
				case <-v.chVTapChangedForSegment:
					log.Info(v.Log("vtap changed generate all vtap remote segment"))
					v.generateAllVTapRemoteSegements()
				default:
				}
			}
		case <-v.chVTapChangedForSegment:
			select {
			case <-chDataChanged:
				v.generatePlatformDataAndSegment()
			default:
				log.Info(v.Log("vtap changed generate all vtap remote segment"))
				v.generateAllVTapRemoteSegements()
				select {
				case <-v.chVTapChangedForPD:
					log.Info(v.Log("vtap config changed generate all vtap platform data "))
					v.generateAllVTapPlatformData()
				default:
				}
			}
		case <-v.ctx.Done():
			log.Info(v.Log("exit monitor data changed"))
			return
		}
	}
}

func (v *VTapInfo) getVTapPodDomains(c *VTapCache) []string {
	result := []string{}
	noPodDomains := []int{VTAP_TYPE_WORKLOAD_V, VTAP_TYPE_WORKLOAD_P}
	serverPodDomains := []int{VTAP_TYPE_ESXI, VTAP_TYPE_KVM, VTAP_TYPE_HYPER_V, VTAP_TYPE_HYPER_V_NETWORK}
	nodePodDomains := []int{VTAP_TYPE_POD_HOST, VTAP_TYPE_POD_VM}
	podDomains := mapset.NewSet()
	if Find[int](noPodDomains, c.GetVTapType()) {
		return result
	} else if Find[int](serverPodDomains, c.GetVTapType()) {
		rawData := v.metaData.GetPlatformDataOP().GetRawData()
		serverToVmIDs := rawData.GetServerToVmIDs()
		vmIDs := serverToVmIDs[c.GetLaunchServer()]
		if vmIDs == nil {
			return result
		}
		podNodeIDs := make([]int, 0, vmIDs.Cardinality())
		vmidToPodNodeID := rawData.GetVMIDToPodNodeID()
		for vmID := range vmIDs.Iter() {
			id := vmID.(int)
			podNodeID, ok := vmidToPodNodeID[id]
			if !ok {
				continue
			}
			podNodeIDs = append(podNodeIDs, podNodeID)
		}
		for _, podNodeID := range podNodeIDs {
			podNode := rawData.G


e.GeneralLib;
using System;
using System.Windows;
using System.Windows.Controls;

namespace Ginger.GeneralLib
{
    /// <summary>
    /// Interaction logic for TestWindow.xaml
    /// </summary>
    public partial class TestWindow : Window
    {
        bool mIsReady = false;

        public TestWindow(Page p)
        {
            InitializeComponent();

            MainFrame.ClearAndSetContent(p);
        }

        public bool IsReady()
        {
            return mIsReady;
        }

        private void Window_ContentRendered(object sender, EventArgs e)
        {
            mIsReady = true;
        }
    }
}


6z'/%3e%3c/svg%3e");}.action-link--icon-show:active::before{background-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd' height='16' fill='%23002E9A' width='16' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 3C4.364 3 1.258 5.073 0 8c1.258 2.927 4.364 5 8 5s6.742-2.073 8-5c-1.258-2.927-4.364-5-8-5zm0 8a3 3 0 100-6 3 3 0 000 6z'/%3e%3c/svg%3e");}.action-link--icon-show.action-link--danger::before{background-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd' height='16' width='16' fill='%23D72222' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 3C4.364 3 1.258 5.073 0 8c1.258 2.927 4.364 5 8 5s6.742-2.073 8-5c-1.258-2.927-4.364-5-8-5zm0 8a3 3 0 100-6 3 3 0 000 6z'/%3e%3c/svg%3e");}.action-link--icon-show.action-link--danger:hover::before{background-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd' height='16' fill='%23d72222' width='16' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 3C4.364 3 1.258 5.073 0 8c1.258 2.927 4.364 5 8 5s6.742-2.073 8-5c-1.258-2.927-4.364-5-8-5zm0 8a3 3 0 100-6 3 3 0 000 6z'/%3e%3c/svg%3e");}.action-link--icon-show.action-link--danger:active::before{background-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd' height='16' fill='%23AB1B1B' width='16' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 3C4.364 3 1.258 5.073 0 8c1.258 2.927 4.364 5 8 5s6.742-2.073 8-5c-1.258-2.927-4.364-5-8-5zm0 8a3 3 0 100-6 3 3 0 000 6z'/%3e%3c/svg%3e");}@media (forced-colors:active){.action-link--icon-show::before{background:linktext !important;}.action-link--icon-show::before{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd' height='16' width='16' fill='%23D72222' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 3C4.364 3 1.258 5.073 0 8c1.258 2.927 4.364 5 8 5s6.742-2.073 8-5c-1.258-2.927-4.364-5-8-5zm0 8a3 3 0 100-6 3 3 0 000 6z'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg fill-rule='evenodd'


     m_kvp.Ensure("video.gamma", 1.1f);
            m_kvp.Ensure("video.shadows", true);
            m_kvp.Ensure("video.aamode", AntiAliasingMode.FXAA);
            m_kvp.Ensure("video.vsync", true);
            m_kvp.Ensure("video.fancy_rewind", true);
            m_kvp.Ensure("input.gamepad_enabled", true);
            m_kvp.Ensure("input.gamepad_rumble_enabled", true);
            m_kvp.Ensure("input.steam_controller_enabled", true);
            foreach (Bind bind in Enum.GetValues(typeof(Bind)))
            {
                var defaultKey = bind.GetDefaultKey();
                if (defaultKey != Key.None)
                {
                    var k = "input.keyboard." + bind.ToString().ToLowerUnderscored();
                    var v = m_kvp.Ensure(k, defaultKey);
                    m_cachedKeyBinds.Add(bind, v);
                }
            }
        }

        public void SetKeyBind(Bind bind, Key key)
        {
            if (bind.GetDefaultKey() != Key.None)
            {
                var k = "input.keyboard." + bind.ToString().ToLowerUnderscored();
                m_kvp.Set(k, key);
                m_cachedKeyBinds[bind] = key;
            }
        }

        public Key GetKeyBind(Bind bind)
        {
            if (bind.GetDefaultKey() != Key.None)
            {
                return m_cachedKeyBinds[bind];
            }
            return Key.None;
        }

        public GamepadButton GetPadBind(Bind bind)
        {
            return bind.GetDefaultPadButton();
        }

        public MouseButton GetMouseBind(Bind bind)
        {
            return bind.GetDefaultMouseButton();
        }

        public void Save()
        {
            m_kvp.SaveIfModified();
        }
    }
}


participants;
    }
    public setParticipants(participants: Player[]|null) {
        this.participants = participants;
        return this;
    }
    public withParticipants(participants: Player[]|null): this {
        this.participants = participants;
        return this;
    }

    public static fromDict(data: {[key: string]: any}): CapacityOfRole|null {
        if (data == undefined || data == null) {
            return null;
        }
        return new CapacityOfRole()
            .withRoleName(data["roleName"])
            .withRoleAliases(data.roleAliases ?
                data.roleAliases.map((item: {[key: string]: any}) => {
                    return item;
                }
            ) : [])
            .withCapacity(data["capacity"])
            .withParticipants(data.participants ?
                data.participants.map((item: {[key: string]: any}) => {
                    return Player.fromDict(item);
                }
            ) : []);
    }

    public toDict(): {[key: string]: any} {
        return {
            "roleName": this.getRoleName(),
            "roleAliases": this.getRoleAliases() ?
                this.getRoleAliases()!.map((item: string) => {
                    return item;
                }
            ) : [],
            "capacity": this.getCapacity(),
            "participants": this.getParticipants() ?
                this.getParticipants()!.map((item: Player) => {
                    return item.toDict();
                }
            ) : [],
        };
    }
}
import { TetrisShape } from './shape-objects/tetris-shape';
import { IShape } from './shape-objects/i-shape';
import { JShape } from './shape-objects/j-shape';
import { LShape } from './shape-objects/l-shape';
import { OShape } from './shape-objects/o-shape';
import { SShape } from './shape-objects/s-shape';
import { TShape } from './shape-objects/t-shape';
import { ZShape } from './shape-objects/z-shape';

export interface TetrisBlock {
    xPos: number;
    yPos: number;
    color: string;
}

export enum TetrisActionName { LEFT, RIGHT, DOWN, ROTATE, EMPTY }

export enum TetrisShapeName { NUMBER_OF_SHAPES= 7, ISHAPE= 0, JSHAPE = 1, LSHAPE= 2, OSHAPE= 3, SSHAPE= 4, TSHAPE= 5, ZSHAPE= 6 }

export function getTetrisShape(index: TetrisShapeName): TetrisShape {
    switch (index) {
        case TetrisShapeName.ISHAPE:
            return new IShape();
        case TetrisShapeName.JSHAPE:
            return new JShape();
        case TetrisShapeName.LSHAPE:
            return new LShape();
        case TetrisShapeName.OSHAPE:
            return new OShape();
        case TetrisShapeName.SSHAPE:
            return new SShape();
        case TetrisShapeName.TSHAPE:
            return new TShape();
        case TetrisShapeName.ZSHAPE:
            return new ZShape();
        default:
            console.error('undefined tetris shape');
            return new OShape();

    }
}
import * as CHARTS from './Chart.presets';
import Chord from './Chord';
import { ChordId, NoteId } from './Model.constants';
import { CHORD_PRESET_MAP, NOTE_PRESET_MAP } from './Model.presets';
import Note from './Note';

export type ISectionChord = [rootId: NoteId, chordId: ChordId, t: number];

export interface ISectionConfig {
    name: string;
    chords: ISectionChord[]
}

export interface IChartConfig {
    name:


protected override Int64 Remainder(Int64 aValue, Int64 bValue)
        {
            if (bValue == 0)
            {
                return 0;
            }
            var rem = aValue % bValue;
            if ((aValue > 0) == (bValue > 0) || rem == 0)
            {
                return rem;
            }
            else
            {
                return rem + bValue;
            }
        }
        protected override Int64 FMod(Int64 aValue, Int64 bValue)
        {
            if (bValue == 0)
                return 0;
            return aValue % bValue;
        }
        protected override Int64 Power(Int64 aValue, Int64 bValue)
        {
            return Convert.ToInt64(Math.Pow(aValue, bValue));
        }
        protected override Int64 Square(Int64 bValue, Int64 operand)
        {
            return bValue * bValue;
        }
        protected override Int64 Reciprocal(Int64 bValue, Int64 operand)
        {
            if (bValue == 0)
                return 0;

            return 1 / bValue;
        }
        protected override Int64 OnesLike(Int64 bValue, Int64 operand)
        {
            return 1;
        }
        protected override Int64 Sqrt(Int64 bValue, Int64 operand)
        {
            return Convert.ToInt64(Math.Sqrt(bValue));
        }
        protected override Int64 Negative(Int64 bValue, Int64 operand)
        {
            return -bValue;
        }
        protected override Int64 Absolute(Int64 bValue, Int64 operand)
        {
            return Math.Abs(bValue);
        }
        protected override Int64 Invert(Int64 bValue, Int64 operand)
        {
            return ~bValue;
        }
        protected override Int64 LeftShift(Int64 bValue, Int64 operand)
        {
            return bValue << Convert.ToInt32(operand);
        }
        protected override Int64 RightShift(Int64 bValue, Int64 operand)
        {
            return bValue >> Convert.ToInt32(operand);
        }
        protected override Int64 BitWiseAnd(Int64 bValue, Int64 operand)
        {
            return bValue & operand;
        }
        protected override Int64 BitWiseXor(Int64 bValue, Int64 operand)
        {
            return bValue ^ operand;
        }
        protected override Int64 BitWiseOr(Int64 bValue, Int64 operand)
        {
            return bValue | operand;
        }
        protected override Int64 Less(Int64 bValue, Int64 operand)
        {
            bool boolValue = bValue < operand;
            return boolValue ? 1 : 0;
        }
        protected override Int64 LessEqual(Int64 bValue, Int64 operand)
        {
            bool boolValue = bValue <= operand;
            return boolValue ? 1 : 0;
        }
        protected override Int64 Equal(Int64 bValue, Int64 operand)
        {
            bool boolValue = bValue == operand;
            return boolValue ? 1 : 0;
        }
        protected override Int64 NotEqual(


,
 int align, int smzx, int trans, int clip)
{
  switch(align)
  {
#if ARCHITECTURE_BITS >= 64 && !defined(SKIP_64_ALIGN)
    case 64:
      render_layer_func<uint8_t, uint64_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;
#endif /* ARCHITECTURE_BITS >= 64 */

    case 32:
      render_layer_func<uint8_t, uint32_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    case 16:
      render_layer_func<uint8_t, uint16_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    case 8:
      render_layer_func<uint8_t, uint8_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    default:
      fprintf(mzxerr, "INVALID RENDERER ARG align=%d (8bpp)\n", align);
      exit(1);
      break;
  }
}

/**
 * Alignment of pixel buffer (16bpp).
 * This always must be >= the current renderer's bits-per-pixel.
 */
template<>
inline void render_layer_func<uint16_t>(
 void * RESTRICT pixels, int width_px, int height_px, size_t pitch,
 const struct graphics_data *graphics, const struct video_layer *layer,
 int align, int smzx, int trans, int clip)
{
  switch(align)
  {
#if ARCHITECTURE_BITS >= 64 && !defined(SKIP_64_ALIGN)
    case 64:
      render_layer_func<uint16_t, uint64_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;
#endif /* ARCHITECTURE_BITS >= 64 */

    case 32:
      render_layer_func<uint16_t, uint32_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    case 16:
      render_layer_func<uint16_t, uint16_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    default:
      fprintf(mzxerr, "INVALID RENDERER ARG align=%d (16bpp)\n", align);
      exit(1);
      break;
  }
}

/**
 * Alignment of pixel buffer (32bpp).
 * This always must be >= the current renderer's bits-per-pixel.
 */
template<>
inline void render_layer_func<uint32_t>(
 void * RESTRICT pixels, int width_px, int height_px, size_t pitch,
 const struct graphics_data *graphics, const struct video_layer *layer,
 int align, int smzx, int trans, int clip)
{
  switch(align)
  {
#if ARCHITECTURE_BITS >= 64 && !defined(SKIP_64_ALIGN)
    case 64:
      render_layer_func<uint32_t, uint64_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;
#endif /* ARCHITECTURE_BITS >= 64 */

    case 32:
      render_layer_func<uint32_t, uint32_t>(
       pixels, width_px, height_px, pitch, graphics, layer,
       smzx, trans, clip);
      break;

    default:
      fprintf(mzxerr, "INVALID RENDERER ARG align=%d (32bpp)\n", align);
      exit(1);
      break;
  }
}

/**
 * Renderer bits-per-pixel (8, 16, or 32).
 * Sets of renderers for lower bpps are larger since they try to support more
 * alignment options, so several platforms disable them altogether to reduce
 * executable size and/or compilation time.
 */
static inline void render_


�戰武器的攻擊強度。\n使你用盾牌格擋攻擊時減免更多的傷害。";
SHARDS = "裂片";
SHARE_QUEST = "分享任務";
SHARE_QUEST_ABBREV = "分享";
SHARE_QUEST_TEXT = "如果你隊伍的成員符合條件的話\n你可以和他分享一個任務。\n有些任務，比如由物品激發的\n任務，無法進行分享。";
SHA_ENERGY = "煞能";
SHIELDSLOT = "護盾";
SHIELD_BLOCK_TEMPLATE = "%s格擋";
SHIFT_KEY = "SHIFT鍵";
SHIFT_KEY_TEXT = "SHIFT";
SHIFT_KEY_TEXT_ABBR = "s";
SHIRTSLOT = "襯衣";
SHORT = "矮";
SHORTDATE = "%2$d-%1$02d-%3$02d";
SHORTDATENOYEAR = "%2$d/%1$02d";
SHORTDATENOYEAR_EU = "%1$d/%2$d";
SHORTDATE_EU = "%1$d/%2$d/%3$02d";
SHOULDERSLOT = "肩部";
SHOW = "顯示";
SHOW_ACCOUNT_ACHIEVEMENTS = "對其他人只顯示角色成就";
SHOW_ACCOUNT_COMPLETED_QUESTS_BUTTON_LABEL = "戰隊已完成任務";
SHOW_ALL_ENEMY_DEBUFFS_TEXT = "顯示敵方所有的減益效果";
SHOW_ALL_SPELL_RANKS = "顯示所有法術等級";
SHOW_ARENA_ENEMY_CASTBAR_TEXT = "施法條";
SHOW_ARENA_ENEMY_FRAMES_TEXT = "競技場敵方框架";
SHOW_ARENA_ENEMY_PETS_TEXT = "寵物";
SHOW_BATTLEFIELDMINIMAP_PLAYERS = "顯示隊友";
SHOW_BATTLENET_TOASTS = "暴雪通知";
SHOW_BRACES = "顯示括號";
SHOW_BRACES_COMBATLOG_TOOLTIP = "顯示戰鬥紀錄的超連結括號。";
SHOW_BUFFS = "顯示增益法術";
SHOW_BUFF_DURATION_TEXT = "增益持續時間";
SHOW_CASTABLE_BUFFS_TEXT = "只顯示可用的增益法術";
SHOW_CASTABLE_DEBUFFS_TEXT = "可施放的減益效果";
SHOW_CHAT_ICONS = "對話頻道圖示";
SHOW_CLASS_COLOR = "顯示職業顏色";
SHOW_CLASS_COLOR_IN_V_KEY = "名條的職業顏色";
SHOW_CLOAK = "顯示披風";
SHOW_CLOCK = "顯示時鐘";
SHOW_COMBAT_HEALING = "治療";
SHOW_COMBAT_HEALING_ABSORB_SELF = "護甲";
SHOW_COMBAT_HEALING_ABSORB_TARGET = "護甲";
SHOW_COMBAT_TEXT_TEXT = "自己的戰鬥文字捲動";
SHOW_DAMAGE_TEXT = "傷害";
SHOW_DEBUFFS = "顯示減益法術";
SH


foo'));
    unittest.expect(o.path!, unittest.equals('foo'));
    unittest.expect(o.type!, unittest.equals('foo'));
  }
  buildCounterGoogleCloudDataplexV1EntryLinkEntryReference--;
}

core.List<api.GoogleCloudDataplexV1EntrySourceAncestor> buildUnnamed40() => [
  buildGoogleCloudDataplexV1EntrySourceAncestor(),
  buildGoogleCloudDataplexV1EntrySourceAncestor(),
];

void checkUnnamed40(core.List<api.GoogleCloudDataplexV1EntrySourceAncestor> o) {
  unittest.expect(o, unittest.hasLength(2));
  checkGoogleCloudDataplexV1EntrySourceAncestor(o[0]);
  checkGoogleCloudDataplexV1EntrySourceAncestor(o[1]);
}

core.Map<core.String, core.String> buildUnnamed41() => {'x': 'foo', 'y': 'foo'};

void checkUnnamed41(core.Map<core.String, core.String> o) {
  unittest.expect(o, unittest.hasLength(2));
  unittest.expect(o['x']!, unittest.equals('foo'));
  unittest.expect(o['y']!, unittest.equals('foo'));
}

core.int buildCounterGoogleCloudDataplexV1EntrySource = 0;
api.GoogleCloudDataplexV1EntrySource buildGoogleCloudDataplexV1EntrySource() {
  final o = api.GoogleCloudDataplexV1EntrySource();
  buildCounterGoogleCloudDataplexV1EntrySource++;
  if (buildCounterGoogleCloudDataplexV1EntrySource < 3) {
    o.ancestors = buildUnnamed40();
    o.createTime = 'foo';
    o.description = 'foo';
    o.displayName = 'foo';
    o.labels = buildUnnamed41();
    o.location = 'foo';
    o.platform = 'foo';
    o.resource = 'foo';
    o.system = 'foo';
    o.updateTime = 'foo';
  }
  buildCounterGoogleCloudDataplexV1EntrySource--;
  return o;
}

void checkGoogleCloudDataplexV1EntrySource(
  api.GoogleCloudDataplexV1EntrySource o,
) {
  buildCounterGoogleCloudDataplexV1EntrySource++;
  if (buildCounterGoogleCloudDataplexV1EntrySource < 3) {
    checkUnnamed40(o.ancestors!);
    unittest.expect(o.createTime!, unittest.equals('foo'));
    unittest.expect(o.description!, unittest.equals('foo'));
    unittest.expect(o.displayName!, unittest.equals('foo'));
    checkUnnamed41(o.labels!);
    unittest.expect(o.location!, unittest.equals('foo'));
    unittest.expect(o.platform!, unittest.equals('foo'));
    unittest.expect(o.resource!, unittest.equals('foo'));
    unittest.expect(o.system!, unittest.equals('foo'));
    unittest.expect(o.updateTime!, unittest.equals('foo'));
  }
  buildCounterGoogleCloudDataplexV1EntrySource--;
}

core.int buildCounterGoogleCloudDataplexV1EntrySourceAncestor = 0;
api.GoogleCloudDataplexV1EntrySourceAncestor
buildGoogleCloudDataplexV1EntrySourceAncestor() {
  final o = api.GoogleCloudDataplexV1EntrySourceAncestor();
  buildCounterGoogleCloudDataplexV1EntrySourceAncestor++;
  if (buildCounterGoogleCloudDataplexV1EntrySourceAncestor < 3) {
    o.name = 'foo';
    o.type = 'foo';
  }
  buildCounterGoogleCloudDataplexV1EntrySourceAncestor--;
  return o;
}

void checkGoogleCloudDataplexV1EntrySourceAncestor(
  api.GoogleCloudDataplexV1Ent


2dc3dff460dca72.html#abc3ae2fe83b096488e798d37327ff3c9',1,'cutlass::gemm::warp::MmaVoltaTensorOpMultiplicandTileIterator< Shape_, Operand::kA, Element_, cutlass::layout::VoltaTensorOpMultiplicandCongruous< sizeof_bits< Element_ >::value >, InstructionShape_, OpDelta_, 32 >::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpMultiplicandTileIterator_3_01Shape___00_01Operan16c56cdc2dda5eeb996af8ec0242d501.html#a719ef6becc48d7b2f35bffc781bc946f',1,'cutlass::gemm::warp::MmaVoltaTensorOpMultiplicandTileIterator< Shape_, Operand::kB, Element_, cutlass::layout::VoltaTensorOpMultiplicandBCongruous< sizeof_bits< Element_ >::value >, InstructionShape_, OpDelta_, 32 >::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpMultiplicandTileIterator_3_01Shape___00_01Operan0d3248553e52cd61ed8a2b3b12a20343.html#a72f221f2cb137b42d609d9d392cddcd7',1,'cutlass::gemm::warp::MmaVoltaTensorOpMultiplicandTileIterator< Shape_, Operand::kA, Element_, cutlass::layout::ColumnMajorVoltaTensorOpMultiplicandCongruous< sizeof_bits< Element_ >::value >, InstructionShape_, OpDelta_, 32 >::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpMultiplicandTileIterator_3_01Shape___00_01Operand734577b7e54a074d143aba59828c2f2.html#a45012fadebb81b49bba98949ea228a0b',1,'cutlass::gemm::warp::MmaVoltaTensorOpMultiplicandTileIterator< Shape_, Operand::kB, Element_, cutlass::layout::RowMajorVoltaTensorOpMultiplicandBCongruous< sizeof_bits< Element_ >::value >, InstructionShape_, OpDelta_, 32 >::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpAccumulatorTileIterator.html#ab907fdc0fef5042e740e24d7dc4e59b7',1,'cutlass::gemm::warp::MmaVoltaTensorOpAccumulatorTileIterator::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpMultiplicandTileIterator_3_01Shape___00_01Operana2f40b28f0d2286b84d86f7238d67b52.html#a2c060728c43544ae3986db19e789d75e',1,'cutlass::gemm::warp::MmaVoltaTensorOpMultiplicandTileIterator< Shape_, Operand_, Element_, cutlass::layout::VoltaTensorOpMultiplicandCrosswise< sizeof_bits< Element_ >::value, KBlock >, InstructionShape_, OpDelta_, 32 >::InstructionShape()'],['../classcutlass_1_1gemm_1_1warp_1_1MmaVoltaTensorOpMultiplicandTileIterator_3_01Shape___00_01Operan5a221944f4a0e16ccab77ba68485


clear">
モバイル

ハードウェア

ウェブサービス

カルチャー

音楽

ライフ

グルメ

社会

海外

こぼれ話

コラム

占い

Menu</hgroup>

【？】「消費増税の軽減税率は高所得者ほどお得！」総務省が謎仕様であることを認める

<time class="entry-date" datetime="2019-03-02T09:18:32+00:00" pubdate>2019年3月2日09:18</time> by <a class="url fn n" href="https://buzzap.jp/news/author/shin_kai/" title="


rthflow->text_handle.type = HANDLE_MINOR_CONTROL;
  orthflow->text_handle.connect_type = HANDLE_NONCONNECTABLE;
  orthflow->text_handle.connected_to = NULL;
  /* Mein Gott!  The extra handle was never added */
  object_add_handle(obj, &orthflow->text_handle);
  obj->handles[orth->numpoints-1] = &orthflow->text_handle;

  extra->start_long =
    extra->start_trans =
    extra->middle_trans = ORTHFLOW_WIDTH/2.0;
  extra->end_long =
    extra->end_trans = ORTHFLOW_WIDTH/2 + ORTHFLOW_ARROWLEN;
  orthflow->textpos = orthflow->text->position;

  orthflow_update_data(orthflow);

  return &orthflow->orth.object;
}

static DiaObjectChange *
orthflow_set_type_callback (DiaObject* obj, Point* clicked, gpointer data)
{
  DiaObjectChange *change;

  change = orthflow_create_change (FLOW_TYPE, ((Orthflow*)obj)->type, 0);

  ((Orthflow*)obj)->type = GPOINTER_TO_INT (data);
  orthflow_update_data((Orthflow*)obj);

  return change;
}

static DiaObjectChange *
orthflow_segment_callback (DiaObject* obj, Point* clicked, gpointer data)
{
  if (GPOINTER_TO_INT (data)) {
    return orthconn_add_segment ((OrthConn*) obj, clicked);
  }

  return orthconn_delete_segment ((OrthConn*) obj, clicked);
}

static DiaMenuItem orthflow_menu_items[] = {
  { N_("Energy"), orthflow_set_type_callback, (void*)ORTHFLOW_ENERGY, 1 },
  { N_("Material"), orthflow_set_type_callback, (void*)ORTHFLOW_MATERIAL, 1 },
  { N_("Signal"), orthflow_set_type_callback, (void*)ORTHFLOW_SIGNAL, 1 },
  { N_("Add segment"), orthflow_segment_callback, (void*)1, 1 },
  { N_("Delete segment"), orthflow_segment_callback, (void*)0, 1 },
  ORTHCONN_COMMON_MENUS,
};

static DiaMenu orthflow_menu = {
  "Orthflow",
  sizeof(orthflow_menu_items)/sizeof(DiaMenuItem),
  orthflow_menu_items,
  NULL
};

static DiaMenu *
orthflow_get_object_menu(Orthflow *orthflow, Point *clickedpoint)
{
  orthflow_menu_items[4].active = orthflow->orth.numpoints > 3;
  orthconn_update_object_menu((OrthConn*)orthflow,
			      clickedpoint, &orthflow_menu_items[5]);
  return &orthflow_menu;
}