	JWTSecret: cfg.Commons.TokenManager.JWTSecret,
		}
	} else if cfg.TokenManager == nil {
		cfg.TokenManager = &config.TokenManager{}
	}

	if cfg.TransferSecret == "" && cfg.Commons != nil && cfg.Commons.TransferSecret != "" {
		cfg.TransferSecret = cfg.Commons.TransferSecret
	}

	if cfg.MachineAuthAPIKey == "" && cfg.Commons != nil && cfg.Commons.MachineAuthAPIKey != "" {
		cfg.MachineAuthAPIKey = cfg.Commons.MachineAuthAPIKey
	}

	if (cfg.Commons != nil && cfg.Commons.OcisURL != "") &&
		(cfg.HTTP.CORS.AllowedOrigins == nil ||
			len(cfg.HTTP.CORS.AllowedOrigins) == 1 &&
				cfg.HTTP.CORS.AllowedOrigins[0] == "https://localhost:9200") {
		cfg.HTTP.CORS.AllowedOrigins = []string{cfg.Commons.OcisURL}
	}
}

// Sanitize sanitized the configuration
func Sanitize(cfg *config.Config) {
	if cfg.MaxConcurrency <= 0 {
		cfg.MaxConcurrency = 5
	}
}
package http

import (
	"context"

	gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
	"github.com/owncloud/ocis/v2/ocis-pkg/log"
	ehsvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/eventhistory/v0"
	settingssvc "github.com/owncloud/ocis/v2/protogen/gen/ocis/services/settings/v0"
	"github.com/owncloud/ocis/v2/services/activitylog/pkg/config"
	"github.com/owncloud/ocis/v2/services/activitylog/pkg/metrics"
	"github.com/owncloud/reva/v2/pkg/events"
	"github.com/owncloud/reva/v2/pkg/rgrpc/todo/pool"
	"github.com/urfave/cli/v2"
	"go-micro.dev/v4/store"
	"go.opentelemetry.io/otel/trace"
)

// Option defines a single option function.
type Option func(o *Options)

// Options defines the available options for this package.
type Options struct {
	Logger           log.Logger
	Context          context.Context
	Config           *config.Config
	Metrics          *metrics.Metrics
	Flags            []cli.Flag
	Namespace        string
	Store            store.Store
	Stream           events.Stream
	GatewaySelector  pool.Selectable[gateway.GatewayAPIClient]
	TraceProvider    trace.TracerProvider
	HistoryClient    ehsvc.EventHistoryService
	ValueClient      settingssvc.ValueService
	RegisteredEvents []events.Unmarshaller
}

// newOptions initializes the available default options.
func newOptions(opts ...Option) Options {
	opt := Options{}

	for _, o := range opts {
		o(&opt)
	}

	return opt
}

// Logger provides a function to set the logger option.
func Logger(val log.Logger) Option {
	return func(o *Options) {
		o.Logger = val
	}
}

// Context provides a function to set the context option.
func Context(val context.Context) Option {
	return func(o *Options) {
		o.Context = val
	}
}

// Config provides a function to set the config option.
func Config(val *config.Config) Option {
	return func(o *Options) {
		o.Config = val
	}
}

// Metrics provides a function to set the metrics option.
func Metrics(val *metrics.Metrics) Option {
	return func(o *Options) {
		o.Metrics = val
	}
}

// Flags provides a function to set the flags optio


.computePath.apply(
                null,
                this.curShapes
            );
        }
    },

    drag(e) {
        if (1 === e.which) {
            if (this.curShapes) {
                let x = e.startX;
                let y = e.startY;
                let w = e.x - e.startX;
                let h = e.y - e.startY;
                let xScale = w / this.curBound.width;
                let yScale = h / this.curBound.height;

                // 等比缩放
                if (e.shiftKey) {
                    let scale = Math.min(Math.abs(xScale), Math.abs(yScale));
                    xScale = xScale > 0 ? scale : -scale;
                    yScale = yScale > 0 ? scale : -scale;
                }

                // 初始化空路径
                let shapes = this.curShapes;
                let coverShapes = this.coverLayer.shapes;
                for (let i = 0, l = shapes.length; i < l; i++) {
                    let points = lang.clone(shapes[i]);
                    pathAdjust(points, xScale, yScale);
                    pathAdjust(points, 1, 1, x, y);
                    coverShapes[i].points = points;
                }
                this.coverLayer.refresh();
            }
        }
    },

    dragend(e) {
        if (1 === e.which) {

            if (this.curShapes) {
                let fontLayer = this.fontLayer;
                let shapes = lang.clone(this.coverLayer.shapes);
                for (let i = 0, l = shapes.length; i < l; i++) {
                    fontLayer.addShape(shapes[i]);
                }

                fontLayer.refresh();
                this.fire('change');
                this.setMode('shapes', shapes);
                return;
            }

            this.setMode();
        }
    },

    begin(shapes) {
        this.render.setCursor('crosshair');
        this.curShapes = shapes;
    },

    end() {
        this.curShapes = this.curBound = null;
        this.coverLayer.clearShapes();
        this.coverLayer.refresh();
        this.render.setCursor('default');
    }
};
/**
 * @file 字形编辑器
 * @author mengke01(kekee000@gmail.com)
 */

import editorFactory from 'editor/main';
import editorOptions from 'editor/options';
import settingSupport from '../dialog/support';
import program from './program';
import lang from 'common/lang';

// 支持的命令列表
const COMMAND_SUPPORT = {
    // 形状组
    shapes: [
        'copyshapes', 'removeshapes', 'reversepoints',
        'horizontalalignshapes', 'verticalalignshapes',
        'rotateleft', 'rotateright', 'flipshapes', 'mirrorshapes'
    ],
    shapes2: [
        'joinshapes', 'intersectshapes', 'tangencyshapes'
    ],
    // 单个形状
    shape: ['pointmode', 'upshape', 'downshape']
};

/**
 * 绑定editor编辑器
 */
function bindEditor() {

    // 设置字形信息
    let me = this;
    let editor  = this.editor;
    let delayFocus = lang.debounce(function () {
        me.focus();
    }, 20);

    editor.on('setting:font', function (e) {
        let SettingGlyf = settingSupport.glyf;
        !new SettingGlyf({
            onChange(setting) {
                editor.adjustFont(setting);
                // 此处需要等待点击完成后设置focus状态
                delayFocus();
            }
        }).show(e.setting);
    });

    editor.on('setting:editor', function (e) {
        let SettingEditor = settingSupport.editor;
        let dlg = new SettingEditor({
            onChange(setting) {
                setTimeout(function () {
                    program.viewer.setSetting(setting.viewer);
                    me.setSetting(setting.editor);
                }, 20);
            }
        });
        dlg.show({
            viewer: program.viewer.getSetting(),
            editor: e.setting


 json['is_repost'];
		user = json['user'] != null ? new WeitoutiaoListUser.fromJson(json['user']) : null;
	}

	Map<String, dynamic> toJson() {
		final Map<String, dynamic> data = new Map<String, dynamic>();
		data['comment_count'] = this.commentCount;
		data['brand_info'] = this.brandInfo;
		data['reason'] = this.reason;
		data['forward_num'] = this.forwardNum;
		data['item_type'] = this.itemType;
		data['forward_count'] = this.forwardCount;
		data['open_url'] = this.openUrl;
		data['device_type'] = this.deviceType;
		data['type'] = this.type;
		data['is_admin'] = this.isAdmin;
		if (this.diggList != null) {
      data['digg_list'] =  [];
    }
		data['content_unescape'] = this.contentUnescape;
		if (this.originItem != null) {
      data['origin_item'] = this.originItem.toJson();
    }
		data['id'] = this.id;
		if (this.largeImageList != null) {
      data['large_image_list'] =  [];
    }
		data['digg_limit'] = this.diggLimit;
		if (this.group != null) {
      data['group'] = this.group.toJson();
    }
		if (this.imageType != null) {
      data['image_type'] = this.imageType.toJson();
    }
		data['read_count'] = this.readCount;
		data['comment_id_str'] = this.commentIdStr;
		data['create_time'] = this.createTime;
		data['action_desc'] = this.actionDesc;
		if (this.originThread != null) {
      data['origin_thread'] = this.originThread.toJson();
    }
		data['source_type'] = this.sourceType;
		data['user_digg'] = this.userDigg;
		if (this.thumbImageList != null) {
      data['thumb_image_list'] =  [];
    }
		data['digg_count'] = this.diggCount;
		data['share_url'] = this.shareUrl;
		if (this.position != null) {
      data['position'] = this.position.toJson();
    }
		if (this.talkItem != null) {
      data['talk_item'] = this.talkItem.toJson();
    }
		data['cursor'] = this.cursor;
		if (this.repostParams != null) {
      data['repost_params'] = this.repostParams.toJson();
    }
		data['device_model'] = this.deviceModel;
		data['modify_time'] = this.modifyTime;
		data['flags'] = this.flags;
		data['delete'] = this.delete;
		data['content'] = this.content;
		if (this.ugcCutImageList != null) {
      data['ugc_cut_image_list'] =  [];
    }
		data['id_str'] = this.idStr;
		data['is_pgc_author'] = this.isPgcAuthor;
		data['cell_type'] = this.cellType;
		if (this.comments != null) {
      data['comments'] =  [];
    }
		data['display_lines'] = this.displayLines;
		if (this.originGroup != null) {
      data['origin_group'] = this.originGroup.toJson();
    }
		data['comment_id'] = this.commentId;
		data['comment_visible_count'] = this.commentVisibleCount;
		data['rich_content'] = this.richContent;
		data['comment_type'] = this.commentType;
		data['is_repost'] = this.isRepost;
		if (this.user != null) {
      data['user'] = this.user.toJson();
    }
		return data;
	}
}

class WeitoutiaoListOriginItem {

	WeitoutiaoListOriginItem();

	WeitoutiaoListOriginItem.fr


3647;%7D.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3EMaster-Logos_RGB%3C/title%3E%3Cpolygon class='cls-1' points='90.508 -0.266 4.666 -0.266 0 -0.266 0 4.842 0 90.696 0 95.734 4.666 95.734 90.508 95.734 96 95.734 96 90.696 96 4.842 96 -0.266 90.508 -0.266'/%3E%3Cpath class='cls-2' d='M40.37,84.8V75.472a31.87,31.87,0,1,1,18.048-61.1c.386.112.843.283,1.294.455l.511.2c.174.068.347.136.522.211.69.273,1.4.611,1.862.839.63.318,1.23.649,1.806,1C74.327,22.917,80.47,34.994,79.7,47.123c-1.176,18.572-16.5,34.234-36.428,37.24ZM48.535,17.84H48.5a26.816,26.816,0,0,0-5.12,53.141l2.041.4v7.441C61.584,75.179,73.689,62.115,74.659,46.8c.652-10.281-4.5-20.486-12.824-25.393l-.021-.012c-.47-.284-.96-.554-1.456-.8-.6-.3-1.085-.513-1.534-.692-.186-.078-.316-.129-.448-.18l-.459-.175c-.33-.125-.661-.254-1-.354A26.733,26.733,0,0,0,48.535,17.84Z'/%3E%3Cpath class='cls-3' d='M42.162,29.872a2.763,2.763,0,0,1,2.427.933,6.377,6.377,0,0,1,1.116,1.7c.989,2.181,1.575,5.306.352,7.061a9.706,9.706,0,0,1-6.1-4.733,4.949,4.949,0,0,1-.533-2.053A3,3,0,0,1,42.162,29.872Z'/%3E%3Cpath class='cls-3' d='M34.973,37.313a3.082,3.082,0,0,1,.49,0,5.63,5.63,0,0,1,2.21.492c2.2.944,4.658,3.248,5.13,5.291-1.886,1.258-5.287,1.155-7.488.212a11.911,11.911,0,0,1-1.867-1.13A2.709,2.709,0,0,1,34.973,37.313Z'/%3E%3Cpath class='cls-3' d='M37.673,53.035a5.073,5.073,0,0,1-2.21.492A2.786,2.786,0,0,1,33.3,48.664a5.389,5.389,0,0,1,1.867-1.132,6.791,6.791,0,0,1,2.555-.539c1.431-.026,3.888-.345,5.079.448C42.489,49.485,39.874,52.091,37.673,53.035Z'/%3E%3Cpath class='cls-3' d='M46.744,58.1a11.435,11.435,0,0,1-1.08,1.868c-1.572,2.


 through the close(2) system call. */
    public static native void close(int fileDescriptor);

}
package com.termux.terminal;

import java.util.Arrays;

/**
 * A row in a terminal, composed of a fixed number of cells.
 * <p>
 * The text in the row is stored in a char[] array, {@link #mText}, for quick access during rendering.
 */
public final class TerminalRow {

    private static final float SPARE_CAPACITY_FACTOR = 1.5f;

    /**
     * Max combining characters that can exist in a column, that are separate from the base character
     * itself. Any additional combining characters will be ignored and not added to the column.
     *
     * There does not seem to be limit in unicode standard for max number of combination characters
     * that can be combined but such characters are primarily under 10.
     *
     * "Section 3.6 Combination" of unicode standard contains combining characters info.
     * - https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf
     * - https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges
     * - https://stackoverflow.com/questions/71237212/what-is-the-maximum-number-of-unicode-combined-characters-that-may-be-needed-to
     *
     * UAX15-D3 Stream-Safe Text Format limits to max 30 combining characters.
     * > The value of 30 is chosen to be significantly beyond what is required for any linguistic or technical usage.
     * > While it would have been feasible to chose a smaller number, this value provides a very wide margin,
     * > yet is well within the buffer size limits of practical implementations.
     * - https://unicode.org/reports/tr15/#Stream_Safe_Text_Format
     * - https://stackoverflow.com/a/11983435/14686958
     *
     * We choose the value 15 because it should be enough for terminal based applications and keep
     * the memory usage low for a terminal row, won't affect performance or cause terminal to
     * lag or hang, and will keep malicious applications from causing harm. The value can be
     * increased if ever needed for legitimate applications.
     */
    private static final int MAX_COMBINING_CHARACTERS_PER_COLUMN = 15;

    /** The number of columns in this terminal row. */
    private final int mColumns;
    /** The text filling this terminal row. */
    public char[] mText;
    /** The number of java chars used in {@link #mText}. */
    private short mSpaceUsed;
    /** If this row has been line wrapped due to text output at the end of line. */
    boolean mLineWrap;
    /** The style bits of each cell in the row. See {@link TextStyle}. */
    final long[] mStyle;
    /** If this row might contain chars with width != 1, used for deactivating fast path */
    boolean mHasNonOneWidthOrSurrogateChars;

    /** Construct a blank row (containing only whitespace, ' ') with a specified style. */
    public TerminalRow(int columns, long style) {
        mColumns = columns;
        mText = new char[(int) (SPARE_CAPACITY_FACTOR * columns)];
        mStyle = new long[columns];
        clear(style);
    }

    /** NOTE: The sourceX2 is exclusive. */
    public void copyInterval(TerminalRow line, int sourceX1, int sourceX2, int destinationX) {
        mHasNonOneWidthOrSurrogateChars |= line.mHasNonOneWidthOrSurrogateChars;
        final int x1 = line.findStartOfColumn(sourceX1);
        final int x2 = line.findStartOfColumn(sourceX2);
        boolean startingFromSecondHalfOfWideChar = (sourceX1 > 0 && line.wideDisplayCharacterStartingAt(sourceX1 -


	"github.com/Azure/dalec/test/fixtures"
	"github.com/Azure/dalec/test/testenv"
	"github.com/moby/buildkit/util/tracing/delegated"
	"github.com/moby/buildkit/util/tracing/detect"
	"go.opentelemetry.io/otel"
	"go.opentelemetry.io/otel/propagation"
	"go.opentelemetry.io/otel/sdk/trace"
)

var (
	baseCtx          = context.Background()
	testEnv          *testenv.BuildxEnv
	externalTestHost = os.Getenv("TEST_DALEC_EXTERNAL_HOST")
)

func TestMain(m *testing.M) {
	if externalTestHost == "" {
		externalTestHost = "https://github.com"
	}
	flag.StringVar(&externalTestHost, "external-test-host", externalTestHost, "http server to use for validating network access")

	flag.Parse()

	if testing.Short() {
		return
	}

	if v := os.Getenv("OTEL_SERVICE_NAME"); v == "" {
		os.Setenv("OTEL_SERVICE_NAME", "dalec-test")
	}

	// Note: by default we'll use the buildkit "delegated" trace exporter, but if any of these OTLP vars are set it will use the OTLP exporter.
	// "delegated" uses buildkit's own embedded otlp endpoint to send traces, which is more convenient, assuming you've configured buildkit to export traces.
	if os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT") != "" || os.Getenv("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT") != "" {
		if os.Getenv("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL") == "" && os.Getenv("OTEL_EXPORTER_OTLP_PROTOCOL") == "" {
			// In this case the otlp exporter is configured but the default
			// protocol used by the `detect` package is grpc, but the otel default
			// changed a few versions back and is http/protobuf.
			// So set the default protocol to to http/protobuf so trace exports don't fail.
			os.Setenv("OTEL_EXPORTER_OTLP_TRACES_PROTOCOL", "http/protobuf")
		}
	}

	otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))

	exp, err := detect.NewSpanExporter(context.Background())
	if err != nil {
		panic(err)
	}

	tp := trace.NewTracerProvider(
		trace.WithResource(detect.Resource()),
		trace.WithBatcher(exp),
		trace.WithBatcher(delegated.DefaultExporter),
	)
	otel.SetTracerProvider(tp)

	testEnv = testenv.New()

	run := func() int {
		ctx, done := signal.NotifyContext(baseCtx, os.Interrupt)
		baseCtx = ctx

		go func() {
			<-ctx.Done()
			// The context was cancelled due to interrupt
			// This _should_ trigger builds to cancel naturally and exit the program,
			// but in some cases it may not (due to timing, bugs in buildkit, uninteruptable operations, etc.).
			// Cancel our signal handler so the normal handler takes over from here.
			// This allows subsequent interrupts to use the default behavior (exit the program)
			done()

			<-time.After(30 * time.Second)
			fmt.Fprintln(os.Stderr, "Timeout waiting for builds to cancel after interrupt")
			os.Exit(int(syscall.SIGINT))
		}()

		defer func() {
			ctx, cancel := context.WithTimeout(context.WithoutCancel(ctx), 10*time.Second


adow);
  &:hover {
    background-position: 0 -15px;
    color: @textColor;
    text-decoration: none;
  }
}*/
/*
 * Scaffolding
 * Basic and global styles for generating a grid system, structural layout, and page templates
 * ------------------------------------------------------------------------------------------- */
.row {
  zoom: 1;
}
.row:before, .row:after {
  display: table;
  content: "";
}
.row:after {
  clear: both;
}
.row .span1 {
  float: left;
  width: 40px;
  margin-left: 20px;
}
.row .span1:first-child {
  margin-left: 0;
}
.row .span2 {
  float: left;
  width: 100px;
  margin-left: 20px;
}
.row .span2:first-child {
  margin-left: 0;
}
.row .span3 {
  float: left;
  width: 160px;
  margin-left: 20px;
}
.row .span3:first-child {
  margin-left: 0;
}
.row .span4 {
  float: left;
  width: 220px;
  margin-left: 20px;
}
.row .span4:first-child {
  margin-left: 0;
}
.row .span5 {
  float: left;
  width: 280px;
  margin-left: 20px;
}
.row .span5:first-child {
  margin-left: 0;
}
.row .span6 {
  float: left;
  width: 340px;
  margin-left: 20px;
}
.row .span6:first-child {
  margin-left: 0;
}
.row .span7 {
  float: left;
  width: 400px;
  margin-left: 20px;
}
.row .span7:first-child {
  margin-left: 0;
}
.row .span8 {
  float: left;
  width: 460px;
  margin-left: 20px;
}
.row .span8:first-child {
  margin-left: 0;
}
.row .span9 {
  float: left;
  width: 520px;
  margin-left: 20px;
}
.row .span9:first-child {
  margin-left: 0;
}
.row .span10 {
  float: left;
  width: 580px;
  margin-left: 20px;
}
.row .span10:first-child {
  margin-left: 0;
}
.row .span11 {
  float: left;
  width: 640px;
  margin-left: 20px;
}
.row .span11:first-child {
  margin-left: 0;
}
.row .span12 {
  float: left;
  width: 700px;
  margin-left: 20px;
}
.row .span12:first-child {
  margin-left: 0;
}
.row .span13 {
  float: left;
  width: 760px;
  margin-left: 20px;
}
.row .span13:first-child {
  margin-left: 0;
}
.row .span14 {
  float: left;
  width: 820px;
  margin-left: 20px;
}
.row .span14:first-child {
  margin-left: 0;
}
.row .span15 {
  float: left;
  width: 880px;
  margin-left: 20px;
}
.row .span15:first-child {
  margin-left: 0;
}
.row .span16 {
  float: left;
  width: 940px;
  margin-left: 20px;
}
.row .span16:first-child {
  margin-left: 0;
}
.row .offset1 {
  margin-left: 80px !important;
}
.row .offset1:first-child {
  margin-left: 60px !important;
}
.row .offset2 {
  margin-left: 140px !important;
}
.row .offset2:first-child {
  margin-left: 120px !important;
}
.row .offset3 {
  margin-left: 200px !important;
}
.row .offset3:first-child {
  margin-left: 180px !important;
}


/*-
 * Copyright (c) 1991, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Ralph Campbell.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

/* bcmp(s1, s2, n) */

	.type	bcmp, @function
bcmp:	.globl  bcmp
	.set	noreorder
	.set	noat

        slti    $at, $a2, 16


대통령령으로 정한다.
[전문개정 2009. 12. 31.]

제7장 양도소득세표준의 예제신고와 납부 <개정 2009. 12. 31.>

제105조(양도소득세표준 예제) ① 제94조제1항과 관련(같은 법 제3조와 같은 법 제21조를 제외한다)에서 규정하는 자산을 양도한 거주자등은 제92조제2항에 따라 계산한 양도소득세표준을 다음 적호의 규칙에 따른 기간에서 대통령령으로 정하는 바에 따라 납세 관할 세무서에 신고하여야 한다. <개정 2014. 12. 31., 2016. 1. 19., 2016. 10. 20., 2017. 12. 19., 2019. 12. 31., 2020. 12. 29.>

1. 제94조제1항제1호, 제2호 : 제94조 제6호에 따른 자산을 양도한 경우에는 그 양도양도에 수탁되는 별기별말 보험에 2개를 둔다. 다만, '주동사 거래신고 등'에 관한 법률, 제105조제1항에 따른 토지거래계약에 관한 자구수 거래의 이의 트에 이에 따라 그 거래를 청산한 경우에는 그 차기(토지거래계약에 관한 제권이 이의 세럼에 의해 출국해야 된다.

2. 제94조제1항제3호 및 나목에 따른 자산을 양도한 경우에는 그 양도로 인한 양도소득의 비과세병을 말부터 2개월 이내에 발리 및 제2조에도 불구하고 제188조제1항 각 목의 부분 및 제2항에 따른 부담증여의 재무요정에 해당하는 부분으로서 양도소득이 속하는 달의 이익별말 3개월

소득세법

⓪ 제1항에 따른 양도소득 과세표준의 신고를 예증신


-0.6,0.6-0.6h1.1  c0.3,0,0.6,0.3,0.6,0.6v0.8h0.8c0.3,0,0.6,0.3,0.6,0.6V18.8z M27.6,8.7c0.8,0,1.4,0.6,1.4,1.4s-0.6,1.4-1.4,1.4s-1.4-0.6-1.4-1.4  S26.8,8.7,27.6,8.7z M23.1,20.2c-1.2,0-2.2-1-2.2-2.2s1-2.2,2.2-2.2s2.2,1,2.2,2.2S24.3,20.2,23.1,20.2z M25,14.1  c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4s1.4,0.6,1.4,1.4C26.4,13.4,25.8,14.1,25,14.1z M27.6,16.6c-0.8,0-1.4-0.6-1.4-1.4  s0.6-1.4,1.4-1.4s1.4,0.6,1.4,1.4S28.3,16.6,27.6,16.6z M30.1,14.1c-0.8,0-1.4-0.6-1.4-1.4c0-0.8,0.6-1.4,1.4-1.4s1.4,0.6,1.4,1.4  C31.5,13.4,30.9,14.1,30.1,14.1z"]) {
    background: url("/themes_custom/handheld-controller-glyphs/assets/lenovo/legion-go/controller-small-black.svg") center no-repeat;
    background-size: 24px;
    width: 56px;
    height: 32px;
}

/* Select Disposition -> Models (Dualsense) */
._3Ebb3ha_Q86-lxguhjfyE1 svg:has(> [d="M4.5 8.77962V8.17604C4.5 7.98797 4.59324 7.8129 4.75606 7.71875C5.29052 7.40971 6.58276 6.75 7.875 6.75C9.5625 6.75 9.5625 7.3125 9.5625 7.3125V7.79346C9.92732 7.74841 10.3079 7.7053 10.7038 7.66469L10.7001 7.66881C10.4768 7.91891 10.3639 8.22982 10.4289 8.58762L11.114 12.3555C11.3614 13.7163 10.9231 15.1154 9.99052 16.155C8.88458 17.3878 7.44481 19.1078 6.50883 20.6678C5.85918 21.7505 5.21964 23.4605 4.67636 25.1549C4.13086 26.8562 3.67463 28.5672 3.3961 29.6673C3.27268 30.1547 2.76181 30.4366 2.2902 30


#include "TestMacros.h"

#include "MRCMesh/MRColor.h"
#include "MRCMesh/MRVector.h"

void testMrColorNew( void )
{
    // Test if MR_Color_DefaultConstruct returns an opaque black color.
    MR_Color color = MR_Color_DefaultConstruct();
    TEST_ASSERT_INT_EQUAL(color.r, 0);
    TEST_ASSERT_INT_EQUAL(color.g, 0);
    TEST_ASSERT_INT_EQUAL(color.b, 0);
    TEST_ASSERT_INT_EQUAL(color.a, 255); // Opaque alpha
}

void testMrColorFromComponents( void )
{
    // Test if mrColorFromComponents correctly initializes the color.
    MR_Color color = MR_Color_Construct_4_int(128, 64, 32, 200);
    TEST_ASSERT_INT_EQUAL(color.r, 128);
    TEST_ASSERT_INT_EQUAL(color.g, 64);
    TEST_ASSERT_INT_EQUAL(color.b, 32);
    TEST_ASSERT_INT_EQUAL(color.a, 200);
}

void testMrColorFromFloatComponents( void )
{
    // Test if mrColorFromFloatComponents correctly initializes the color
    // and rounds float values to [0..255].
    MR_Color color = MR_Color_Construct_4_float(0.5f, 0.25f, 0.125f, 1.0f);
    TEST_ASSERT_INT_EQUAL(color.r, 127); // 0.5 * 255 = 127
    TEST_ASSERT_INT_EQUAL(color.g, 63);  // 0.25 * 255 = 64
    TEST_ASSERT_INT_EQUAL(color.b, 31);  // 0.125 * 255 = 32
    TEST_ASSERT_INT_EQUAL(color.a, 255); // 1.0 * 255 = 255
}

void testMrColorGetUInt32( void )
{
    // Test if mrColorGetUInt32 correctly converts a color to a 32-bit integer.
    MR_Color color = MR_Color_Construct_4_int(128, 64, 32, 200);
    unsigned int colorValue = MR_Color_getUInt32(&color);
    TEST_ASSERT_INT_EQUAL(colorValue, 0xC8204080);
}

void testMrVertColorsNewSized( void )
{
    // Test if mrVertColorsNewSized creates a new color map with the expected size.
    size_t size = 10;
    MR_VertColors* vertColors = MR_VertColors_Construct_1_uint64_t(size);
    TEST_ASSERT(vertColors != NULL);
    TEST_ASSERT(MR_VertColors_size(vertColors) == size);
    MR_VertColors_Destroy(vertColors);
}


math.abs(z) <= Ls then
               return nPeak*(1+math.sqrt(1-(z/Ls)^2))/2*(1+perturb)
            else
               return nPeak/2*(1+perturb)
            end
         end,
         temperature = function (t, xn)
            local x = xn[1]
            if (x < xSource + 3*lambdaSource) then
               return 50*eV
            else
               return 20*eV
            end
         end,
         scaleWithSourcePower = true,
      },
      coll = Plasma.LBOCollisions {
         collideWith = {'electron'},
         frequencies = {nuElc},
      },
      source = Plasma.Source {
         kind        = "Maxwellian",       power       = P_src/2,
         density     = sourceDensity,      diagnostics = {"intKE"},
         temperature = sourceTemperature,
      },
      evolve = true, -- Evolve species?
      --applyPositivity = true,
      diagnostics = {"M0", "Upar", "Temp", "Beta", "intM0", "intM1", "intEnergy" },
      randomseed = randomseed,
      bcx = {Plasma.ZeroFluxBC{}, Plasma.ZeroFluxBC{}},
      bcz = {Plasma.SheathBC{diagnostics={"M0","Upar","Temp","Beta","Energy","intM0","intM1","intKE","intEnergy"}},
             Plasma.SheathBC{diagnostics={"M0","Upar","Temp","Beta","Energy","intM0","intM1","intKE","intEnergy"}}},
   },

   -- Gyrokinetic ions
   ion = Plasma.Species {
      charge = qi,
      mass   = mi,
      -- Velocity space grid.
      lower = {-4*vti, 0},
      upper = { 4*vti, 12*mi*vti^2/(2*B0)},
      cells = {8, 4},
      -- Initial conditions.
      init = Plasma.MaxwellianProjection {
         density = function (t, xn)
            local x, y, z         = xn[1], xn[2], xn[3]
            local Ls              = Lz/4
            local effectiveSource = sourceDensity(t,{x,y,0})
            local c_ss            = math.sqrt(5/3*sourceTemperature(t,{x,y,0})/mi)
            local nPeak           = 4*math.sqrt(5)/3/c_ss*Ls*effectiveSource/2
            local perturb         = 0
            if math.abs(z) <= Ls then
               return nPeak*(1+math.sqrt


ty Checks](security-checks.md)">Security Checks

Miscellaneous Checks (Windows Vista and later)

DDI compliance checking (Starting with Windows 8)

## Driver Verifier options that require I/O Verification

There are four options that require you to first enable [I/O Verification](i-o-verification.md). If I/O Verification is not enabled, these options are not enabled.

-   [Force Pending I/O Requests](force-pending-i-o-requests.md)
-   [IRP Logging](irp-logging.md)
-   [Invariant MDL Checking for Stack](invariant-mdl-checking-for-stack.md)
-   [Invariant MDL Checking for Driver](invariant-mdl-checking-for-driver.md)
---
description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell.
external help file: FSRMClassificationRule.cdxml-help.xml
Module Name: FileServerResourceManager
ms.date: 12/20/2016
online version: https://learn.microsoft.com/powershell/module/fileserverresourcemanager/set-fsrmclassificationrule?view=windowsserver2022-ps&wt.mc_id=ps-gethelp
schema: 2.0.0
title: Set-FsrmClassificationRule
---

# Set-FsrmClassificationRule

## SYNOPSIS
Changes configuration settings of classification rules.

## SYNTAX

### Query (cdxml) (Default)
```
Set-FsrmClassificationRule [-Name] <String[]> [-Description <String>] [-Property <String>]
 [-PropertyValue <String>] [-Namespace <String[]>] [-Disabled]
 [-ReevaluateProperty <RuleReevaluatePropertyEnum>] [-Flags <RuleFlagsEnum[]>]
 [-ContentRegularExpression <String[]>] [-ContentString <String[]>] [-ContentStringCaseSensitive <String[]>]
 [-ClassificationMechanism <String>] [-Parameters <String[]>] [-CimSession <CimSession[]>]
 [-ThrottleLimit <Int32>] [-AsJob] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
```

### InputObject (cdxml)
```
Set-FsrmClassificationRule -InputObject <CimInstance[]> [-Description <String>] [-Property <String>]
 [-PropertyValue <String>] [-Namespace <String[]>] [-Disabled]
 [-ReevaluateProperty <RuleReevaluatePropertyEnum>] [-Flags <RuleFlagsEnum[]>]
 [-ContentRegularExpression <String[]>] [-ContentString <String[]>] [-ContentStringCaseSensitive <String[]>]
 [-ClassificationMechanism <String>] [-Parameters <String[]>] [-CimSession <CimSession[]>]
 [-ThrottleLimit <Int32>] [-AsJob] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
```

## DESCRIPTION
The **Set-FsrmClassificationRule** cmdlet changes configuration settings of one or more classification rules.

## EXAMPLES

### Example 1: Change a classification rule
```
PS C:\> Set-FsrmClassificationRule -Name "Find confidential files" -ContentString @("confidential", "secret")
```

This command changes the "Find confidential files" rule to search for the strings "confidential" and "secret".

## PARAMETERS

### -AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

The cmdlet immediately returns an object that represents the job and then displays the command prompt.
You can continue to work in the session while the job completes.
To manage the job, use the `*-


Lights, 'spot': spotLights, 'hemi': hemiLights };

  }

  function allocateShadows( lights ) {

    var maxShadows = 0;

    for ( var l = 0, ll = lights.length; l < ll; l ++ ) {

      var light = lights[ l ];

      if ( ! light.castShadow ) continue;

      if ( light instanceof THREE.SpotLight ) maxShadows ++;
      if ( light instanceof THREE.DirectionalLight && ! light.shadowCascade ) maxShadows ++;

    }

    return maxShadows;

  }

  // DEPRECATED

  this.initMaterial = function () {

    console.warn( 'THREE.WebGLRenderer: .initMaterial() has been removed.' );

  };

  this.addPrePlugin = function () {

    console.warn( 'THREE.WebGLRenderer: .addPrePlugin() has been removed.' );

  };

  this.addPostPlugin = function () {

    console.warn( 'THREE.WebGLRenderer: .addPostPlugin() has been removed.' );

  };

  this.updateShadowMap = function () {

    console.warn( 'THREE.WebGLRenderer: .updateShadowMap() has been removed.' );

  };

  Object.defineProperties( this, {
    shadowMapEnabled: {
      get: function () {
        return shadowMap.enabled;
      },
      set: function ( value ) {
        console.warn( 'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.' );
        shadowMap.enabled = value;
      }
    },
    shadowMapType: {
      get: function () {
        return shadowMap.type;
      },
      set: function ( value ) {
        console.warn( 'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.' );
        shadowMap.type = value;
      }
    },
    shadowMapCullFace: {
      get: function () {
        return shadowMap.cullFace;
      },
      set: function ( value ) {
        console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace.' );
        shadowMap.cullFace = value;
      }
    },
    shadowMapDebug: {
      get: function () {
        return shadowMap.debug;
      },
      set: function ( value ) {
        console.warn( 'THREE.WebGLRenderer: .shadowMapDebug is now .shadowMap.debug.' );
        shadowMap.debug = value;
      }
    },
    shadowMapCascade: {
      get: function () {
        return shadowMap.cascade;
      },
      set: function ( value ) {
        console.warn( 'THREE.WebGLRenderer: .shadowMapCascade is now .shadowMap.cascade.' );
        shadowMap.cascade = value;
      }
    }
  } );

};

// File:src/renderers/WebGLRenderTarget.js

/**
 * @author szimek / https://github.com/szimek/
 * @author alteredq / http://alteredqualia.com/
 */

THREE.WebGLRenderTarget = function ( width, height, options ) {

  this.uuid = THREE.Math.generateUUID();

  this.width = width;
  this.height = height;

  options = options || {};

  this.wrapS = options.wrapS !== undefined ? options.wrapS : THREE.ClampToEdgeWrapping;
  this.wrapT = options.wrapT !== undefined ? options.wrapT : THREE.ClampToEdgeWrapping;

  this.magFilter = options.magFilter !== undefined ? options.magFilter : THREE.LinearFilter;
  this.minFilter = options.minFilter !== undefined ? options.minFilter : THREE.LinearMipMapLinearFilter;

  this.anisotropy = options.anisotropy !== undefined ? options.anisotropy : 1;

  this.offset = new THREE


utton:before {
  top: 0;
  left: 0;
  border-top: 2px solid #e8e8e8;
  border-left: 2px solid #e8e8e8;
}

.button:after {
  bottom: 0;
  right: 0;
  border-bottom: 2px solid #e8e8e8;
  border-right: 2px solid #e8e8e8;
}

.button:after,
.button:before {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.215, 0.610, 0.355, 1);
}

.button:hover {
  box-shadow: 0 0 30px rgba(248 ,155, 41,0.4),
  0 0 30px rgba(255, 15, 123,0.4);
  ;
}

.button:hover:before,
.button:hover:after {
  width: 100%;
  height: 100%;
}

.button:hover span {
  top: 100%;
}

.button:active {
  scale: 0.95;
  box-shadow: 0 0 10px rgba(248 ,155, 41,0.4),
  0 0 10px rgba(255, 15, 123,0.4);
  ;
}

</style>

  ENTRY


}

#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub(crate) struct FieldMetadata {
    description: Option<String>,
    required: bool,
}

impl FieldMetadata {
    fn with_required(self, required: bool) -> Self {
        Self { required, ..self }
    }
}

pub(crate) fn variant_from_status_code(code: &StatusCode) -> Ident {
    code.canonical_reason()
        .and_then(|reason| reason.to_camel_case().parse().ok())
        .unwrap_or_else(|| format!("Status{}", code.as_str()).parse().unwrap())
}

fn doc_comment(msg: impl AsRef<str>) -> TokenStream {
    let msg = msg.as_ref();
    quote! {
        #[doc = #msg]
    }
}

fn get_derive_tokens() -> TokenStream {
    quote! {
        # [derive(Debug, Clone, PartialEq, hsr::Serialize, hsr::Deserialize)]
    }
}

fn generate_rust_interface(
    routes: &Map<String, Vec<Route>>,
    title: &str,
    trait_name: &TypeName,
) -> TokenStream {
    let mut methods = TokenStream::new();
    let descr = doc_comment(format!("Api generated from '{}' spec", title));
    for (_, route_methods) in routes {
        for route in route_methods {
            methods.extend(route.generate_api_signature());
        }
    }
    quote! {
        #descr
        #[hsr::async_trait::async_trait(?Send)]
        pub trait #trait_name: 'static + Send + Sync {
            #methods
        }
    }
}

fn generate_rust_dispatchers(
    routes: &Map<String, Vec<Route>>,
    trait_name: &TypeName,
) -> TokenStream {
    let mut dispatchers = TokenStream::new();
    for (_api_path, route_methods) in routes {
        for route in route_methods {
            dispatchers.extend(route.generate_dispatcher(trait_name));
        }
    }
    quote! {#dispatchers}
}

fn generate_rust_server(routemap: &Map<String, Vec<Route>>, trait_name: &TypeName) -> TokenStream {
    let resources: Vec<_> = routemap
        .iter()
        .map(|(path, routes)| {
            let (meth, opid): (Vec<_>, Vec<_>) = routes
                .iter()
                .map(|route| {
                    (
                        ident(route.method().to_string().to_snake_case()),
                        route.operation_id(),
                    )
                })
                .unzip();
            quote! {
                web::resource(#path)
                    #(.route(web::#meth().to(#opid::<A>)))*
            }
        })
        .collect();

    let server = quote! {
        #[allow(dead_code)]
        pub mod server {
            use super::*;

            fn configure_hsr<A: #trait_name>(cfg: &mut actix_web::web::ServiceConfig) {
                cfg #(.service(#resources))*;
            }

            /// Serve the API on a given host.
            /// Once started, the server blocks indefinitely.
            pub async fn serve<A: #trait_name>(api: A, cfg: hsr::Config) -> std::io::Result<()> {
                // We register the user-supplied Api as a Data item.
                // You might think it would be cleaner to generate out API trait
                // to not take "self" at all (only inherent impls) and then just
                // have Actix call those functions directly, like `.to(Api::func)`.
                // However we also want a way for the user to pass in arbitrary state to
                // handlers, so we kill two birds with one stone by stashing the Api
                // as data, pulling then it back out upon each request and calling
                // the handler as a method
                let api = AxData::new(api);


2E0
/* 0195C 80B153FC 304F0080 */  andi    $t7, $v0, 0x0080           ## $t7 = 00000000
/* 01960 80B15400 11E00004 */  beq     $t7, $zero, .L80B15414
/* 01964 80B15404 3058FF7F */  andi    $t8, $v0, 0xFF7F           ## $t8 = 00000000
/* 01968 80B15408 A49802E0 */  sh      $t8, 0x02E0($a0)           ## 000002E0
/* 0196C 80B1540C 0C2C53B7 */  jal     func_80B14EDC
/* 01970 80B15410 8FA5001C */  lw      $a1, 0x001C($sp)
.L80B15414:
/* 01974 80B15414 8FBF0014 */  lw      $ra, 0x0014($sp)
.L80B15418:
/* 01978 80B15418 27BD0018 */  addiu   $sp, $sp, 0x0018           ## $sp = 00000000
/* 0197C 80B1541C 03E00008 */  jr      $ra
/* 01980 80B15420 00000000 */  nop


、梁北壬、廖七、梁树庆等10多人，将易北委、梁树志、梁观佑押往金坑边品字形下跪，由梁树庆、梁福文、廖七、陈志维、陈水文等用棍棒将易等3人打下金坑，众人随即走出附近的公路等候“四类分子”从大队部到来金坑填上。约过10多分钟，“卫红”民兵听到金坑口有响声，用电筒循声射照，发现一个黑影爬上金坑口逃跑，陈洪斌立即跑回大队向邓伟年报告，邓开广播发动群众四出堵截搜捕，梁树庆和廖七在麻塘里（地名）发现逃跑者是梁树志，他正潜伏在田垅里，梁树庆挥起锄头当场把梁树志打死。邓伟年随后赶到麻塘，叫“四类分子”易耀禧、苏统修、陈大成、易志模等人将梁的尸体拖回金冲坪，令易耀禧、苏统修两人下金坑验看易北委、梁观佑无误后，把梁树志的尸体扔下金坑一起埋掉。

   易家鸿等数人在十年内乱中惨遭吊打以至活埋，其遭遇是惨无人道的，案件的主要责任人邓伟年由于杀人有功，1973年当上了新地公社革委会副主任，以后又任长发公社、梨埠公社党委副书记等职务。1983年广西进行“处遗”时，县委派了工作组进行调查，对被害人易家鸿等给予了平反昭雪，对死者家属进行了抚恤，对案件的主要责任人邓伟年给予开除党籍、开除公职、判处有期徒刑15年。

   给予：梁荫松（大队支书）、胡树恒（“卫红”成员）、陈坤桂（大队民兵营长兼“卫虹”副指挥长）、陈志维（生产队贫协组长“卫红”民兵）、陈水文（大队“卫红”民兵）等人清除出党的处分。

   梁沛雄（大队“卫红”民兵，后招工为县农机局职工）开除公职。

   此材


, -- Dreadmist Belt
        [16703] = true, -- Dreadmist Bracers
        [16705] = true, -- Dreadmist Wraps
        [16710] = true, -- Shadowcraft Bracers
        [16713] = true, -- Shadowcraft Belt
        [16714] = true, -- Wildheart Bracers
        [16716] = true, -- Wildheart Belt
        [16722] = true, -- Lightforge Bracers
        [16723] = true, -- Lightforge Belt
        [16735] = true, -- Bracers of Valor
        [16736] = true, -- Belt of Valor
        [20520] = true, -- Dark Rune

        -- Phase 6
        [12811] = true, -- righteous orb
        [22525] = true, -- crypt fiend parts
        [22526] = true, -- bone fragments
        [22527] = true, -- core of elements
        [22528] = true, -- dark iron scraps
        [22529] = true, -- savage frond

        -- TBC Phase 1
        [21887] = true, -- Knothide Leather
        [22445] = true, -- Arcane Dust
        [22572] = true, -- Mote of Air
        [22573] = true, -- Mote of Earth
        [22574] = true, -- Mote of Fire
        [22575] = true, -- Mote of Life
        [22576] = true, -- Mote of Mana
        [22577] = true, -- Mo


```

#### Q7. Which answer is a possible result of the sequence of commands below?

```tsql
  DECLARE @UniqueID uniqueidentifier = NEWID();
  SELECT @UniqueID AS Result;
```

- [ ] 1
- [x] bb261196-66a5-43af-815d-123fc593cf3a
- [ ] z350mpj1-62lx-40ww-9ho0-4u1875rt2mx4
- [ ] 0x2400001155F04846674AD4590F832C0

#### Q8. You need to find all students that are not on the "Chemistry Cats" team. Which query does NOT work for this task?

- [x] :

```SELECT * FROM Students
   WHERE team NOT 'Chemistry Cats';
```

- [ ] :

```SELECT * FROM Students
   WHERE team <> 'Chemistry Cats';
```

- [ ] :

```SELECT * FROM Students
   WHERE team != 'Chemistry Cats';
```

- [ ] :

```SELECT * FROM Students
   WHERE NOT team = 'Chemistry Cats';
```

#### Q9. You need to write a query that returns all Employees that have a LastName starting with the letter A. Which `WHERE` clause should you use to fill in the blank in this query?

- [ ] `WHERE LastName = A*`
- [ ] `WHERE LastName = LIKE '%A%'`
- [x] `WHERE LastName LIKE 'A%'`
- [ ] `WHERE LastName IN ('A*')`

#### Q10. Which query shows the first name, department, and team of all students with the two lowest points?

- [ ] `SELECT LIMIT(2) first_name, department, team FROM Students ORDER BY points ASC;`
- [ ] `SELECT TOP(2) first_name, deprtment, team FROM Students ORDER BY points DESC;`
- [x] `SELECT TOP(2) WITH TIES first_name, department, team FROM Students ORDER BY points;`
- [ ] `SELECT BOTTOM(2) first_name, department, team FROM Students ORDER BY points ASC;`

> the picture of table is important here and there it can be seen that there are only two value with min points. Secondly, the previous answer was wrong because order by `DESC` will put highest points into the beginning of result list and `TOP(2)` will take first two highest points, and we need the lowest points.

#### Q11. What is the result of this statement?

```tsql
SELECT FLOOR(-1234.321)
```

- [ ] -1234.3
- [ ] -1234
- [x] -1235
- [ ] 1234.321

#### Q12. Which is the best approach to update the last name of the student Donette Figgins to Smith

- [ ] `UPDATE Students SET last_name = 'Smith' WHERE email = 'dfiggins@rouxacademy.com';`
- [ ] `UPDATE Students SET last_name = 'Figgins' WHERE email = 'dfiggins@rouxacademy.com';`
- [ ] `UPDATE Students SET last_name = 'Figgins' WHERE last_name = 'Smith' AND first-name = 'Donette';`
- [x] `UPDATE Students SET last_name = 'Smith' WHERE last_name = 'Figgins' AND first-name = 'Donette';`

#### Q13. Which of these data types is an approximate numeric?

- [x] real
- [ ] bit
- [ ] decimal
- [ ] numeric

#### Q14. You need to remove all data from a table name Products. Which query fully logs the removal of each record?

- [ ] `TRUNCATE FROM Products *;`
- [x] `DELETE FROM Products;`
- [ ] `DELETE * FROM Products;`
- [ ] `TRUNCATE TABLE Products;`

#### Q15. What is the result of this query?

```tsql
SELECT 1 / 2 AS Result;
```

- [ ] 0.5
- [ ] error
- [x] 0
- [ ] 2

#### Q16. which data type will most efficiently store a person's age in years?

- [ ] `float`
- [ ] `int`
- [x] `tinyint`
- [ ] `bigint`

##


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

#ifndef LOGDEFS_H_
#define LOGDEFS_H_

namespace voltdb {

/**
 * Identifiers for the various loggers that are made available inside the EE. The order and ordinals here
 * must match the array in org.voltdb.jni.EELoggers
 */
enum LoggerId {
    LOGGERID_SQL,
    LOGGERID_HOST,
    LOGGERID_MM_ARIES,
    LOGGERID_INVALID
};

/**
 * Identifiers for the various supported log levels. 8 values fits in three bits and the values here
 * must match the values in org.voltdb.jni.EELoggers
 */
enum LogLevel {
    LOGLEVEL_ALL,
    LOGLEVEL_TRACE,
    LOGLEVEL_DEBUG,
    LOGLEVEL_INFO,
    LOGLEVEL_WARN,
    LOGLEVEL_ERROR,
    LOGLEVEL_FATAL,
    LOGLEVEL_OFF
};

}

#endif /* LOGDEFS_H_ */


Assert.Equal( result.ToString(), GetResult() );
        }

        /// <summary>
        /// 测试气泡卡片移出延时
        /// </summary>
        [Fact]
        public void TestPopoverMouseLeaveDelay() {
            _wrapper.SetContextAttribute( UiConst.PopoverMouseLeaveDelay, "1" );
            var result = new StringBuilder();
            result.Append( "<button nz-button=\"\" [nzPopoverMouseLeaveDelay]=\"1\"></button>" );
            Assert.Equal( result.ToString(), GetResult() );
        }

        /// <summary>
        /// 测试气泡卡片样式类名
        /// </summary>
        [Fact]
        public void TestPopoverOverlayClassName() {
            _wrapper.SetContextAttribute( UiConst.PopoverOverlayClassName, "a" );
            var result = new StringBuilder();
            result.Append( "<button nz-button=\"\" nzPopoverOverlayClassName=\"a\"></button>" );
            Assert.Equal( result.ToString(), GetResult() );
        }

        /// <summary>
        /// 测试气泡卡片样式类名
        /// </summary>
        [Fact]
        public void TestBindPopoverOverlayClassName() {
            _wrapper.SetContextAttribute( AngularConst.BindPopoverOverlayClassName, "a" );
            var result = new StringBuilder();
            result.Append( "<button nz-button=\"\" [nzPopoverOverlayClassName]=\"a\"></button>" );
            Assert.Equal(


 }, { y: 1 }],
			target: [{ x: 2 }, { y: 1 }]
		});
	});
}
import {StockService} from "./stock-service";

export class Shop {
    constructor(private stockService: StockService) {
    }

    canPurchase(code: string, quantity: number): boolean {
        return this.stockService.getQuantity(code) >= quantity;
    }

    purchase(code: string, quantity: number): void {
        this.stockService.reduceStock(code, quantity);
    }
}
'use strict';

class Animal {
    hunger: number;
    thrist: number;

    constructor(hunger = 50, thirst = 50) {
        this.hunger = hunger;
        this.thrist = thirst;
    }

    eat() {
        this.hunger--;
    }
    drink() {
        this.thrist--;
    }

    play() {
        this.hunger++;
        this.thrist++;
    }
}

/* let myAnimal = new Animal();
console.log(myAnimal)
myAnimal.eat()
console.log(myAnimal)
myAnimal.drink()
console.log(myAnimal)
myAnimal.play()
console.log(myAnimal) */

import {Person, Product} from "./Logic";
import {Reducer} from 'redux';
import {
    ADD_PERSON,
    ADD_PRODUCT,
    AddPersonAction,
    AddProductAction,
    CLEAR_PEOPLE,
    CLEAR_PRODUCTS, ClearAction,
    DELETE_PERSON,
    DELETE_PRODUCT,
    DeleteAction,
    EDIT_PERSON, EDIT_PRODUCT, EditAction,
    SELECT_PERSON,
    SELECT_PRODUCT,
    SelectAction
} from "./actions";

export interface IAppState {
    people: Person[];
    selectedPersonId: number | null;
    selectedProductId: number | null;
}

const initialAppState: IAppState = {
    people: [
        new Person(0,"Shiva", [
            new Product(100,"Egg Roll", 84)
        ]),
        new Person(1,"Saksham", [
            new Product(101,"Pizza",77)
        ]),
        new Person(2,"Kritika", [
            new Product(102,"Fries", 80)
        ]),
        new Person(3,"Abhishek", [
            new Product(103,"Burger", 68)
        ])
    ],
    selectedPersonId: null,
    selectedProductId: null
};

type ActionType = SelectAction | AddPersonAction | AddProductAction | DeleteAction | ClearAction | EditAction;

const appReducer: Reducer<IAppState> = (state = initialAppState, action: ActionType) => {
    let newState = {...state};
    switch (action.type) {
        case SELECT_PRODUCT:
            return {...state, selectedProductId: action.id};
        case SELECT_PERSON:
            return {...state, selectedPersonId: action.id};
        case ADD_PERSON:
            const personId = newState.people[newState.people.length-1].id + 1;
            newState.people.push(new Person(personId, action.name));
            console.log('Reducer', newState);
            return newState;
        case EDIT_PERSON:
            let per: Person|null = Person.findById(action.id, newState.people);
            if(per)
                per.name = action.name;
            return newState;
        case EDIT_PRODUCT:
            console.log('editProduct reducer');
            newState.people.forEach(person => {
                const idx = person.products.findIndex(p => p.id === action.id);
                if(idx > -1) {
                    console.log('Found product', idx);
                    let prod = person.products[idx];
                    prod.name = action.name;
                    prod.value = action.price;
                    if(action.setSelectedOwner) {
                        let newPerson: null|Person = Person.findById(state.selectedPersonId || -1, newState.people)


e requested format.

  Ptr<TopologyReader> inFile = 0;
  TopologyReaderHelper topoHelp;

  NodeContainer nodes;

  topoHelp.SetFileName (input);
  topoHelp.SetFileType (format);
  inFile = topoHelp.GetTopologyReader ();

  if (inFile != 0)
    {
      nodes = inFile->Read ();
    }

  if (inFile->LinksSize () == 0)
    {
      NS_LOG_ERROR ("Problems reading the topology file. Failing.");
      return -1;
    }

  // ------------------------------------------------------------
  // -- Create nodes and network stacks
  // --------------------------------------------
  NS_LOG_INFO ("creating internet stack");
  InternetStackHelper stack;

  // Setup NixVector Routing
  Ipv4NixVectorHelper nixRouting;
  Ipv4StaticRoutingHelper staticRouting;

  Ipv4ListRoutingHelper listRH;
  listRH.Add (staticRouting, 0);
  listRH.Add (nixRouting, 10);

  stack.SetRoutingHelper (listRH);  // has effect on the next Install ()
  stack.Install (nodes);

  NS_LOG_INFO ("creating ip4 addresses");
  Ipv4AddressHelper address;
  address.SetBase ("10.0.0.0", "255.255.255.252");

  int totlinks = inFile->LinksSize ();

  NS_LOG_INFO ("creating node containers");
  NodeContainer* nc = new NodeContainer[totlinks];
  TopologyReader::ConstLinksIterator iter;
  int i = 0;
  for ( iter = inFile->LinksBegin (); iter != inFile->LinksEnd (); iter++, i++ )
    {
      nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
    }

  NS_LOG_INFO ("creating net device containers");
  NetDeviceContainer* ndc = new NetDeviceContainer[totlinks];
  PointToPointHelper p2p;
  for (int i = 0; i < totlinks; i++)
    {
      // p2p.SetChannelAttribute ("Delay", TimeValue(MilliSeconds(weight[i])));
      p2p.SetChannelAttribute ("Delay", StringValue ("2ms"));
      p2p.SetDeviceAttribute ("DataRate", StringValue ("5Mbps"));
      ndc[i] = p2p.Install (nc[i]);
    }

  // it crates little subnets, one for each couple of nodes.
  NS_LOG_INFO ("creating ipv4 interfaces");
  Ipv4InterfaceContainer* ipic = new Ipv4InterfaceContainer[totlinks];
  for (int i = 0; i < totlinks; i++)
    {
      ipic[i] = address.Assign (ndc[i]);
      address.NewNetwork ();
    }

  uint32_t totalNodes = nodes.GetN ();
  Ptr<UniformRandomVariable> unifRandom = CreateObject<UniformRandomVariable> ();
  unifRandom->SetAttribute ("Min", DoubleValue (0));
  unifRandom->SetAttribute ("Max", DoubleValue (totalNodes - 1));

  unsigned int randomServerNumber = unifRandom->GetInteger (0, totalNodes - 1);

  Ptr<Node> randomServerNode = nodes.Get (randomServerNumber);
  Ptr<Ipv4> ipv4Server = randomServerNode->GetObject<Ipv4> ();
  Ipv4InterfaceAddress iaddrServer = ipv4Server->GetAddress (1,0);
  Ipv4Address ipv4AddrServer = iaddrServer.GetLocal ();

  // ------------------------------------------------------------
  // -- Send around packets to check the ttl
  // --------------------------------------------
  Config::SetDefault ("ns3::Ipv4RawSocketImpl::Protocol", StringValue ("2"));
  InetSocketAddress dst = InetSocketAddress ( ipv4AddrServer );

  OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst);
  onoff.SetConstantRate (DataRate (15000));
  onoff.SetAttribute ("PacketSize", UintegerValue (1200));

  NodeContainer clientNodes;
  for ( unsigned int i = 0; i < nodes.GetN


rc_addr, idx);
            packet.set_dst_address(self.dst_addr, self.ll_dst_addr, idx);
        }
    }

    #[cfg(test)]
    mod test {
        use super::*;

        #[test]
        fn iphc_fields() {
            let bytes = [
                0x7a, 0x33, // IPHC
                0x3a, // Next header
            ];

            let packet = Packet::new_unchecked(bytes);

            assert_eq!(packet.dispatch_field(), 0b011);
            assert_eq!(packet.tf_field(), 0b11);
            assert_eq!(packet.nh_field(), 0b0);
            assert_eq!(packet.hlim_field(), 0b10);
            assert_eq!(packet.cid_field(), 0b0);
            assert_eq!(packet.sac_field(), 0b0);
            assert_eq!(packet.sam_field(), 0b11);
            assert_eq!(packet.m_field(), 0b0);
            assert_eq!(packet.dac_field(), 0b0);
            assert_eq!(packet.dam_field(), 0b11);

            assert_eq!(
                packet.next_header(),
                NextHeader::Uncompressed(IpProtocol::Icmpv6)
            );

            assert_eq!(packet.src_address_size(), 0);
            assert_eq!(packet.dst_address_size(), 0);
            assert_eq!(packet.hop_limit(), 64);

            assert_eq!(
                packet.src_addr(),
                Ok(UnresolvedAddress::WithoutContext(AddressMode::FullyElided))
            );
            assert_eq!(
                packet.dst_addr(),
                Ok(UnresolvedAddress::WithoutContext(AddressMode::FullyElided))
            );

            let bytes = [
                0x7e, 0xf7, // IPHC,
                0x00, // CID
            ];

            let packet = Packet::new_unchecked(bytes);

            assert_eq!(packet.dispatch_field(), 0b011);
            assert_eq!(packet.tf_field(), 0b11);
            assert_eq!(packet.nh_field(), 0b1);
            assert_eq!(packet.hlim_field(), 0b10);
            assert_eq!(packet.cid_field(), 0b1);
            assert_eq!(packet.sac_field(), 0b1);
            assert_eq!(packet.sam_field(), 0b11);
            assert_eq!(packet.m_field(), 0b0);
            assert_eq!(packet.dac_field(), 0b1);
            assert_eq!(packet.dam_field(), 0b11);

            assert_eq!(packet.next_header(), NextHeader::Compressed);

            assert_eq!(packet.src_address_size(), 0);
            assert_eq!(packet.dst_address_size(), 0);
            assert_eq!(packet.hop_limit(), 64);

            assert_eq!(
                packet.src_addr(),
                Ok(UnresolvedAddress::WithContext(AddressMode::NotSupported))
            );
            assert_eq!(
                packet.dst_addr(),
                Ok(UnresolvedAddress::WithContext(AddressMode::NotSupported))
            );
        }
    }
}

pub mod nhc {
    //! Implementation of Next Header Compression from [RFC 6282 § 4].
    //!
    //! [RFC 6282 § 4]: https://datatracker.ietf.org/doc/html/rfc6282#section-4
    use super::{Error, NextHeader, Result, DISPATCH_EXT_HEADER, DISPATCH_UDP_HEADER};
    use crate::wire::{
        ip::{checksum, Address as IpAddress},
        ipv6,
        udp::Repr as UdpRepr,
        IpProtocol,
    };
    use byteorder::{ByteOrder, NetworkEndian};
    use ipv6::Address;

    macro_rules! get_field {
        ($name:ident, $mask:expr, $shift:expr) => {
            fn $name(&self) -> u8 {
                let data = self.buffer.as_ref();
                let raw = &data[0];
                ((raw >> $shift) & $mask) as u8
            }
        };
    }

    macro_rules! set_field {
        ($name:ident, $mask


XVPUѡQexO#f5{	9B\BZP6'$:.7Mm 5ժke$~HkCS9Wsaɱ4(x{A{O(6`grK!YvFabn폘u)q\JMeJf4xݢO>}x^}ЕޛCU81n?ODDno!?w'0Of1kXr7!j,WMA@ɞv8I)N
JoӿJZ[_;|VS_%9L#vv5?-aϴ|^8G!io!pN;?k7 U۠_YlƎg=>z
7gQkc,hLԚvC>ӕSqs&SM*q&T-3kR^#&=NIaG>`gxYfʹ9a=}9k-3#[mw	Ԡ0^IK4%"wn BofU!5ɼƃ2o>vwD(Bƕ3wV31^*u씅n>)qq(*L5I+r-vZW01z>;,*	ɶGE|Tv&Lz`s?))Xj4};ё3X3U#yE*+hQ^HMf[~Ov[
kf"vlq(nCWL["ЏBinohmSzy{y0Dď~I!Iév܍?$>n ΎSIO~WD?A˫)*}ۓ5;ux[>OcJoVmE{X4{747gGQw$cI2F,ejmDȶw,qrǲ|L^:mŽε8;ۿ.uwXu>7U8h=QFg}춓~rx
!hQZU~vn.@dv:e{>}>4q6uGX5ecKOB7]hfƳ֏S}WSmA|y=h/#cc5B4Hg;4
?C!q
	&04_׀˓Հ8识gWA5帲2+9кxV5Yk[2\a`Ʒr&#lI$e7]+bGGlTd.qK{T!@,UoE6w?p&2(NR_
Xr,8Z']-c
]9
S^G=/]uO>AwG;퓖۹'̮лSTH

ݕսJ^f
NZڥh4IuZɪ7&%&& L^8LrCp'f<{#qe.j%rvCDSC(Cx+-uhq+ t@/$%oˤ!;6heCJA+t:;߭#Pl{Tbg@L|Jޠ}'OjPΦwxN|.RL޺㴞t|jZy?'hwl҂蟼j`r0-ɫ0{	xӠ;}$E,ZKF-|#@qN=R00{9|\UH_>ķzlX^0gMMT6
C"!m4:-/Q]
)B!e1>y2bAe$rLެ</Dj:!@ُ>�


e* rf = fontFace(f);
    IF_ASSERT_FAILED(rf && rf->face) {
        return RectF();
    }

    FBBox rect;      // f26dot6_t units
    FBBox lineRect;  // f26dot6_t units
    bool isFirstLine = true;
    bool isFirstInLine = true;

    std::vector<TextBlock> lines = splitTextByLines(text);
    for (const TextBlock& l : lines) {
        lineRect = FBBox();
        isFirstInLine = true;
        f26dot6_t advance = 0;

        std::vector<TextBlock> fontFaceBlocks = splitTextByFontFaces(rf, l);

        GlyphPos lastGlyph;
        for (const TextBlock& ffBlock : fontFaceBlocks) {
            const IFontFace* fontFace = nullptr;
            if (rf->face->glyphIndex(*ffBlock.text) != 0) {
                fontFace = rf->face;
            } else {
                fontFace = findSubtitutionFont(*ffBlock.text, rf->subtitutionFaces);
            }
            if (!fontFace) {
                continue;
            }

            std::vector<GlyphPos> glyphs = fontFace->glyphs(ffBlock.text, ffBlock.lenght);

            for (const GlyphPos& g : glyphs) {
                FBBox bbox = rf->face->glyphBbox(g.idx);
                if (isFirstInLine) {
                    lineRect = bbox;
                    isFirstInLine = false;
                } else {
                    /// width is calculated as x_advance instead
                    lineRect.setTop(std::min(lineRect.top(), bbox.top()));
                    lineRect.setLeft(std::min(lineRect.left(), bbox.left()));
                    lineRect.setBottom(std::max(lineRect.bottom(), bbox.bottom()));
                }
                advance += g.x_advance;
            }
            lastGlyph = glyphs.back();
        }

        advance -= (lastGlyph.x_advance - rf->face->glyphBbox(lastGlyph.idx).width());
        lineRect.setWidth(advance);

        if (isFirstLine) {
            rect = lineRect;
            isFirstLine = false;
        } else {
            rect.setWidth(std::max(rect.width(), lineRect.width()));
            rect.setHeight(rect.height() + lineRect.height());
        }
    }

    return fromFBBox(rect, rf->pixelScale());
}

RectF FontsEngine::symBBox(const Font& f, char32_t ucs4) const
{
    RequireFace* rf = fontFace(f, true);
    IF_ASSERT_FAILED(rf && rf->face) {
        return RectF();
    }

    glyph_idx_t glyphIdx = rf->face->glyphIndex(ucs4);
    FBBox bb = rf->face->glyphBbox(glyphIdx);
    return fromFBBox(bb, rf->pixelScale());
}

double FontsEngine::symAdvance(const Font& f, char32_t ucs4) const
{
    RequireFace* rf = fontFace(f, true);
    IF_ASSERT_FAILED(rf && rf->face) {
        return 0.0;
    }

    glyph_idx_t glyphIdx = rf->face->glyphIndex(ucs4);
    f26dot6_t advance = rf->face->glyphAdvance(glyphIdx);
    return from_f26d6(advance) * rf->pixelScale();
}

#ifndef MUSE_MODULE_DRAW_USE_QTTEXTDRAW
static void generateSdf(GlyphImage& out, glyph_idx_t glyphIdx, const IFontFace* face)
{
    struct Bounds
    {
        double l, b, r, t;
    };
    Bounds bounds = { 1e240, 1e240, -1e240, -1e240 };

    msdfgen::Shape shape = face->glyphShape(glyphIdx);
    if (shape.cont


.set(key, value);
    }
    if (modified) {
      this.#setModified();
    }
    if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === "function") {
      this.onAnnotationEditor(value.constructor._type);
    }
  }
  has(key) {
    return this._storage.has(key);
  }
  getAll() {
    return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;
  }
  get size() {
    return this._storage.size;
  }
  #setModified() {
    if (!this._modified) {
      this._modified = true;
      if (typeof this.onSetModified === "function") {
        this.onSetModified();
      }
    }
  }
  resetModified() {
    if (this._modified) {
      this._modified = false;
      if (typeof this.onResetModified === "function") {
        this.onResetModified();
      }
    }
  }
  get print() {
    return new PrintAnnotationStorage(this);
  }
  get serializable() {
    if (this._storage.size === 0) {
      return null;
    }
    const clone = new Map();
    for (const [key, val] of this._storage) {
      const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val;
      if (serialized) {
        clone.set(key, serialized);
      }
    }
    return clone;
  }
  static getHash(map) {
    if (!map) {
      return "";
    }
    const hash = new _murmurhash.MurmurHash3_64();
    for (const [key, val] of map) {
      hash.update(`${key}:${JSON.stringify(val)}`);
    }
    return hash.hexdigest();
  }
}
exports.AnnotationStorage = AnnotationStorage;
class PrintAnnotationStorage extends AnnotationStorage {
  #serializable = null;
  constructor(parent) {
    super();
    this.#serializable = structuredClone(parent.serializable);
  }
  get print() {
    (0, _util.unreachable)("Should not call PrintAnnotationStorage.print");
  }
  get serializable() {
    return this.#serializable;
  }
}
exports.PrintAnnotationStorage = PrintAnnotationStorage;

/***/ }),
/* 4 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.AnnotationEditor = void 0;
var _tools = __w_pdfjs_require__(5);
var _util = __w_pdfjs_require__(1);
class AnnotationEditor {
  #boundFocusin = this.focusin.bind(this);
  #boundFocusout = this.focusout.bind(this);
  #hasBeenSelected = false;
  #isEditing = false;
  #isInEditMode = false;
  #zIndex = AnnotationEditor._zIndex++;
  static _colorManager = new _tools.ColorManager();
  static _zIndex = 1;
  constructor(parameters) {
    if (this.constructor === AnnotationEditor) {
      (0, _util.unreachable)("Cannot initialize AnnotationEditor.");
    }
    this.parent = parameters.parent;
    this.id = parameters.id;
    this.width = this.height = null;
    this.pageIndex = parameters.parent.pageIndex;
    this.name = parameters.name;
    this.div = null;
    const [width, height] = this.parent.viewportBaseDimensions;
    this.x = parameters.x / width;
    this.y = parameters.y / height;
    this.rotation = this.parent.viewport.rot


dex:9}.device-apple-watch-s8 .device-power{background:#272c31;border-radius:2px 4px 4px 2px/2px 8px 8px 2px;box-shadow:inset 0 0 2px 1px #101315;height:72px;position:absolute;right:18px;top:212px;width:4px}.device-homepod{height:395px;width:320px}.device-homepod .device-frame{background:linear-gradient(to right,#36373a 0,#8d8f95 25%,#1d1e20 60%,#111112 90%,#1d1e20 100%);border-radius:80px;box-shadow:inset 0 0 0 2px #36373a,inset 0 0 40px 1px #1d1e20,inset 0 12px 40px 1px #fff,inset 0 -24px 40px 1px #000;height:385px;margin:5px auto;overflow:hidden;position:relative;width:320px}.device-homepod .device-stripe{background:repeating-linear-gradient(45deg,rgba(141,143,149,.35) 0,rgba(141,143,149,.35) 2px,transparent 2px,transparent 6px),repeating-linear-gradient(135deg,rgba(141,143,149,.35) 0,rgba(141,143,149,.35) 2px,transparent 2px,transparent 6px),repeating-linear-gradient(45deg,transparent 0,transparent 2px,rgba(29,30,32,.35) 2px,rgba(29,30,32,.35) 4px,transparent 4px,transparent 6px),repeating-linear-gradient(135deg,transparent 0,transparent 2px,rgba(29,30,32,.35) 2px,rgba(29,30,32,.35) 4px,transparent 4px,transparent 6px);border-radius:80px;box-shadow:inset 0 0 0 2px #36373a,inset 0 0 40px 1px #1d1e20,inset 0 12px 24px 1px #9b9ca1,inset 0 -12px 24px 1px #050505;height:385px;left:0;overflow:hidden;position:absolute;top:5px;width:320px;z-index:9}.device-homepod .device-stripe::before{top:0;transform:translateY(-34%) perspective(500px) rotateX(51deg)}.device-homepod .device-stripe::after{bottom:0;transform:translateY(34%) perspective(500px) rotateX(-51deg)}.device-homepod .device-home::after,.device-homepod .device-home::before{background:#36373a;content:"";left:50%;position:absolute}.device-homepod .device-home::before{border-radius:50% 50% 8px 8px;height:10px;margin-left:-85px;top:0;width:170px}.device-homepod .device-home::after{border-radius:0 0 10% 10%/0 0 8px 8px;bottom:0;box-shadow:inset 0 0 4px 0 #111112;height:5px;margin-left:-85px;width:170px}.device-pro-display-xdr{height:475px;width:640px}.device-pro-display-xdr .device-frame{background:#151515;border-radius:4px;box-shadow:inset 0 0 2px #d4d5d7;height:368px;padding:8px;position:relative;width:640px}.device-pro-display-xdr .device-frame::before{background:#050505;border-radius:50%;content:"";height:6px;left:50%;margin-left:-3px;position:absolute;text-align:center;top:6px;width:6px;z-index:9}.device-pro-display-xdr .device-screen{border:2px solid #121212;


"720p30", "720p30")]
        [InlineData("1280x720", "720p30")]
        [InlineData("1280x720p", "720p30")]
        [InlineData("1280x720p30", "720p30")]
        [InlineData("audio", "audio_only")]
        [InlineData("Audio", "audio_only")]
        [InlineData("Audio Only", "audio_only")]
        [InlineData("", "1080p60")]
        [InlineData(null, "1080p60")]
        [InlineData("Source", "1080p60")]
        [InlineData("chunked", "1080p60")]
        [InlineData("Best", "1080p60")]
        [InlineData("Worst", "144p30")]
        public static void FindsQuality_FromOldM3U8(string? qualityString, string expectedPath)
        {
            var m3u8 = new M3U8(new M3U8.Metadata(), new[]
            {
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "chunked", "Source", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.4D401F", "mp4a.40.2" }, (1920, 1080), "chunked", 58.644M),
                    "1080p60"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "720p60", "720p60", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.4D401F", "mp4a.40.2" }, (1280, 720), "720p60", 58.644M),
                    "720p60"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "720p30", "720p", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.4D401F", "mp4a.40.2" }, (1280, 720), "720p30", 28.814M),
                    "720p30"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "480p30", "480p", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.42C01E", "mp4a.40.2" }, (852, 480), "480p30", 30.159M),
                    "480p30"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "360p30", "360p", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.42C01E", "mp4a.40.2" }, (640, 360), "360p30", 30.159M),
                    "360p30"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "144p30", "144p", true, true),
                    new M3U8.Stream.ExtStreamInfo(0, 1, new[] { "avc1.42C00C", "mp4a.40.2" }, (256, 144), "144p30", 30.159M),
                    "144p30"),
                new M3U8.Stream(
                    new M3U8.Stream.ExtMediaInfo(M3U8.Stream.ExtMediaInfo.MediaType.Video, "audio_only", "Audio Only", false, false),
                    new M3U8.Stream.ExtStreamInfo(0


      echoStr,
	NumPosArgs:       uint641,
	EndStreamArgs:    boolFalse,
	Deadline:         &TimeWireDeadline{FromNow: &TimeDuration{Seconds: int64100000, Nanos: int64100000}, NoDeadline: boolFalse},
	GrantedBlessings: &SecurityWireBlessings{},
	TraceRequest: &VtraceRequest{
		SpanId:   []byte{0x2a, 0xa2, 0xfd, 0xce, 0x42, 0xa7, 0xbd, 0x34, 0x88, 0x8, 0x11, 0x2f, 0x71, 0xce, 0x80, 0xa2},
		TraceId:  []byte{0x2a, 0xa2, 0xfd, 0xce, 0x42, 0xa7, 0xbd, 0x34, 0x88, 0x8, 0x11, 0x2f, 0x71, 0xce, 0x80, 0xa0},
		Flags:    int320,
		LogLevel: int320,
	},
	Language: langStr,
}

var protoResp = &RpcResponse{
	EndStreamResults: boolTrue,
	NumPosResults:    uint641,
	TraceResponse: &VtraceResponse{
		TraceFlags: int320,
		Trace: &VtraceTraceRecord{
			Id: []byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
		},
	},
	AckBlessings: boolFalse,
}

func BenchmarkProtoEncodeRequest(b *testing.B) {
	for i := 0; i < b.N; i++ {
		if _, err := proto.Marshal(protoReq); err != nil {
			b.Fatal(err)
		}
	}
}

func BenchmarkProtoDecodeRequest(b *testing.B) {
	bytes, err := proto.Marshal(protoReq)
	if err != nil {
		b.Fatal(err)
	}

	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		response := RpcResponse{}
		opts := proto.UnmarshalOptions{AllowPartial: true}
		if err := opts.Unmarshal(bytes, &response); err != nil {
			b.Fatal(err)
		}
	}
}

func BenchmarkProtoEncodeResponse(b *testing.B) {
	for i := 0; i < b.N; i++ {
		if _, err := proto.Marshal(protoResp); err != nil {
			b.Fatal(err)
		}
	}
}

func BenchmarkProtoDecodeResponse(b *testing.B) {
	bytes, err := proto.Marshal(protoResp)
	if err != nil {
		b.Fatal(err)
	}

	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		response := RpcResponse{}
		if err := proto.Unmarshal(bytes, &response); err != nil {
			b.Fatal(err)
		}
	}
}
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

import (
	"encoding/json"
	"fmt"
	"io"
	"math/rand"
	"runtime"
	"time"

	"v.io/v23/context"
	"v.io/x/lib/cmdline"
	"v.io/x/ref/lib/v23cmd"
	"v.io/x/ref/runtime/internal/rpc/stress"
	"v.io/x/ref/runtime/internal/rpc/stress/internal"
)

var (
	duration time.Duration

	workers        int
	maxChunkCnt    int
	maxPayloadSize int

	outFormat string
)

func init() {
	cmdStressTest.Flags.DurationVar(&duration, "duration", 1*time.Minute, "duration of the test to run")
	cmdStressTest.Flags.IntVar(&workers, "workers", 1, "number of test workers to run")
	cmdStressTest.Flags.IntVar(&maxChunkCnt, "max-chunk-count", 1000, "maximum number


                "}";

        // act
        IndividualEnrollment individualEnrollment = new IndividualEnrollment(json);

        // assert
        assertNotNull(individualEnrollment.getAllocationPolicy());
        assertEquals(expectedAllocationPolicy, individualEnrollment.getAllocationPolicy());
    }

    @Test
    public void constructorWithJsonSetsAllocationPolicyHashed()
    {
        // arrange
        AllocationPolicy expectedAllocationPolicy = AllocationPolicy.HASHED;
        String expectedAllocationPolicyString = "hashed";
        final String json = "{\n" +
                "  \"registrationId\": \"" + VALID_REGISTRATION_ID + "\",\n" +
                "  \"allocationPolicy\": \"" + expectedAllocationPolicyString + "\",\n" +
                "  \"attestation\": {\n" +
                "    \"type\": \"tpm\",\n" +
                "    \"tpm\": {\n" +
                "      \"endorsementKey\": \"" + VALID_ENDORSEMENT_KEY + "\",\n" +
                "      \"storageRootKey\": \"" + VALID_STORAGE_ROOT_KEY + "\"\n" +
                "    }\n" +
                "  },\n" +
                "  \"iotHubHostName\": \"" + VALID_IOTHUB_HOST_NAME + "\",\n" +
                "  \"provisioningStatus\": \"enabled\",\n" +
                "  \"createdDateTimeUtc\": \"" + VALID_DATE_AS_STRING + "\",\n" +
                "  \"lastUpdatedDateTimeUtc\": \"" + VALID_DATE_AS_STRING + "\",\n" +
                "  \"etag\": \"" + VALID_ETAG + "\"\n" +
                "}";

        // act
        IndividualEnrollment individualEnrollment = new IndividualEnrollment(json);

        // assert
        assertNotNull(individualEnrollment.getAllocationPolicy());
        assertEquals(expectedAllocationPolicy, individualEnrollment.getAllocationPolicy());
    }

    /* SRS_INDIVIDUAL_ENROLLMENT_34_066: [This function shall set the iothubs list to the value from the json.] */
    @Test
    public void constructorWithJsonSetsIotHubs()
    {
        // arrange
        final String expectedIotHub1 = "some-iot-hub.azure-devices.net";
        final String expectedIotHub2 = "some-other-iot-hub.azure-devices.net";
        final String json = "{\n" +
                "  \"registrationId\": \"" + VALID_REGISTRATION_ID + "\",\n" +
                "  \"attestation\": {\n" +
                "    \"type\": \"tpm\",\n" +
                "    \"tpm\": {\n" +
                "      \"endorsementKey\": \"" + VALID_ENDORSEMENT_KEY + "\",\n" +
                "      \"storageRootKey\": \"" + VALID_STORAGE_ROOT_KEY + "\"\n" +
                "    }\n" +
                "  },\n" +
                "  \"iotHubHostName\": \"" + VALID_IOTHUB_HOST_NAME + "\",\n" +
                "  \"provisioningStatus\": \"enabled\",\n" +
                "  \"createdDateTimeUtc\": \"" + VALID_DATE_AS_STRING + "\",\n" +
                "  \"lastUpdatedDateTimeUtc\": \"" + VALID_DATE_AS_STRING + "\",\n" +
                "  \"iotHubs\": [\"" + expectedIotHub1 + "\", \"" + expectedIotHub2 + "\"],\n" +
                "  \"etag\": \"" + VALID_ETAG + "\"\n" +
                "}";

        // act
        IndividualEnrollment individualEnrollment = new IndividualEnrollment(json);

        // assert
        assertNotNull(individualEnrollment.getIotHubs());
        assertTrue(individualEnrollment.getIotHubs().contains(expectedIotHub1));
        assertTrue(individualEnrollment.getIotHubs().


 of n elements.
func New(n int) *Ring {
	if n <= 0 {
		return nil
	}
	r := new(Ring)
	p := r
	for i := 1; i < n; i++ {
		p.next = &Ring{prev: p}
		p = p.next
	}
	p.next = r
	r.prev = p
	return r
}

// Link connects ring r with ring s such that r.Next()
// becomes s and returns the original value for r.Next().
// r must not be empty.
//
// If r and s point to the same ring, linking
// them removes the elements between r and s from the ring.
// The removed elements form a subring and the result is a
// reference to that subring (if no elements were removed,
// the result is still the original value for r.Next(),
// and not nil).
//
// If r and s point to different rings, linking
// them creates a single ring with the elements of s inserted
// after r. The result points to the element following the
// last element of s after insertion.
//
func (r *Ring) Link(s *Ring) *Ring {
	n := r.Next()
	if s != nil {
		p := s.Prev()
		// Note: Cannot use multiple assignment because
		// evaluation order of LHS is not specified.
		r.next = s
		s.prev = r
		n.prev = p
		p.next = n
	}
	return n
}

// Unlink removes n % r.Len() elements from the ring r, starting
// at r.Next(). If n % r.Len() == 0, r remains unchanged.
// The result is the removed subring. r must not be empty.
//
func (r *Ring) Unlink(n int) *Ring {
	if n <= 0 {
		return nil
	}
	return r.Link(r.Move(n + 1))
}

// Len computes the number of elements in ring r.
// It executes in time proportional to the number of elements.
//
func (r *Ring) Len() int {
	n := 0
	if r != nil {
		n = 1
		for p := r.Next(); p != r; p = p.next {
			n++
		}
	}
	return n
}

// Do calls function f on each element of the ring, in forward order.
// The behavior of Do is undefined if f changes *r.
func (r *Ring) Do(f func(any)) {
	if r != nil {
		f(r.Value)
		for p := r.Next(); p != r; p = p.next {
			f(p.Value)
		}
	}
}
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build (aix || darwin || dragonfly || freebsd || (!android && linux) || netbsd || openbsd || solaris) && !cgo

package user

import (
	"reflect"
	"strings"
	"testing"
)

var groupTests = []struct {
	in   string
	name string
	gid  string
}{
	{testGroupFile, "nobody", "-2"},
	{testGroupFile, "kmem", "2"},
	{testGroupFile, "notinthefile", ""},
	{testGroupFile, "comment", ""},
	{testGroupFile, "plussign", ""},
	{testGroupFile, "+plussign", ""},
	{testGroupFile, "-minussign", ""},
	{testGroupFile, "minussign", ""},
	{testGroupFile, "emptyid", ""},
	{testGroupFile, "invalidgid", ""},
	{testGroupFile, "indented", "7"},
	{testGroupFile, "# comment", ""},
	{te


Possession (6)
    .mob Toxic Sludge
step
    #requires Contamination
    .goto 469,38.201,40.196
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Corporal Fizzwhistle|r
    .turnin 26265 >>Turn in Dealing with the Fallout
	.target Corporal Fizzwhistle
step
    .goto 469,40.578,28.021
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Engineer Grindspark|r
    .turnin 26205 >>Turn in A Job for the Multi-Bot
	.target Engineer Grindspark
step << Priest cata
    .goto Dun Morogh,33.898,34.782
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_"Doc" Cogspin|r
    .trainer >> Train your class spells
	.target "Doc" Cogspin
step << Mage cata
    .goto Dun Morogh,34.534,35.065
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Bipsi Frostflinger|r
    .trainer >> Train your class spells
	.target Bipsi Frostflinger
step
    .goto 469,39.225,26.552
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk |cRXP_FRIENDLY_Tock Sprysprocket|r
    .turnin 26264 >>Turn in What's Left Behind
	.target Tock Sprysprocket
step
    .goto 469,38.385,33.488
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Captain Tread Sparknozzle|r
    .accept 26316 >>Accept What's Keeping Jessup? << cata
    .accept 26316 >>Accept What's Keeping Kharmarn? << !tbc !wotlk !cata
	.target Captain Tread Sparknozzle
step << Warrior cata
    .goto Dun Morogh,34.274,37.520
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Drill Sergeant Steamcrank|r
    .trainer >> Train your class spells
	.target Drill Sergeant Steamcrank
step << Warrior
    #optional
    .goto Dun Morogh,34.274,37.520
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Drill Sergeant Steamcrank|r
    .accept 26204 >> Accept The Arts of a Warrior
	.target Drill Sergeant Steamcrank
    .itemStat 16,QUALITY,<7
step << Warrior
    #optional
    .isOnQuest 26204
    .goto Dun Morogh,34.53,37.45
    >>|cRXP_WARN_Cast|r |T132337:0|t[Charge] |cRXP_WARN_on the|r |cRXP_ENEMY_Training Dummy|r
    .complete 26204,1 << cata -- Practice Charge (1)
    .complete 26204,2 << mop -- Practice Charge (1)
    .mob Training Dummy
    .itemStat 16,QUALITY,<7
step << Warrior
    #optional
    .isQuestComplete 26204
    .goto Dun Morogh,34.274,37.520
    >>|Tinterface/worldmap/chatbubble_64grey.blp:20|tTalk to |cRXP_FRIENDLY_Drill Sergeant Steamcrank|r
    .turnin 26204 >> Turn in The Arts of a Warrior
	.target Drill Sergeant Stea


("UNUSED_VARIABLE") private var shape: Outline? = null
    @Suppress("UNUSED_VARIABLE") private var generalPath: Path? = null
    @Suppress("UNUSED_VARIABLE") private var brush: Brush? = null
    @Suppress("UNUSED_VARIABLE") private var stroke: Stroke? = null
    @Suppress("UNUSED_VARIABLE") private var clip: Shape? = null
    private var alpha = 1.0f
    private var blendMode = DrawScope.DefaultBlendMode
    private var alphaStack = mutableListOf(1.0f)
    private var blendModeStack = mutableListOf(DrawScope.DefaultBlendMode)

	@Suppress("UNUSED_VARIABLE", "UNUSED_VALUE", "VARIABLE_WITH_REDUNDANT_INITIALIZER", "UNNECESSARY_NOT_NULL_ASSERTION")
private fun _paint0(drawScope : DrawScope) {
var shapeText: Outline?
var generalPathText: Path? = null
var alphaText = 0.0f
var blendModeText = DrawScope.DefaultBlendMode
with(drawScope) {
//
alphaStack.add(0, alpha)
alpha *= 1.0f
blendModeStack.add(0, BlendMode.SrcOver)
blendMode = BlendMode.SrcOver
// _0
alphaStack.add(0, alpha)
alpha *= 1.0f
blendModeStack.add(0, BlendMode.SrcOver)
blendMode = BlendMode.SrcOver
// _0_0
alpha = alphaStack.removeAt(0)
blendMode = blendModeStack.removeAt(0)
alphaStack.add(0, alpha)
alpha *= 1.0f
blendModeStack.add(0, BlendMode.SrcOver)
blendMode = BlendMode.SrcOver
// _0_1
if (generalPath == null) {
   generalPath = Path()
} else {
   generalPath!!.reset()
}
generalPath?.run {
    moveTo(3.0f, 5.0f)
    lineTo(5.0f, 5.0f)
    lineTo(5.0f, 3.0f)
    cubicTo(3.9f, 3.0f, 3.0f, 3.9f, 3.0f, 5.0f)
    close()
    moveTo(3.0f, 13.0f)
    lineTo(5.0f, 13.0f)
    lineTo(5.0f, 11.0f)
    lineTo(3.0f, 11.0f)
    lineTo(3.0f, 13.0f)
    close()
    moveTo(7.0f, 21.0f)
    lineTo(9.0f, 21.0f)
    lineTo(9.0f, 19.0f)
    lineTo(7.0f, 19.0f)
    lineTo(7.0f, 21.0f)
    close()
    moveTo(3.0f, 9.0f)
    lineTo(5.0f, 9.0f)
    lineTo(5.0f, 7.0f)
    lineTo(3.0f, 7.0f)
    lineTo(3.0f, 9.0f)
    close()
    moveTo(13.0f, 3.0f)
    lineTo(11.0f, 3.0f)
    lineTo(11.0f, 5.0f)
    lineTo(13.0f, 5.0f)
    lineTo(13.0f, 3.0f)
    close()
    moveTo(19.0f, 3.0f)
    lineTo(19.0f, 5.0f)
    lineTo(21.0f, 5.0f)
    cubicTo(21.0f, 3.9f, 20.1f, 3.0f, 19.0f, 3.0f)
    close()
    moveTo(5.0f, 21.0f)
    lineTo(5.0f, 19.0f)
    lineTo(3.0f, 19.0f)
    cubicTo(3.0f, 20.1f, 3.9f, 21.0f, 5.0f, 21.0f)
    close()
    moveTo(3.0f, 17.0f)
    lineTo(5.0f, 17.0f)
    lineTo(5.0f, 15.0f)
    lineTo(3.0f, 15.0f)
    lineTo(3.0f, 17.0f)
    close()
    moveTo(9.0f, 3.0f)
    lineTo(7.0f, 3.0f)
    lineTo(7.0f, 5.0f)
    lineTo(9.0f, 5.0f)
    lineTo(9.0f, 3.0f)
    close()
    moveTo(11.0f, 21.0f)
    lineTo(13.0f, 21.0f)
    lineTo(13.0f


     ["SKL"] = 0,
      ["STR"] = 138,
      ["Type"] = "AGI",
    },
    [8] = {
      ["+AGI"] = 14,
      ["+INT"] = 14,
      ["+STR"] = 14,
      ["AD"] = 425,
      ["AGI"] = 244,
      ["AP"] = 0,
      ["ARM"] = 32,
      ["ARMP"] = 21,
      ["CDR"] = 0,
      ["CRIT"] = 144,
      ["DODG"] = 10,
      ["E.AD"] = 481,
      ["E.AGI"] = 256.6,
      ["E.AP"] = 0,
      ["E.ARM"] = 39,
      ["E.ARMP"] = 25.2,
      ["E.CDR"] = 0,
      ["E.CRIT"] = 159.4,
      ["E.DODG"] = 12.8,
      ["E.HEAL"] = 0,
      ["E.HIT"] = 0,
      ["E.HP"] = 250,
      ["E.HPS"] = 731,
      ["E.INT"] = 163,
      ["E.LFS"] = 45,
      ["E.MCRIT"] = 0,
      ["E.MIMU"] = 0,
      ["E.MP"] = 0,
      ["E.MPS"] = 239,
      ["E.MR"] = 10,
      ["E.MRI"] = 0,
      ["E.PIMU"] = 0,
      ["E.SILR"] = 0,
      ["E.SKL"] = 0,
      ["E.STR"] = 160.8,
      ["GS"] = 1211.75,
      ["HEAL"] = 0,
      ["HIT"] = 0,
      ["HP"] = 250,
      ["HPS"] = 535,
      ["ID"] = 54,
      ["INT"] = 149,
      ["LFS"] = 45,
      ["MCRIT"] = 0,
      ["MIMU"] = 0,
      ["MP"] = 0,
      ["MPS"] = 225,
      ["MR"] = 10,
      ["MRI"] = 0,
      ["Name"] = "Lancer",
      ["NameRank"] = "Lancer8",
      ["PIMU"] = 0,
      ["Rank"] = 8,
      ["serial number"] = 643,
      ["SILR"] = 0,
      ["SKL"] = 0,
      ["STR"] = 158,
      ["Type"] = "AGI",
    },
    [9] = {
      ["+AGI"] = 16,
      ["+INT"] = 16,
      ["+STR"] = 16,
      ["AD"] = 604,
      ["AGI"] = 324,
      ["AP"] = 0,
      ["ARM"] = 32,
      ["ARMP"] = 28,
      ["CDR"] = 0,
      ["CRIT"] = 184,
      ["DODG"] = 40,
      ["E.AD"] = 700,
      ["E.AGI"] = 344.8,
      ["E.AP"] = 0,
      ["E.ARM"] = 32,
      ["E.ARMP"] = 31.2,
      ["E.CDR"] = 0,
      ["E.CRIT"] = 198.4,
      ["E.DODG"] = 48,
      ["E.HEAL"] = 0,
      ["E.HIT"] = 0,
      ["E.HP"] = 250,
      ["E.HPS"] = 535,
      ["E.INT"] = 211.8,
      ["E.LFS"] = 45,
      ["E.MCRIT"] = 0,
      ["E.MIMU"] = 0,
      ["E.MP"] = 0,
      ["E.MPS"] = 225,
      ["E.MR"] = 10,
      ["E.MRI"] = 0,
      ["E.PIMU"] = 0,
      ["E.SILR"] = 0,
      ["E.SKL"] = 0,
      ["E.STR"] = 225.4,
      ["GS"] = 1591.


.3889 4.50725 11.3889 4.13889C11.3889 3.77053 11.2426 3.41726 10.9821 3.1568C10.7216 2.89633 10.3684 2.75 10 2.75C9.63164 2.75 9.27837 2.89633 9.01791 3.1568C8.75744 3.41726 8.61111 3.77053 8.61111 4.13889C8.61111 4.50725 8.75744 4.86051 9.01791 5.12098C9.27837 5.38145 9.63164 5.52778 10 5.52778Z"
                    fill="black" />
            </svg>
        }
        @case ("Measurements") {
            <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path
                    d="M19.5832 5.12222L14.8787 0.418543C14.746 0.285851 14.5885 0.180591 14.4152 0.108777C14.2418 0.0369627 14.056 0 13.8684 0C13.6808 0 13.495 0.0369627 13.3216 0.108777C13.1483 0.180591 12.9908 0.285851 12.8581 0.418543L0.418543 12.8572C0.285851 12.9899 0.180591 13.1474 0.108777 13.3207C0.0369627 13.4941 0 13.6799 0 13.8675C0 14.0551 0.0369627 14.2409 0.108777 14.4143C0.180591 14.5876 0.285851 14.7451 0.418543 14.8778L5.12311 19.5815C5.25577 19.7141 5.41327 19.8194 5.58662 19.8912C5.75997 19.963 5.94576 20 6.1334 20C6.32103 20 6.50683 19.963 6.68018 19.8912C6.85352 19.8194 7.01103 19.7141 7.14369 19.5815L19.5832 7.14279C19.7159 7.01013 19.8212 6.85263 19.893 6.67928C19.9648 6.50594 20.0018 6.32014 20.0018 6.1325C20.0018 5.94487 19.9648 5.75907 19.893 5.58573C19.8212 5.41238 19.7159 5.25488 19.5832 5.12222ZM6.13295 18.5716L1.42928 13.867L4.28648 11.0098L6.63832 13.3626C6.70469 13.4289 6.78347 13.4816 6.87018 13.5175C6.9569 13.5534 7.04983 13.5719 7.14369 13.5719C7.23754 13.5719 7.33048 13.5534 7.41719 13.5175C7.5039 13.4816 7.58269 13.4289 7.64906 13.3626C7.71542 13.2962 7.76807 13.2174 7.80398 13.1307C7.8399 13.044 7.85839 12.9511 7.85839 12.8572C7.85839 12.7633 7.8399 12.6704 7.80398 12.5837C7.76807 12.497 7.71542 12.4182 7.64906 12.3518L5.29633 10L7.14369 8.15264L9.49552 10.5054C9.62956 10.6394 9.81134 10.7147 10.0009 10.7147C10.1904 10.7147 10.3722 10.6394 10.5063 10.5054C10.6403 10.3713 10.7156 10.1895 10.7156 10C10.7156 9.


// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ZIRCON_SYSTEM_CORE_SVCHOST_INCLUDE_CRASHSVC_CRASHSVC_H_
#define ZIRCON_SYSTEM_CORE_SVCHOST_INCLUDE_CRASHSVC_CRASHSVC_H_

#include <lib/zx/job.h>
#include <threads.h>
#include <zircon/types.h>

// Initialize the crash service, this supersedes the standalone service with
// the same name that lived in zircon/system/core/crashsvc/crashsvc.cpp
// (/boot/bin/crashsvc) and ad-hoc microservice in devmgr that delegated to
// svchost. See ZX-3199 for details.
//
// The job of this service is to handle exceptions that reached |root_job| and
// delegate the crash analysis to one of two services:
//
// - built-in : using system/ulib/inspector
// - appmgr hosted: via FIDL interface call (fuchsia_crash_Analyzer).
//
// Which one depends if |analyzer_svc| is a valid channel handle, which
// svchost sets depending on "use_system".
//
// The crash service thread will exit when |root_job| is terminated.
//
// On success, returns ZX_OK and fills |thread| with the crash service thread.
// The caller is responsible for either detaching or joining the thread.
zx_status_t start_crashsvc(zx::job root_job, zx_handle_t analyzer_svc, thrd_t* thread);

#endif  // ZIRCON_SYSTEM_CORE_SVCHOST_INCLUDE_CRASHSVC_CRASHSVC_H_


CNCName\u3067\u3042\u308B\u3053\u3068\u304C\u5FC5\u8981\u306A\u5C5E\u6027\u306E\u5024\u304C''{0}''\u3067\u3057\u305F"},

        {BasisLibrary.UNALLOWED_EXTENSION_FUNCTION_ERR,
        "\u30BB\u30AD\u30E5\u30A2\u51E6\u7406\u6A5F\u80FD\u304Ctrue\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u3068\u304D\u3001\u62E1\u5F35\u95A2\u6570''{0}''\u306E\u4F7F\u7528\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002"},

        {BasisLibrary.UNALLOWED_EXTENSION_ELEMENT_ERR,
        "\u30BB\u30AD\u30E5\u30A2\u51E6\u7406\u6A5F\u80FD\u304Ctrue\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u3068\u304D\u3001\u62E1\u5F35\u8981\u7D20''{0}''\u306E\u4F7F\u7528\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002"},
    };
    }

}
/*
 * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 *
 * 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.
 */
/*
 * $Id: Hashtable.java,v 1.2.4.1 2005/09/06 11:05:18 pvedula Exp $
 */

package com.sun.org.apache.xalan.internal.xsltc.runtime;

import java.util.Enumeration;

/**
 * IMPORTANT NOTE:
 * This code was taken from Sun's Java1.1 JDK java.util.HashTable.java
 * All "synchronized" keywords and some methods we do not need have been
 * all been removed.
 */

/**
 * Object that wraps entries in the hash-table
 * @author Morten Jorgensen
 */
class HashtableEntry {
    int hash;
    Object key;
    Object value;
    HashtableEntry next;

    protected Object clone() {
        HashtableEntry entry = new HashtableEntry();
        entry.hash = hash;
        entry.key = key;
        entry.value = value;
        entry.next = (next != null) ? (HashtableEntry)next.clone() : null;
        return entry;
    }
}

/**
 * The main hash-table implementation
 */
public class Hashtable {

    private transient HashtableEntry table[]; // hash-table entries
    private transient int count;              // number of entries
    private int threshold;                    // current size of hash-tabke
    private float loadFactor;                 // load factor

    /**
     * Constructs a new, empty hashtable with the specified initial
     * capacity and the specified load factor.
     */
    public Hashtable(int initialCapacity, float loadFactor) {
        if (initialCapacity <= 0) initialCapacity = 11;
        if (loadFactor <= 0.0) loadFactor = 0.75f;
        this.loadFactor = loadFactor;
        table = new HashtableEntry[initialCapacity];
        threshold = (int)(initialCapacity * loadFactor);
    }

    /**
     * Constructs a new, empty hashta


| _la == vbaParserGLOBAL || _la == vbaParserPRIVATE || _la == vbaParserPUBLIC {
		{
			p.SetState(665)
			p.Visibility()
		}
		{
			p.SetState(666)
			p.Match(vbaParserWS)
		}

	}
	{
		p.SetState(670)
		p.Match(vbaParserDECLARE)
	}
	{
		p.SetState(671)
		p.Match(vbaParserWS)
	}
	p.SetState(674)
	p.GetErrorHandler().Sync(p)
	_la = p.GetTokenStream().LA(1)

	if _la == vbaParserPTRSAFE {
		{
			p.SetState(672)
			p.Match(vbaParserPTRSAFE)
		}
		{
			p.SetState(673)
			p.Match(vbaParserWS)
		}

	}
	p.SetState(681)
	p.GetErrorHandler().Sync(p)

	switch p.GetTokenStream().LA(1) {
	case vbaParserFUNCTION:
		{
			p.SetState(676)
			p.Match(vbaParserFUNCTION)
		}
		p.SetState(678)
		p.GetErrorHandler().Sync(p)
		_la = p.GetTokenStream().LA(1)

		if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<vbaParserT__2)|(1<<vbaParserT__4)|(1<<vbaParserT__5)|(1<<vbaParserT__6)|(1<<vbaParserT__7))) != 0) || _la == vbaParserAMPERSAND {
			{
				p.SetState(677)
				p.TypeHint()
			}

		}

	case vbaParserSUB:
		{
			p.SetState(680)
			p.Match(vbaParserSUB)
		}

	default:
		panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
	}
	{
		p.SetState(683)
		p.Match(vbaParserWS)
	}
	{
		p.SetState(684)
		p.AmbiguousIdentifier()
	}
	p.SetState(686)
	p.GetErrorHandler().Sync(p)
	_la = p.GetTokenStream().LA(1)

	if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<vbaParserT__2)|(1<<vbaParserT__4)|(1<<vbaParserT__5)|(1<<vbaParserT__6)|(1<<vbaParserT__7))) != 0) || _la == vbaParserAMPERSAND {
		{
			p.SetState(685)
			p.TypeHint()
		}

	}
	{
		p.SetState(688)
		p.Match(vbaParserWS)
	}
	{
		p.SetState(689)
		p.Match(vbaParserLIB)
	}
	{
		p.SetState(690)
		p.Match(vbaParserWS)
	}
	{
		p.SetState(691)
		p.Match(vbaParserSTRINGLITERAL)
	}
	p.SetState(696)
	p.GetErrorHandler().Sync(p)

	if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 59, p.GetParserRuleContext()) == 1 {
		{
			p.SetState(692)
			p.Match(vbaParserWS)
		}
		{
			p.SetState(693)
			p.Match(vbaParserALIAS)
		}
		{
			p.SetState(694)
			p.Match(vbaParserWS)
		}
		{
			p.SetState(695)
			p.Match(vbaParserSTRINGLITERAL)
		}

	}
	p.SetState(702)
	p.GetErrorHandler().Sync(p)

	if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 61, p.GetParserRuleContext()) == 1 {
		p.SetState(699)
		p.GetErrorHandler().Sync(p)
		_la = p.GetTokenStream().LA(1)

		if _la == vbaParserWS {


llmOutput.text = "Generating Embeddings for each Document...";

        Ollama.InitRAG(embedModel);
        foreach (var asset in documents)
            await Ollama.AppendData(asset.text);

        llmOutput.text = "RAG is ready!";
        userInput.interactable = true;

        // Ollama.DebugContext();
    }

    /// Called by TMP_InputField
    public async void OnSubmit(string input)
    {
        llmOutput.text = "processing...";
        var response = await Ollama.Ask(askModel, input);
        llmOutput.text = response;
    }
}


261人（内有处级干部10人、科以下干部242人、工人9人），其中：原材料公司115人（内有处级干部4人、科以下干部107人、工人4人），机电公司97人（内有处级干部3人，科以下干部91人、工人3人），储运公司36人，（内有处级干部2人、科以下干部33人、工人1人），生产资料服务公司13人（内有处级干部1人、科以下干部11人，工人1人）。“文革”中被迫害致死的处级干部、机电公司经理李云、原材料公司干部马春生等2人外，在物资局大改组中，也按局机关的安排，安排人员去向，有的调区革委安排，有的到武鸣学习班，有的调区直有关厅局，有的到“五·七”干校，有的参加宣传队到基层，有的下放地、市、县。有的留在局留守处工作。在处级干部中，调区革委安排工作的有刘东潮、隋正，调区储区储备局工作的有秦存富，到“五·七”干校学习的有王化纯、明韬，下放地、市、县的有李兴武、徐松林，留局留守处工作的有乔长荣、悦子文等。

   16.1971年，根据区革委批示，以物资组为基础，成立物资供应公司，公司领导是孙荣才、刘东湖、朱维松等。

   1973年4月，区革委决定恢复区物资局建制。第一任领导是局长薛健，副局长刘东潮（1973年8月任命为局长）、朱维松。1973年8月，从区机械局调该局供销组组长李信成来任副局长，提升徐世民任副局长；1974年4月，恢复黄国楠副局长职务，并从区储备局调秦存富任副局长。1976从区计委调援外办公室主任郭绍先来任副局长。

   恢复物资局建制后，于1974年10月相继恢复金属材料公司、化工建材公司、机电设备公司。

   17.在区党委的部署下，1974年区物资局组织批林批孔运动。从元月份组织干部到区党委大院、区党校，参观批判的大字报开始，然


for-T" class="impl">Source§
impl<T, U> TryFrom<U> for T
where
    U: Into<T>,

Source§
type Error = Infallible

The type returned in the event of a conversion error.

Source§
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

Source§
impl<T, U> TryInto<U> for T
w


*="theme-light"].light\:bg-red-500, [class*="theme-light"] .light\:bg-red-500 {
  --bg-opacity: 1 !important;
  background-color: #F05252 !important;
  background-color: rgba(240, 82, 82, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-red-600, [class*="theme-dark"] .dark\:bg-red-600, [class*="theme-light"].light\:bg-red-600, [class*="theme-light"] .light\:bg-red-600 {
  --bg-opacity: 1 !important;
  background-color: #E02424 !important;
  background-color: rgba(224, 36, 36, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-red-700, [class*="theme-dark"] .dark\:bg-red-700, [class*="theme-light"].light\:bg-red-700, [class*="theme-light"] .light\:bg-red-700 {
  --bg-opacity: 1 !important;
  background-color: #C81E1E !important;
  background-color: rgba(200, 30, 30, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-red-800, [class*="theme-dark"] .dark\:bg-red-800, [class*="theme-light"].light\:bg-red-800, [class*="theme-light"] .light\:bg-red-800 {
  --bg-opacity: 1 !important;
  background-color: #9B1C1C !important;
  background-color: rgba(155, 28, 28, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-red-900, [class*="theme-dark"] .dark\:bg-red-900, [class*="theme-light"].light\:bg-red-900, [class*="theme-light"] .light\:bg-red-900 {
  --bg-opacity: 1 !important;
  background-color: #771D1D !important;
  background-color: rgba(119, 29, 29, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-red, [class*="theme-dark"] .dark\:bg-red, [class*="theme-light"].light\:bg-red, [class*="theme-light"] .light\:bg-red {
  --bg-opacity: 1 !important;
  background-color: #F05252 !important;
  background-color: rgba(240, 82, 82, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-orange-50, [class*="theme-dark"] .dark\:bg-orange-50, [class*="theme-light"].light\:bg-orange-50, [class*="theme-light"] .light\:bg-orange-50 {
  --bg-opacity: 1 !important;
  background-color: #FFF8F1 !important;
  background-color: rgba(255, 248, 241, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-orange-100, [class*="theme-dark"] .dark\:bg-orange-100, [class*="theme-light"].light\:bg-orange-100, [class*="theme-light"] .light\:bg-orange-100 {
  --bg-opacity: 1 !important;
  background-color: #FEECDC !important;
  background-color: rgba(254, 236, 220, var(--bg-opacity)) !important;
}

[class*="theme-dark"].dark\:bg-orange-200, [class*="theme-dark"] .dark\:bg-orange-200, [class*="theme-light"].light\:bg-orange-200, [class*="theme