this annotation can only be applied to methods")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])]),s("p",[t._v("Multiple values can be added using array notation, e.g. "),s("code",[t._v("@Target({ElementType.FIELD, ElementType.TYPE})")])]),t._v(" "),s("h3",{attrs:{id:"available-values"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#available-values"}},[t._v("#")]),t._v(" Available Values")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("ElementType")]),t._v(" "),s("th",[t._v("target")]),t._v(" "),s("th",[t._v("example usage on target element")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("ANNOTATION_TYPE")]),t._v(" "),s("td",[t._v("annotation types")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation")])])])]),t._v(" "),s("tr",[s("td",[t._v("CONSTRUCTOR")]),t._v(" "),s("td",[t._v("constructors")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@MyAnnotation
public MyClass() {}")])])])]),t._v(" "),s("tr",[s("td",[t._v("FIELD")]),t._v(" "),s("td",[t._v("fields, enum constants")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@XmlAttribute
private int count;")])])])]),t._v(" "),s("tr",[s("td",[t._v("LOCAL_VARIABLE")]),t._v(" "),s("td",[t._v("variable declarations inside methods")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("for (@LoopVariable int i = 0; i < 100; i++) {
 @Unused
 String resultVariable;
}")])])])]),t._v(" "),s("tr",[s("td",[t._v("PACKAGE")]),t._v(" "),s("td",[t._v("package (in "),s("code",[t._v("package-info.java")]),t._v(")")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@Deprecated
package very.old;")])])])]),t._v(" "),s("tr",[s("td",[t._v("METHOD")]),t._v(" "),s("td",[t._v("methods")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@XmlElement
public int getCount() {...}")])])])]),t._v(" "),s("tr",[s("td",[t._v("PARAMETER")]),t._v(" "),s("td",[t._v("method/constructor parameters")]),t._v(" "),s("td",[s("pre",[s("code",[t._v('public Rectangle(
 @NamedArg("width") double width,
 @NamedArg("height") double height) {
 ...
}')])])])]),t._v(" "),s("tr",[s("td",[t._v("TYPE")]),t._v(" "),s("td",[t._v("classes, interfaces, enums")]),t._v(" "),s("td",[s("pre",[s("code",[t._v("@XmlRootElement
public class Report {}")])])])])])]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("ElementType")]),t._v(" "),


e.REF) = AstExpr.INSTANCE_OF(this, that)

	class TERNARY(val cond: AstExpr, val etrue: AstExpr, val efalse: AstExpr, val types: AstTypes) : AstExpr() {
		override val type: AstType = types.unify(etrue.type, efalse.type)
	}
}

val List<AstExpr.Box>.exprs: List<AstExpr> get() = this.map { it.value }
val List<AstExpr>.boxes: List<AstExpr.Box> get() = this.map { it.box }
val List<AstExpr.Box>.unbox: List<AstExpr> get() = this.map { it.value }

fun AstExpr.LOCAL.setTo(value: AstExpr): AstStm.SET_LOCAL {
	val stm = AstStm.SET_LOCAL(this, value.castTo(this.type), dummy = true)
	this.local.write(stm)
	return stm
}

fun AstLocal.setTo(value: AstExpr): AstStm.SET_LOCAL = AstExpr.LOCAL(this).setTo(value)

fun stms(vararg stms: AstStm) = stms.toList().stm()

fun List<AstStm>.stm() = when (this.size) {
	0 -> AstStm.NOP("empty stm")
	1 -> this[0]
	else -> AstStm.STMS(this, dummy = true)
//else -> AstStm.STMS(stms.flatMap { if (it is AstStm.STMS) it.stms.map { it.value } else listOf(it) })
}

fun AstExpr.Box.isPure(): Boolean = this.value.isPure()

fun AstExpr.isPure(): Boolean = when (this) {
	is AstExpr.ARRAY_ACCESS -> this.array.isPure() && this.index.isPure() // Can cause null pointer/out of bounds
	is AstExpr.ARRAY_LENGTH -> true // Can cause null pointer
	is AstExpr.BINOP -> this.left.isPure() && this.right.isPure()
	is AstExpr.UNOP -> this.right.isPure()
	is AstExpr.CALL_BASE -> false // we would have to check call pureness
	is AstExpr.BaseCast -> this.subject.isPure()
	is AstExpr.FIELD_INSTANCE_ACCESS -> this.expr.isPure()
	is AstExpr.INSTANCE_OF -> this.expr.isPure()
	is AstExpr.TERNARY -> this.cond.isPure() && this.etrue.isPure() && this.efalse.isPure()
	is AstExpr.CAUGHT_EXCEPTION -> true
	is AstExpr.FIELD_STATIC_ACCESS -> true
	is AstExpr.LITERAL -> true
	is AstExpr.LOCAL -> true
	is AstExpr.TYPED_LOCAL -> true
	is AstExpr.NEW_WITH_CONSTRUCTOR -> false
	is AstExpr.NEW_ARRAY -> true
	is AstExpr.INTARRAY_LITERAL -> true
	is AstExpr.OBJECTARRAY_LITERAL -> true
	is AstExpr.PARAM -> true
	is AstExpr.THIS -> true
	else -> {
		println("Warning: Unhandled expr $this to check pureness")
		false
	}
}

fun AstExpr.castTo(type: AstType): AstExpr = this.castToInternal(type)
fun AstExpr.castToUnoptimized(type: AstType): AstExpr = AstExpr.CAST(this, type, dummy = true)
fun AstExpr.checkedCastTo(type: AstType): AstExpr = AstExpr.CHECK_CAST(this, type, dummy = true)

fun AstExpr.withoutCast(): AstExpr = when (this) {
	is AstExpr.CAST -> this.subject.value
	else -> this
}

fun AstExpr.withoutCasts(): AstExpr = when (this) {
	is AstExpr.CAST -> this.subject.value.withoutCasts()
	else -> this
}

fun AstExpr.castToInternal(type: AstType): AstExpr {
	val expr = this
	if (expr.type == type) return expr
	val exprType = expr.type.simplify()
	val to = type.simplify()
	if (expr


f27474 !important;
}
.swal2-input:focus,
.swal2-file:focus,
.swal2-textarea:focus {
  border: 1px solid #b4dbed;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);
}
.swal2-input::-moz-placeholder, .swal2-file::-moz-placeholder, .swal2-textarea::-moz-placeholder {
  color: #ccc;
}
.swal2-input:-ms-input-placeholder, .swal2-file:-ms-input-placeholder, .swal2-textarea:-ms-input-placeholder {
  color: #ccc;
}
.swal2-input::placeholder,
.swal2-file::placeholder,
.swal2-textarea::placeholder {
  color: #ccc;
}

.swal2-range {
  margin: 1em 2em 3px;
  background: #fff;
}
.swal2-range input {
  width: 80%;
}
.swal2-range output {
  width: 20%;
  color: inherit;
  font-weight: 600;
  text-align: center;
}
.swal2-range input,
.swal2-range output {
  height: 2.625em;
  padding: 0;
  font-size: 1.125em;
  line-height: 2.625em;
}

.swal2-input {
  height: 2.625em;
  padding: 0 0.75em;
}

.swal2-file {
  width: 75%;
  margin-right: auto;
  margin-left: auto;
  background: inherit;
  font-size: 1.125em;
}

.swal2-textarea {
  height: 6.75em;
  padding: 0.75em;
}

.swal2-select {
  min-width: 50%;
  max-width: 100%;
  padding: 0.375em 0.625em;
  background: inherit;
  color: inherit;
  font-size: 1.125em;
}

.swal2-radio,
.swal2-checkbox {
  align-items: center;
  justify-content: center;
  background: #fff;
  color: inherit;
}
.swal2-radio label,
.swal2-checkbox label {
  margin: 0 0.6em;
  font-size: 1.125em;
}
.swal2-radio input,
.swal2-checkbox input {
  flex-shrink: 0;
  margin: 0 0.4em;
}

.swal2-input-label {
  display: flex;
  justify-content: center;
  margin: 1em auto 0;
}

.swal2-validation-message {
  align-items: center;
  justify-content: center;
  margin: 1em 0 0;
  padding: 0.625em;
  overflow: hidden;
  background: #f0f0f0;
  color: #666666;
  font-size: 1em;
  font-weight: 300;
}
.swal2-validation-message::before {
  content: "!";
  display: inline-block;
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  margin: 0 0.625em;
  border-radius: 50%;
  background-color: #f27474;
  color: #fff;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}

.swal2-icon {
  position: relative;
  box-sizing: content-box;
  justify-content: center;
  width: 5em;
  height: 5em;
  margin: 2.5em auto 0.6em;
  border: 0.


.215-.735.486 0 .832.102 1.607.229.08.003.18-.077.18-.155 0-.223-.91-1.65-1.115-1.728a1.562 1.562 0 00-.42-.102c-1.011 0-1.351.46-2.205.942l-.024-.024c.188-1.287.641-2.504.641-3.826C18.877 9.791 17.835 9 15.922 9zm.139 1.516c.5 0 .539.363.539.783 0 .385-.072.773-.15 1.154a950.854 950.854 0 00-.757 3.66c-.06.276-.362.215-.6.215-1.041 0-1.335-1.136-1.335-1.99 0-1.283.49-2.982 1.685-3.639.188-.109.404-.183.618-.183z"/></svg>';
  static const String glide_g =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path fill="currentColor" d="M16.035 3C10.19 3 7 8.773 7 13.074c0 4.464 2.837 6.938 7.27 6.938.609 0 .558-.05.558.193-.858 6.546-4.611 6.76-4.611 4.805 0-1.991 2.75-2.486 2.775-2.608C12.976 21.782 10.604 21 10 21c-1.721.005-3 2.108-3 3.535C7 27.171 8.54 29 11.217 29c3.93 0 6.804-3.952 7.687-7.385.767-3.072.57-3.212 1-3.431 1.635-.823 2.921-.612 4.764-.612.904 0 1.548.189 2.99.428.147 0 .34-.147.34-.295.001-.406-1.617-3.365-1.998-3.512-.178-.07-.588-.193-.781-.193-1.884 0-3.237.384-4.826 1.283l-.045-.045C20.704 12.836 22 10.285 22 7.822 22 4.192 19.6 3 16.035 3zm.254 2.828c.945 0 1.477.39 1.477 1.172-.005.726-.138 1.446-.286 2.152-.472 2.27-1.404 4.838-1.87 7.108-.118.518-.676.394-1.118.394-1.945 0-2.492-2.122-2.492-3.71 0-2.388.919-5.55 3.143-6.774.355-.208.75-.342 1.146-.342z"/></svg>';
  static const String globe =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path fill="currentColor" d="M16 4C9.383 4 4 9.383 4 16s5.383 12 12 12 12-5.383 12-12S22.617 4 16 4zm0 2a9.98 9.98 0 015.344 1.563l-.813.093.188 2-1.063-.469-.875.75.157 2.063 2.156-.688 2.687.876-.687 1.25-1.625-1-1.75.25L18 13.967l-.969 3 1.938 1.595s1.988-.344 2.093-.344c.106 0 .844 1.812.844 1.812l-1.593 5c-1


	t.RLock()

	t.lookup(ssid, &subs, t.root, filter)

	if contractNode, ok := t.root.children[ssid[0]]; ok {
		if shareNode, ok := contractNode.children[share]; ok {
			t.randomByGroup(ssid[1:], &subs, shareNode, filter)
		}
	}

	t.RUnlock()
	return
}

func (t *Trie) lookupEmitter(query Ssid, subs *Subscribers, node *node, filter func(s Subscriber) bool) {
	// Add subscribers from the current branch
	subs.AddRange(node.subs, filter)

	// If we're done, stop
	if len(query) == 0 {
		return
	}

	// Go through the exact match branch
	if n, ok := node.children[query[0]]; ok {
		t.lookupEmitter(query[1:], subs, n, filter)
	}

	// Go through wildcard match branch
	if n, ok := node.children[wildcard]; ok {
		t.lookupEmitter(query[1:], subs, n, filter)
	}
}

func (t *Trie) lookupMqtt(query Ssid, subs *Subscribers, node *node, filter func(s Subscriber) bool) {
	// If we're done, stop
	if len(query) == 0 {
		// Add subscribers from the current branch
		subs.AddRange(node.subs, filter)
		return
	}

	// Go through the exact match branch
	if n, ok := node.children[query[0]]; ok {
		t.lookupMqtt(query[1:], subs, n, filter)
	}

	// Go through wildcard match branch
	if n, ok := node.children[wildcard]; ok {
		t.lookupMqtt(query[1:], subs, n, filter)
	}

	// Add subscribers from multi-wildcard branch
	if n, ok := node.children[multiWildcard]; ok {
		subs.AddRange(n.subs, filter)
	}
}

// Reusable pool of subscriber groups
var temp = &sync.Pool{
	New: func() interface{} {
		x := time.Now().UnixNano()
		return &tempState{
			list: newSubscribers(),
			rand: uint32((x >> 32) ^ x),
		}
	},
}

type tempState struct {
	list Subscribers
	rand uint32
}

// RandomByGroup adds a random subscribers for shared subscriptions, by share group
func (t *Trie) randomByGroup(query Ssid, subs *Subscribers, shareNode *node, filter func(s Subscriber) bool) {
	tmp := temp.Get().(*tempState)
	defer temp.Put(tmp)

	// Select a random subscriber from each share group (child of the share node)
	for _, n := range shareNode.children {
		tmp.list.Reset() // recycle
		t.lookup(query, &tmp.list, n, filter)
		if tmp.list.Size() == 0 {
			continue
		}

		// Generate a random number using xorshift
		x := tmp.rand
		x ^= x << 13
		x ^= x >> 17
		x ^= x << 5
		tmp.rand = x

		// Select a random element from the list and add it
		subs.AddUnique(tmp.list.Random(x))

	}
	return
}
/**********************************************************************************
* Copyright (c) 2009-2019 Misakai Ltd.
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Affero General Public License as published by the  Free Software
* Foundation, either version 3 of the License, or(at your option) any later version.
*
* This program is distributed  in the hope that it  will be useful, but WITHOUT ANY
* WARRANTY;  without even  the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE.  See the GNU Affero General Public License  for  more details.
*
* You should have  received a copy  of the  GNU Affero General Public License along
* with this program. If not


x;
    /* Adjust to align with the bottom */
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    /* Underline width */
    height: 2px;
    background-color: #ba005c;
    border-radius: 2px;
  }mat-card.posts-card {
  margin-top: 20px;
  margin-bottom: 40px;
}

.posts-card {
  width: 100%;
  max-width: 700px;
}

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  padding: 10px;
}

/* .back-button {
  position: absolute;
  top: 10px;
  left: 10px;
} */

mat-card-title, mat-card-subtitle{
  cursor: pointer;
}

.profile-header-image {
  background-size: cover;
  cursor: pointer;
}

.card-content {
  padding: 7px;
  margin: 10px;
  font-size: 18px;
}

/* Image Slider Styles */
.image-slider-container {
  width: 100%;
  margin-bottom: 16px;
  position: relative;
}

.image-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
}

.slider-images {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.slider-image {
  width: 100%;
  height: auto;
  object-fit: contain;
  max-height: 400px;
  display: block;
  border-radius: 8px;
  transition: opacity 0.5s ease;
}

/* Mobile optimization for image height */
@media (max-width: 600px) {
  .slider-image {
    max-height: 250px;
  }
}

/* Navigation controls */
.slider-controls {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  z-index: 10;
  /* padding: 0 10px; */
}

.slider-nav-button {
  width: 40px;
  height: 40px;
  min-width: unset;
  margin: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.slider-nav-button:hover {
  opacity: 1;
}

.slider-nav-button mat-icon {
  font-size: 18px;
  height: 18px;
  width: 18px;
  line-height: 18px;
}

/* Indicator dots */
.slider-indicators {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.indicator-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.indicator-dot.active {
  background-color: white;
  transform: scale(1.2);
}

.action-buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  box-sizing: border-box;
  justify-content: space-evenly;
  padding: 20px;
  margin: 10px;
}

.menu-button {
  margin-left: auto;
}

.recipe-post-comments-


otation, 0, len(tes.TimeEvent))
	for _, te := range tes.TimeEvent {
		if te == nil || te.Value == nil {
			continue
		}
		tann, ok := te.Value.(*tracepb.Span_TimeEvent_Annotation_)
		if !ok || tann == nil {
			continue
		}
		me := tann.Annotation
		var ocann trace.Annotation
		// TODO: (@odeke-em) file an issue with OpenCensus-Go to ask why
		// they have these attributes as int64 yet the proto definitions
		// are uint64, this could be a potential loss of precision particularly
		// in very high traffic systems.
		ocann.Time = timestampToTime(te.Time)
		ocann.Message = me.Description.GetValue()
		ocann.Attributes = protoSpanAttributesToOCAttributes(me.Attributes)
		ocanns = append(ocanns, ocann)
	}

	// For the purposes of rigorous equality during comparisons and tests,
	// the absence of annotations should return nil instead of []
	if len(ocanns) == 0 {
		return nil
	}
	return ocanns
}

func protoSpanAttributesToOCAttributes(sa *tracepb.Span_Attributes) map[string]interface{} {
	if sa == nil || len(sa.AttributeMap) == 0 {
		return nil
	}

	amap := make(map[string]interface{})
	for pkey, pattr := range sa.AttributeMap {
		var value interface{}

		if pattr != nil && pattr.Value != nil {
			switch typ := pattr.Value.(type) {
			case *tracepb.AttributeValue_BoolValue:
				value = typ.BoolValue

			case *tracepb.AttributeValue_DoubleValue:
				value = typ.DoubleValue

			case *tracepb.AttributeValue_IntValue:
				value = typ.IntValue

			case *tracepb.AttributeValue_StringValue:
				value = typ.StringValue.GetValue()
			}
		}

		amap[pkey] = value
	}

	// For the purposes of rigorous equality during comparisons and
	// tests, the absence of attributes should return nil instead of []
	if len(amap) == 0 {
		return nil
	}
	return amap
}

func protoMessageEventTypeToOCEventType(st tracepb.Span_TimeEvent_MessageEvent_Type) trace.MessageEventType {
	switch st {
	case tracepb.Span_TimeEvent_MessageEvent_SENT:
		return trace.MessageEventTypeSent
	case tracepb.Span_TimeEvent_MessageEvent_RECEIVED:
		return trace.MessageEventTypeRecv
	default:
		return trace.MessageEventTypeUnspecified
	}
}

func protoSpanKindToOCSpanKind(kind tracepb.Span_SpanKind) int {
	switch kind {
	case tracepb.Span_CLIENT:
		return trace.SpanKindClient
	case tracepb.Span_SERVER:
		return trace.SpanKindServer
	default:
		return trace.SpanKindUnspecified
	}
}

// Translating a variable that states if the parent and the current span are in the same process
// to a variable that indicates whether the current span and parent are in different process.
func protoSameProcessAsParentToOCHasRemoteParent(sameProcessAsParent *wrappers.BoolValue) bool {
	if sameProcessAsParent == nil {
		return false
	}
	return !sameProcessAsParent.Value
}
// Copyright 2019, OpenCensus Authors
//
// 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
//


QABAAA=" alt="" data-original="https://akamai.sscdn.co/uploadfile/cifraclub/avatar/7/9/45timbhl427.jpg" width="45" height="45">
 Gabrielle  Revisão <time class="js-contrib-time" datetime="2018-11-09T00:00:00-02:00"></time>

 Emerson  Revisão <time class="js-contrib-time" datetime="2018-04-01T00:00:00-03:00"></time>

 João  Revisão <time class="js-contrib-time" datetime="2018-02-27T00:00:00-03:00"></time>

 flavia  Revisão <time class="js-contrib-time" datetime="2018-02-23T00:00:00-03:00"></time>

 marcelia  Revisão <time class="js-contrib-time" datetime="2017-05-03T00:00:00-03:00"></time>

 <a href="/membros/6177738/" data-mct-action="Click Link Para Perfil do Contribuidor" data-


,0%,0%,.1));
    background-image:    -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,0%,.1));
    background-image:     -ms-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,0%,.1));
    background-image:      -o-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,0%,.1));
    background-image:         linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,0%,.1));
    background-image: url('../../imgs/eraser.png');
    border: none;
    border-radius: .5em;
    box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.2),
                inset 0 2px 0 hsla(0,0%,100%,.1),
                inset 0 1.2em 0 hsla(0,0%,100%,0.1),
                inset 0 -.2em 0 hsla(0,0%,100%,.1),
                inset 0 -.25em 0 hsla(0,0%,0%,.25),
                0 .25em .25em hsla(0,0%,0%,.05);
    color: #444;
    cursor: pointer;
    display: inline-block;
    font-family: sans-serif;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 .5em 1em;
    padding: .5em 1.5em .75em;
    position: relative;
    text-decoration: none;
    text-shadow: 0 1px 1px hsla(0,0%,100%,.25);
    vertical-align: middle;
}
.button:hover {
    outline: none;
}
.button:hover,
.button:focus {
    box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.2),
                inset 0 2px 0 hsla(0,0%,100%,.1),
                inset 0 1.2em 0 hsla(0,0%,100%,.1),
                inset 0 -.2em 0 hsla(0,0%,100%,.1),
                inset 0 -.25em 0 hsla(0,0%,0%,.25),
                inset 0 0 0 3em hsla(0,0%,100%,.2),
                0 .25em .25em hsla(0,0%,0%,.05);
}
.button:active {
    box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.2),
                inset 0 2px 0 hsla(0,0%,100%,.1),
                inset 0 1.2em 0 hsla(0,0%,100%,.1),
                inset 0 0 0 3em hsla(0,0%,100%,.2),
                inset 0 .25em .5em hsla(0,0%,0%,.05),
                0 -1px 1px hsla(0,0%,0%,.1),
                0 1px 1px hsla(0,0%,100%,.25);
    margin-top: .25em;
    outline: none;
    padding-bottom: .5em;
}

.medium {
    font-size: 2em;
}

.regular {
    border-radius: .5em;
}

.red {
    background-color: #E12523;
}

.lightText {
    box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.25),
                inset 0 2px 0 hsla(0,0%,100%,.1),
                inset 0 1.2em 0 hsla(0,0%,100%,.05),
                inset 0 -.2em 0 hsla(0,0%,100%,.1),
                inset 0 -.25em 0 hsla(0,0%,0%,.5),
                0 .25em .25em hsla(0,0


ст в зону ниже, используя клавиатуру (Ctrl/Cmd+V) и нажмите кнопку \"OK\".","securityMsg":"Настройки безопасности вашего браузера не разрешают редактору напрямую обращаться к буферу обмена. Вы должны вставить текст снова в это окно.","title":"Вставить"},"contextmenu":{"options":"Параметры контекстного меню"},"button":{"selectedLabel":"%1 (Выбрано)"},"toolbar":{"toolbarCollapse":"Свернуть панель инструментов","toolbarExpand":"Развернуть панель инструментов","toolbarGroups":{"document":"Документ","clipboard":"Буфер обмена / Отмена действий","editing":"Корректировка","forms":"Формы","basicstyles":"Простые стили","paragraph":"Абзац","links":"Ссылки","insert":"Вставка","styles":"Стили","colors":"Цвета","tools":"Инструменты"},"toolbars":"Панели инструментов редактора"},"elementspath":{"eleLabel":"Путь элементов","eleTitle":"Элемент %1"},"format":{"label":"Форматирование","panelTitle":"Форматирование","tag_address":"Адрес","tag_div":"Обычное (div)","tag_h1":"Заголовок 1","tag_h2":"Заголовок 2","tag_h3":"Заголовок 3","tag_h4":"Заголовок 4","tag_h5":"Заголовок 5","tag_h6":"Заголовок 6","tag_p":"Обычное","tag_pre":"Моноширинное"},"horizontalrule":{"toolbar":"Вставить горизонтальную линию"},"image":{"alertUrl":"Пожалуйста, введите ссылку на изображение","alt":"Альтернативный текст","border":"Граница","btnUpload":"Загрузить на сервер","button2Img":"Вы желаете преобразовать это изображение-кнопку в обычное изображение?","hSpace":"Гориз. отступ","img2Button":"Вы желаете преобразовать это обычное изображение в изображение-кнопку?","infoTab":"Данные об изображении","linkTab":"Ссылка","lockRatio":"Сохранять пропорции","menu":"Свойства изображения","resetSize":"Вернуть обычные размеры","title":"Свойства изображения","titleButton":"Свойства изображения-кнопки","upload":"Загрузить","urlMissing":"Не указана ссылка на изображение.","vSpace":"Вертик. отступ","validateBorder":"Размер границ должен быть задан числом.","validateHSpace":"Горизонтальный отступ должен быть задан числом.","validateVSpace":"Вертикальный отступ должен быть задан числом."},"indent":{"indent":"Увеличить отступ","outdent":"Уменьшить отступ"},"fakeobjects":{"anchor":"Якорь","flash":"Flash анимация","hiddenfield":"Скрытое поле","iframe":"iFrame","unknown":"Неизвестный объект"},"link":{"acccessKey":"Клавиша доступа","advanced":"Дополнительно","advisoryContentType":"Тип содержимого","adv


CAL_VARIABLE),
      plugin.ElementKind.LOCAL_VARIABLE,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.METHOD),
      plugin.ElementKind.METHOD,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.PARAMETER),
      plugin.ElementKind.PARAMETER,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.SETTER),
      plugin.ElementKind.SETTER,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.TOP_LEVEL_VARIABLE),
      plugin.ElementKind.TOP_LEVEL_VARIABLE,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.TYPE_ALIAS),
      plugin.ElementKind.TYPE_ALIAS,
    );
    expect(
      converter.convertElementKind(analyzer.ElementKind.TYPE_PARAMETER),
      plugin.ElementKind.TYPE_PARAMETER,
    );
  }

  void test_convertErrorSeverity() {
    for (var severity in analyzer.DiagnosticSeverity.values) {
      if (severity != analyzer.DiagnosticSeverity.NONE) {
        expect(
          converter.convertErrorSeverity(severity),
          isNotNull,
          reason: severity.name,
        );
      }
    }
  }

  void test_convertErrorType() {
    for (var type in analyzer.DiagnosticType.values) {
      expect(converter.convertErrorType(type), isNotNull, reason: type.name);
    }
  }
}
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:analyzer/utilities/package_config_file_builder.dart';
import 'package:analyzer_plugin/utilities/completion/completion_core.dart';
import 'package:analyzer_plugin/utilities/completion/inherited_reference_contributor.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';

import 'completion_contributor_util.dart';

void main() {
  defineReflectiveSuite(() {
    defineReflectiveTests(InheritedReferenceContributorTest);
  });
}

@reflectiveTest
class InheritedReferenceContributorTest extends DartCompletionContributorTest {
  @override
  bool get isNullExpectedReturnTypeConsideredDynamic => false;

  @override
  CompletionContributor createContributor() {
    return InheritedReferenceContributor();
  }

  @override
  void setUp() {
    super.setUp();
    writeTestPackageConfig(config: PackageConfigFileBuilder(), meta: true);
  }

  /// Sanity check. Permutations tested in local_ref_contributor.
  Future<void> test_ArgDefaults_inherited_method_with_required_named() async {
    resolveSource('/home/test/lib/b.dart', '''
import 'package:meta/meta.dart';

lib libB;
class A {
   bool foo(int bar, {bool boo, @required int baz}) => false;
}''');
    addTestSource('''
import 'b.dart';
class B extends A {
  b() => f^
}
''');
    await computeSuggestions();

    assertSuggestMethod(
      'foo',
      'A',
      'bool',
      defaultArgListString: 'bar, baz: baz',
    );
  }

  Future<void> test_AwaitExpression_inherited() async {
    // SimpleIdentifier  AwaitExpression  ExpressionStatement
    resolveSource('/home/test/lib/b.dart', '''
lib libB;
class A {
  Future y() async {return 0;}
}''');
    addTestSource('''
import 'b.dart';
class B extends A {
  Future a() async {return 0;}
  foo() async {await ^


_table =
    object
      method find : 'a -> 'b
      method add : 'a -> 'b -> unit
    end;;

class type ['a, 'b] hash_table =
  object method add : 'a -> 'b -> unit method find : 'a -> 'b end

A simple implementation, which is quite reasonable for small hash tables is
to use an association list:

 class ['a, 'b] small_hashtbl : ['a, 'b] hash_table =
    object
      val mutable table = []
      method find key = List.assoc key table
      method add key valeur = table <- (key, valeur) :: table
    end;;

class ['a, 'b] small_hashtbl : ['a, 'b] hash_table

A better implementation, and one that scales up better, is to use a
true hash table… whose elements are small hash tables!

 class ['a, 'b] hashtbl size : ['a, 'b] hash_table =
    object (self)
      val table = Array.init size (fun i -> new small_hashtbl)
      method private hash key =
        (Hashtbl.hash key) mod (Array.length table)
      method find key = table.(self#hash key) # find key
      method add key = table.(self#hash key) # add key
    end;;

class ['a, 'b] hashtbl : int -> ['a, 'b] hash_table

6.2.3  Sets

Implementing sets leads to another difficulty. Indeed, the method
union needs to be able to access the internal representation of
another object of the same class.

This is another instance of friend functions as seen in section
3.17. Indeed, this is the same mechanism used in the module
Set in the absence of objects.

In the object-oriented version of sets, we only need to add an additional
method tag to return the representation of a set. Since sets are
parametric in the type of elements, the method tag has a parametric type
'a tag, concrete within
the module definition but abstract in its signature.
From outside, it will then be guaranteed that two objects with a method tag
of the same type will share the same representation.

 module type SET =
    sig
      type 'a tag
      class ['a] c :
        object ('b)
          method is_empty : bool
          method mem : 'a -> bool
          method add : 'a -> 'b
          method union : 'b -> 'b
          method iter : ('a -> unit) -> unit
          method tag : 'a tag
        end
    end;;

 module Set : SET =
    struct
      let rec merge l1 l2 =
        match l1 with
          [] -> l2
        | h1 :: t1 ->
            match l2 with
              [] -> l1
            | h2 :: t2 ->
                if h1 < h2 then h1 :: merge t


ையாடுகிறது",
    "randomRadio": "சீரற்ற வானொலி",
    "resetToDefaultMsg": "செயலியை மீட்டமைக்கும் வினை முடிந்தது, தயவு செய்து செயலியை மீண்டும் மறுதொடக்கம் செய்யவும்",
    "resetToDefaultDes": "செயலியை மீட்டமைக்க (ஒருமுறை செயலியை மறுதொடக்கம் செய்ய வேண்டும்)",
    "autoOpenPlayerDes": "பாடல் தேர்ந்தெடுக்கும் போது பாடல் இயலி தானாக முழு திரையில் திறக்க அ மூடிக்கொள்ளும் செயல்திறன்"
}
,"te" : {
    "selectSongs": "సెలెక్ట్ సాంగ్స్",
    "openIn": "ఓపెన్ ఇన్",
    "randomRadio": "రాండమ్ రేడియో",
    "playnextMsg": "యూజ్డ్ ఎస్=> ఉప్కమింగ్ {సాంగ్ నమే}",
    "home": "హోమ్",
    "retry": "రిట్రీ!",
    "removeMultiple": "రిమూవ్ మల్టిపుల్ సాంగ్స్",
    "reArrangeSongs": "రీఅరేంజ్ సాంగ్స్",
    "selectAll": "సెలెక్ట్ అల్",
    "communityplaylists": "సంఘం ప్లైలిస్ట్స్",
    "randomSelection": "రాండమ్ సెలక్షన్",
    "shuffleQueue": "శుఫెల్ క్యూ",
    "renamePlaylist": "రేణమే ప్లైలిస్ట్",
    "libAlbums": "లైబ్రరీ ఆల్బమ్స్",
    "viewArtist": "వియూ ఆర్టిస్ట్",
    "reArrangePlaylist": "రిఅరేంజ్ ప్లేయిలిస్ట్",
    "playNext": "ప్లేయ్ నెక్ట్",


rllib.parse.quote(alice)}/_allow_cross_signing_replacement_without_uia",
            access_token=self.OIDC_ADMIN_TOKEN,
        )
        self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)

        with patch_get_user_by_access_token:
            # Should now be able to upload master key2.
            channel = self.make_request(
                "POST",
                "/_matrix/client/v3/keys/device_signing/upload",
                access_token=alice_token,
                content={
                    "master_key": master_key2,
                },
            )
            self.assertEqual(channel.code, HTTPStatus.OK, channel.json_body)

            # Even though we're still in the grace period, we shouldn't be able to
            # upload master key 3 immediately after uploading key 2.
            channel = self.make_request(
                "POST",
                "/_matrix/client/v3/keys/device_signing/upload",
                access_token=alice_token,
                content={
                    "master_key": master_key3,
                },
            )
            self.assertEqual(
                channel.code, HTTPStatus.NOT_IMPLEMENTED, channel.json_body
            )

        # Pretend that MAS did UIA and allowed us to replace the master key.
        channel = self.make_request(
            "POST",
            f"/_synapse/admin/v1/users/{urllib.parse.quote(alice)}/_allow_cross_signing_replacement_without_uia",
            access_token=self.OIDC_ADMIN_TOKEN,
        )
        self.assertEqual(HTTPStatus.OK, channel.code, msg=channel.json_body)
        timestamp_ms = channel.json_body["updatable_without_uia_before_ms"]

        # Advance to 1 second after the replacement period ends.
        self.reactor.advance(timestamp_ms - self.clock.time_msec() + 1000)

        with patch_get_user_by_access_token:
            # We should not be able to upload master key3 because the replacement has
            # expired.
            channel = self.make_request(
                "POST",
                "/_matrix/client/v3/keys/device_signing/upload",
                access_token=alice_token,
                content={
                    "master_key": master_key3,
                },
            )
            self.assertEqual(
                channel.code, HTTPStatus.NOT_IMPLEMENTED, channel.json_body
            )


longing to this particular transition
    batches_list: list containing two tensor, firstly the concatenated states and next_states and secondly the concatenated rewards.
                  this complicated format makes computations faster.
    '''
    #initialize environment
    env = SquareGridworld(init_state,goal_state,wall_states, lava)
    outcomes=env.get_outcomes()

    transition_memory = ReplayMemory(capacity=n_actions*grid_dim**2)
    transition_index_dict={} #each transition gets an index
    #create the transition batches according to the world setup
    i=0
    for s_int in range(grid_dim**2):
        if s_int in wall_states or s_int==goal_state:
            continue
        s=state_int_to_tuple(s_int)
        for a in range(n_actions):
            transition_index_dict[(s_int,a)]=i
            i+=1
            ns_int, r = outcomes[s_int,a]
            ns=state_int_to_tuple(ns_int)
            transition_memory.push(s, torch.tensor([[a]], device=device), ns, torch.tensor([[r]], device=device))
    #add the goal state transitions at the end
    gs=state_int_to_tuple(goal_state)
    for a in range(n_actions):
        transition_memory.push(gs, torch.tensor([[a]], device=device), gs, torch.tensor([[2.]], device=device))
        transition_index_dict[(goal_state,a)]=i
        i+=1

    transitions = transition_memory.memory
    #create a big transition
    batch = Transition(*zip(*transitions))
    #and now the batches to train on for the network
    nextstates=torch.cat(batch.next_state)
    rewards=torch.cat(batch.reward)

    #second memory for only the states (don't need to run all of them through the network four times, but only one time)
    transition_memory = ReplayMemory(capacity=n_actions*grid_dim**2)
    for s_int in range(grid_dim**2):
        if s_int in wall_states or s_int==goal_state:
            continue
        s=state_int_to_tuple(s_int)
        transition_memory.push(s, torch.tensor([[0]], device=device), s, torch.tensor([[0.]], device=device))
    #add the goal state transitions at the end
    gs=state_int_to_tuple(goal_state)
    transition_memory.push(gs, torch.tensor([[0]], device=device), gs, torch.tensor([[0.]], device=device))

    transitions = transition_memory.memory
    #create a big transition
    batch = Transition(*zip(*transitions))
    states=torch.cat(batch.state)
    batches_list=[torch.cat([states, nextstates]), rewards]

    return transition_index_dict, batches_list


Callback mCallback;

    private Map<Class<? extends PluginBehavior>, Plugin> mLoadedPlugins;

    public SyncPluginManager(PluginLoader mLoader, PluginUpdater mUpdater, PluginInstaller mInstaller,
                             PluginSetting mSetting, PluginCallback mCallback) {
        this.mLoader = mLoader;
        this.mUpdater = mUpdater;
        this.mInstaller = mInstaller;
        this.mSetting = mSetting;
        this.mCallback = mCallback;
    }

    /**
     * 加载一个插件
     *
     * @param request 插件请求
     * @param mode    加载模式, 参考{@link Mode}
     * @return 当前插件请求
     */
    public PluginRequest add(@NonNull PluginRequest request, int mode) {
        if (request.getManager() == null) {
            request.attach(this);
        }

        return add(request, JobToDo.doing(this, mode));
    }

    /**
     * 加载一个插件
     *
     * @param request 插件请求
     * @param job     做神马, 参考{@link Mode}
     * @return 当前插件请求
     */
    public PluginRequest add(@NonNull PluginRequest request, @NonNull JobToDo job) {
        if (request.getManager() == null) {
            request.attach(this);
        }

        Logger.i(TAG, "request id = " + request.getId() +
                ", state log = " + request.getLog());
        job.doing(request);
        return request;
    }

    @Override
    public Class getClass(Class<? extends Plugin> clazz, String className) throws LoadError {
        if (mLoadedPlugins == null || mLoadedPlugins == Collections.EMPTY_MAP) {
            return null;
        }

        Plugin plugin = mLoadedPlugins.get(clazz);

        if (plugin == null) {
            throw new LoadError("Plugin has not yet been loaded.", ERROR_LOA_NOT_LOADED);
        }

        return mLoader.loadClass(plugin, className);
    }

    @Override
    public <B extends PluginBehavior, P extends Plugin<B>> B getBehavior(P clazz) throws LoadError {
        if (mLoadedPlugins == null || mLoadedPlugins == Collections.EMPTY_MAP) {
            return null;
        }

        Plugin plugin = mLoadedPlugins.get(clazz);

        if (plugin != null) {
            PluginBehavior behavior = plugin.getBehavior();
            if (behavior != null) {
                return (B) behavior;
            }
        }

        throw new LoadError("Plugin has not yet been loaded.", ERROR_LOA_NOT_LOADED);
    }

    @Override
    public <B extends PluginBehavior, P extends Plugin<B>> P getPlugin(P clazz) {
        return mLoadedPlugins == null || mLoadedPlugins == Collections.EMPTY_MAP ?
                null : (P) mLoadedPlugins.get(clazz);
    }

    @Override
    public void addLoadedPlugin(Class<? extends PluginBehavior> clazz, Plugin plugin) {
        mLoadedPlugins = ensureHashMap(mLoadedPlugins);
        mLoadedPlugins.put(clazz, plugin);
    }

    protected Map ensureHashMap(Map map) {
        if (map == null || map == Collections.EMPTY_MAP) {
            map = new HashMap();
        }

        return map;
    }

    @Override
    public PluginSetting getSetting() {
        return mSetting;
    }

    @Override
    public PluginLoader getLoader() {
        return mLoader;
    }

    @Override
    public PluginUpdater getUpdater() {
        return mUpdater;
    }

    @Override
    public PluginInstaller getInstaller() {
        return mInstaller;
    }

    @Override
    public PluginCallback getCallback() {
        return mCallback;
    }

    /**
     * 插件加载的模式
     */
    public static class Mode {
        /**
         * 更新插件, 从远程下载最新版本的插件并拷贝到对应的安装路径
         */
        public static final int UPDATE = 0x0001;
        /**
         * 从对应的安装路径加载插件
         */
        public static final int LOAD = 0x0010;


discoveryengine.v1.TargetSite.Type.INCLUDE].
	TargetSite_TYPE_UNSPECIFIED TargetSite_Type = 0
	// Include the target site.
	TargetSite_INCLUDE TargetSite_Type = 1
	// Exclude the target site.
	TargetSite_EXCLUDE TargetSite_Type = 2
)

// Enum value maps for TargetSite_Type.
var (
	TargetSite_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "INCLUDE",
		2: "EXCLUDE",
	}
	TargetSite_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"INCLUDE":          1,
		"EXCLUDE":          2,
	}
)

func (x TargetSite_Type) Enum() *TargetSite_Type {
	p := new(TargetSite_Type)
	*p = x
	return p
}

func (x TargetSite_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TargetSite_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_discoveryengine_v1_site_search_engine_proto_enumTypes[0].Descriptor()
}

func (TargetSite_Type) Type() protoreflect.EnumType {
	return &file_google_cloud_discoveryengine_v1_site_search_engine_proto_enumTypes[0]
}

func (x TargetSite_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TargetSite_Type.Descriptor instead.
func (TargetSite_Type) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_discoveryengine_v1_site_search_engine_proto_rawDescGZIP(), []int{1, 0}
}

// Target site indexing status enumeration.
type TargetSite_IndexingStatus int32

const (
	// Defaults to SUCCEEDED.
	TargetSite_INDEXING_STATUS_UNSPECIFIED TargetSite_IndexingStatus = 0
	// The target site is in the update queue and will be picked up by indexing
	// pipeline.
	TargetSite_PENDING TargetSite_IndexingStatus = 1
	// The target site fails to be indexed.
	TargetSite_FAILED TargetSite_IndexingStatus = 2
	// The target site has been indexed.
	TargetSite_SUCCEEDED TargetSite_IndexingStatus = 3
	// The previously indexed target site has been marked to be deleted. This is
	// a transitioning state which will resulted in either:
	// 1. target site deleted if unindexing is successful;
	// 2. state reverts to SUCCEEDED if the unindexing fails.
	TargetSite_DELETING TargetSite_IndexingStatus = 4
	// The target site change is pending but cancellable.
	TargetSite_CANCELLABLE TargetSite_IndexingStatus = 5
	// The target site change is cancelled.
	TargetSite_CANCELLED TargetSite_IndexingStatus = 6
)

// Enum value maps for TargetSite_IndexingStatus.
var (
	TargetSite_IndexingStatus_name = map[int32]string{
		0: "INDEXING_STATUS_UNSPECIFIED",
		1: "PENDING",
		2: "FAILED",
		3: "SUCCEEDED",
		4: "DELETING",
		5: "CANCELLABLE",
		6: "CANCELLED",
	}
	TargetSite_IndexingStatus_value = map[string]int32{
		"INDEXING_STATUS_UNSPECIFIED": 0,
		"PENDING":                     1,
		"FAILED":                      2,
		"SUCCEEDED":                   3,
		"DELETING":                    4,
		"CANCELLABLE":                 5,
		"CANCELLED":                   6,
	}
)

func (x TargetSite_IndexingStatus) Enum() *TargetSite_IndexingStatus {
	p := new(TargetSite_IndexingStatus)
	*p = x
	return p
}

func (x TargetSite_IndexingStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor


ops->ioctl(rtc->dev.parent, cmd, arg);
			if (err == -ENOIOCTLCMD)
				err = -ENOTTY;
		} else {
			err = -ENOTTY;
		}
		break;
	}

done:
	mutex_unlock(&rtc->ops_lock);
	return err;
}

#ifdef CONFIG_COMPAT
#define RTC_IRQP_SET32		_IOW('p', 0x0c, __u32)
#define RTC_IRQP_READ32		_IOR('p', 0x0b, __u32)
#define RTC_EPOCH_SET32		_IOW('p', 0x0e, __u32)

static long rtc_dev_compat_ioctl(struct file *file,
				 unsigned int cmd, unsigned long arg)
{
	struct rtc_device *rtc = file->private_data;
	void __user *uarg = compat_ptr(arg);

	switch (cmd) {
	case RTC_IRQP_READ32:
		return put_user(rtc->irq_freq, (__u32 __user *)uarg);

	case RTC_IRQP_SET32:
		/* arg is a plain integer, not pointer */
		return rtc_dev_ioctl(file, RTC_IRQP_SET, arg);

	case RTC_EPOCH_SET32:
		/* arg is a plain integer, not pointer */
		return rtc_dev_ioctl(file, RTC_EPOCH_SET, arg);
	}

	return rtc_dev_ioctl(file, cmd, (unsigned long)uarg);
}
#endif

static int rtc_dev_fasync(int fd, struct file *file, int on)
{
	struct rtc_device *rtc = file->private_data;

	return fasync_helper(fd, file, on, &rtc->async_queue);
}

static int rtc_dev_release(struct inode *inode, struct file *file)
{
	struct rtc_device *rtc = file->private_data;

	/* We shut down the repeating IRQs that userspace enabled,
	 * since nothing is listening to them.
	 *  - Update (UIE) ... currently only managed through ioctls
	 *  - Periodic (PIE) ... also used through rtc_*() interface calls
	 *
	 * Leave the alarm alone; it may be set to trigger a system wakeup
	 * later, or be used by kernel code, and is a one-shot event anyway.
	 */

	/* Keep ioctl until all drivers are converted */
	rtc_dev_ioctl(file, RTC_UIE_OFF, 0);
	rtc_update_irq_enable(rtc, 0);
	rtc_irq_set_state(rtc, 0);

	clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
	return 0;
}

static const struct file_operations rtc_dev_fops = {
	.owner		= THIS_MODULE,
	.llseek		= no_llseek,
	.read		= rtc_dev_read,
	.poll		= rtc_dev_poll,
	.unlocked_ioctl	= rtc_dev_ioctl,
#ifdef CONFIG_COMPAT
	.compat_ioctl	= rtc_dev_compat_ioctl,
#endif
	.open		= rtc_dev_open,
	.release	= rtc_dev_release,
	.fasync		= rtc_dev_fasync,
};

/* insertion/removal hooks */

void rtc_dev_prepare(struct rtc_device *rtc)
{
	if (!rtc_devt)
		return;

	if (rtc->id >= RTC_DEV_MAX) {
		dev_dbg(&rtc->dev, "too many RTC devices\n");
		return;
	}

	rtc->dev.devt = MKDEV(MAJOR(rtc_devt), rtc->id);

#ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL
	INIT_WORK(&rtc->uie_task, rtc_uie_task);
	timer_setup(&rtc->uie_timer, rtc_uie_timer, 0);
#endif

	cdev_init(&rtc->char_dev, &rtc_dev_fops);
	rtc->char_dev.owner = rtc->owner;
}

void __init rtc_dev_init(void)
{
	int err;

	err = alloc_chrdev_region(&rtc_devt, 0, RTC_DEV_MAX, "rtc");
	if (err < 0)
		pr_err("failed to allocate char dev region\n");
}

void __exit rtc_dev_exit(void)
{
	if (rtc_devt)
		unregister_chrdev_region(rtc_devt, RTC_DEV_MAX);
}


 must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
//  * 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.
//  * Neither the name of NVIDIA CORPORATION nor the names of its
//    contributors may be used to endorse or promote products derived
//    from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER 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.
//
// Copyright (c) 2008-2024 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.

#include "NpPvdSceneQueryCollector.h"
#include "NpPvdSceneClient.h"

#if PX_SUPPORT_PVD
using namespace physx;
using namespace Vd;

static const char* gName_PvdRaycast[2]			= { "SceneQueries.Raycasts",		"BatchedQueries.Raycasts" };
static const char* gName_PvdSweep[2]			= { "SceneQueries.Sweeps",			"BatchedQueries.Sweeps" };
static const char* gName_PvdOverlap[2]			= { "SceneQueries.Overlaps",		"BatchedQueries.Overlaps" };
static const char* gName_PvdSqHit[2]			= { "SceneQueries.Hits",			"BatchedQueries.Hits" };
static const char* gName_PxTransform[2]			= { "SceneQueries.PoseList",		"BatchedQueries.PoseList" };
static const char* gName_PxFilterData[2]		= { "SceneQueries.FilterDataList",	"BatchedQueries.FilterDataList" };
static const char* gName_PxGeometryHolder[2]	= { "SceneQueries.GeometryList",	"BatchedQueries.GeometryList" };

PvdSceneQueryCollector::PvdSceneQueryCollector(Vd::PvdSceneClient* pvd, bool isBatched) :
	mAccumulatedRaycastQueries	(gName_PvdRaycast),
	mAccumulatedSweepQueries	(gName_PvdSweep),
	mAccumulatedOverlapQueries	(gName_PvdOverlap),
	mPvdSqHits					(gName_PvdSqHit),
	mPoses						(gName_PxTransform),
	mFilterData					(gName_PxFilterData),
	mPVD						(pvd),
	mGeometries0				(gName_PxGeometryHolder),
	mGeometries1				(gName_PxGeometryHolder),
	mInUse						(0),
	mIsBatched					(isBatched)
{
}

void PvdSceneQueryCollector::rele


e)]
struct Invention {
    expression: String,
    #[serde(default)]
    logp: f64,
}

#[derive(Serialize, Deserialize)]
struct SymmetryViolation {
    f: usize,
    i: usize,
    arg: usize,
}

#[derive(Serialize, Deserialize)]
struct Params {
    pseudocounts: u64,
    topk: usize,
    topk_use_only_likelihood: Option<bool>,
    structure_penalty: f64,
    aic: Option<f64>,
    arity: u32,
}

#[derive(Serialize, Deserialize)]
struct Frontier {
    task_tp: String,
    solutions: Vec<Solution>,
}

#[derive(Serialize, Deserialize)]
struct Solution {
    expression: String,
    logprior: f64,
    loglikelihood: f64,
}

fn noop_oracle(_: &lambda::Language, _: &lambda::Expression) -> f64 {
    f64::NEG_INFINITY
}

struct CompressionInput {
    dsl: lambda::Language,
    params: lambda::CompressionParams,
    tasks: Vec<Task<'static, lambda::Language, lambda::Expression, ()>>,
    frontiers: Vec<ECFrontier<lambda::Language>>,
}
impl From<ExternalCompressionInput> for CompressionInput {
    fn from(eci: ExternalCompressionInput) -> Self {
        let primitives = eci
            .primitives
            .into_par_iter()
            .map(|p| {
                (
                    p.name,
                    Type::parse(&p.tp)
                        .expect("invalid primitive type")
                        .generalize(&[]),
                    p.logp,
                )
            })
            .collect();
        let variable_logprob = eci.variable_logprob;
        let symmetry_violations = eci
            .symmetry_violations
            .into_iter()
            .map(|s| (s.f, s.i, s.arg))
            .collect();
        let mut dsl = lambda::Language {
            primitives,
            invented: vec![],
            variable_logprob,
            symmetry_violations,
        };
        for inv in eci.inventions {
            let expr = dsl.parse(&inv.expression).expect("invalid invention");
            let tp = dsl.infer(&expr).expect("invalid invention type");
            dsl.invented.push((expr, tp, inv.logp))
        }
        let params = lambda::CompressionParams {
            pseudocounts: eci.params.pseudocounts,
            topk: eci.params.topk,
            topk_use_only_likelihood: eci.params.topk_use_only_likelihood.unwrap_or(false),
            structure_penalty: eci.params.structure_penalty,
            aic: eci.params.aic.unwrap_or(f64::INFINITY),
            arity: eci.params.arity,
        };
        let (tasks, frontiers) = eci
            .frontiers
            .into_par_iter()
            .map(|f| {
                let tp = Type::parse(&f.task_tp)
                    .expect("invalid task type")
                    .generalize(&[]);
                let task = Task {
                    oracle: Box::new(noop_oracle),
                    observation: (),
                    tp,
                };
                let sols = f
                    .solutions
                    .into_iter()
                    .map(|s| {
                        let expr = dsl
                            .parse(&s.expression)
                            .expect("invalid expression in frontier");
                        (expr, s.logprior


pectRatio="xMidYMid meet" viewBox="0 0 17 16"><path fill="currentColor" fill-rule="evenodd" d="M4 15h10v1H4zm9.449-11.688A4.243 4.243 0 009.322.086a4.244 4.244 0 00-4.166 3.39 3.28 3.28 0 00-.833-.119 3.31 3.31 0 00-3.312 3.312c0 1.829 1.187 3.312 3.017 3.312.019 0 .036-.005.056-.005v3.981h9.875v-3.384c1.883-.14 3.011-1.709 3.011-3.627a3.642 3.642 0 00-3.521-3.634zM8.9 1.795c-.842.544-1.383 1.401-1.383 2.368H6.216c0-1.398 1.133-2.571 2.664-2.9.277-.058.452.252.02.532z"/></svg>';
  static const String head =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M1.001 5.378S.812 1.177 5.145.305c4.333-.872 6.963 1.506 7.35 3.171.387 1.665.575 2.518.387 3.171-.232.317-.155.555.309 1.348.464.793 1.393 1.665.077 1.823-.851.159-.309.713-.309.713s.232.476-.464.555c0 0 .464.872.077.872s-.464.159-.542.476c-.077.317.077 2.061-2.631 1.03-.619-.317-.892.977-1.238 1.744-.208.461-.431 1.09-1.47.634-.927-.407-2.995-1.378-3.771-2.705-.424-.727.693-1.778.151-3.205-.542-1.427-.712-.987-1.254-1.779-.541-.793-.738-1.824-.816-2.775z"/></svg>';
  static const String head_set =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="17" height="16" preserveAspectRatio="xMidYMid meet" viewBox="0 0 17 16"><path fill="currentColor" fill-rule="evenodd" d="m15.665 6.733-.01.002V5.632c0-3.066-2.601-5.561-5.798-5.561H8.195c-3.197 0-5.797 2.494-5.797 5.561V6.74c-.025 0-.05-.008-.076-.008-.707 0-1.282.59-1.282 1.317v2.687c0 .728.575 1.314 1.282 1.314.062 0 .125-.011.185-.019.579 1.731 2.681 3.066 5.289 3.314.278.367.398.631 1.249.631 1.092 0 1.913-.43 1.913-.961 0-.53-.821-.961-1.913-.961-.844 0-.961.26-1.244.622-2.355-.235-4.236-1.41-4.686-2.914.447 0 .816-.608.816-1.027v-.122h.006V5.574c0-2.547 1.518-3.618 4.258-3.618h1.662C12.59 1.956 14 2.992 14 5.585v5.04h.014v.11c0 .728.752 1.221 1.466 1.221s1.478-.493 1.478-1.221V8.048a1.306 1.306 0 00-1.2


Segments()

    // Mark those bytes as read.
    source.size -= size
    head.pos += size
    if (head.pos == head.limit) {
      source.head = head.pop()
      SegmentPool.recycle(head)
    }

    return size
  }

  override fun flush() = sink.flush()

  override fun timeout() = sink.timeout()

  @Throws(IOException::class)
  override fun close() {
    if (closed) return
    closed = true

    var thrown = doFinal()

    try {
      sink.close()
    } catch (e: Throwable) {
      if (thrown == null) thrown = e
    }

    if (thrown != null) throw thrown
  }

  private fun doFinal(): Throwable? {
    val outputSize = cipher.getOutputSize(0)
    if (outputSize == 0) return null

    if (outputSize > Segment.SIZE) {
      // Bug: For AES-GCM on Android `update` method never outputs any data
      // As a consequence, `doFinal` returns the fully encrypted data, which may be arbitrarily large
      // When that happens, the fallback is to perform the `doFinal` operation without using a pre-allocated segment
      try {
        sink.write(cipher.doFinal())
      } catch (t: Throwable) {
        return t
      }
      return null
    }

    var thrown: Throwable? = null
    val buffer = sink.buffer

    // For block cipher, output size cannot exceed block size in doFinal
    val s = buffer.writableSegment(outputSize)

    try {
      val ciphered = cipher.doFinal(s.data, s.limit)

      s.limit += ciphered
      buffer.size += ciphered
    } catch (e: Throwable) {
      thrown = e
    }

    if (s.pos == s.limit) {
      buffer.head = s.pop()
      SegmentPool.recycle(s)
    }

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

import java.io.IOException
import java.io.InterruptedIOException
import java.util.concurrent.TimeUnit
import java.util.concurrent.locks.Condition
import kotlin.concurrent.Volatile
import kotlin.time.Duration
import kotlin.time.DurationUnit
import kotlin.time.toTimeUnit

actual open class Timeout {
  /**
   * True if `deadlineNanoTime` is defined. There is no equivalent to null or 0 for
   * [System.nanoTime].
   */
  private var hasDeadline = false
  private var deadlineNanoTime = 0L
  private var timeoutNanos = 0L

  /**
   * A sentinel that is updated to a new object on each call to [cancel]. Sample this property
   * before and after an operation to test if the timeout was canceled during the operation.
   */
  @Volatile private var cancelMark: Any? = null

  /**
   * Wait at most `timeout` time before aborting an operation. Using a per-operation timeout means
   * that as long as forward progress is being made, no sequence of operations will fail.
   *
   * If `timeout == 0`, operations will run indefinitely. (Operating system timeouts may still
   * apply.)
   */
  open fun timeout(timeout: Long, unit: TimeUnit): Timeout {
    require(timeout >= 0) { "timeout < 0: $timeout" }
    timeoutNanos = unit.toNanos(timeout)
    return this
  }

  /** Returns the timeout in nanoseconds, or


  }

  @override
  Future<String>? reopenAssignment(String assignmentId) async {
    var endpoint = '/assignments/$assignmentId/reopen';
    var uri = EnvironmentConfig.CV_API_BASE_URL + endpoint;

    try {
      ApiUtils.addTokenToHeaders(headers);
      var jsonResponse = await ApiUtils.patch(uri, headers: headers, body: {});
      return jsonResponse['message'];
    } on ForbiddenException {
      throw Failure(Constants.UNAUTHORIZED);
    } on NotFoundException {
      throw Failure(Constants.ASSIGNMENT_NOT_FOUND);
    } on ConflictException {
      throw Failure(Constants.ASSIGNMENT_ALREADY_OPENED);
    } on Exception {
      throw Failure(Constants.GENERIC_FAILURE);
    }
  }

  @override
  Future<String>? startAssignment(String assignmentId) async {
    var endpoint = '/assignments/$assignmentId/start';
    var uri = EnvironmentConfig.CV_API_BASE_URL + endpoint;

    try {
      ApiUtils.addTokenToHeaders(headers);
      var jsonResponse = await ApiUtils.patch(uri, headers: headers, body: {});
      return jsonResponse['message'];
    } on ForbiddenException {
      throw Failure(Constants.UNAUTHORIZED);
    } on NotFoundException {
      throw Failure(Constants.ASSIGNMENT_NOT_FOUND);
    } on Exception {
      throw Failure(Constants.GENERIC_FAILURE);
    }
  }
}
import 'package:star_clock/src/core/helpers/state_helper.dart';
import 'package:star_clock/star_clock.dart';
import 'package:flutter/material.dart';
import 'package:flutter_clock_helper/model.dart';
import 'package:flutter_svg/flutter_svg.dart';

class WeatherHudWidget extends StatelessWidget {
  final ClockModel model;
  final ClockTheme theme;
  final DateTime dateTime;

  const WeatherHudWidget(
      {Key key,
      @required this.theme,
      @required this.model,
      @required this.dateTime})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    Color colorBackground = isDark(theme, dateTime, model.weatherCondition)
        ? Colors.black.withOpacity(0.2)
        : Colors.white.withOpacity(0.2);
    Color colorForeground = isDark(theme, dateTime, model.weatherCondition)
        ? Colors.white
        : Colors.black;

    return Opacity(
      opacity: 0.87,
      child: Container(
        margin: EdgeInsets.all(8),
        decoration: new BoxDecoration(
            color: colorBackground,
            backgroundBlendMode: BlendMode.multiply,
            borderRadius: new BorderRadius.all(Radius.circular(8))),
        child: Padding(
          padding: EdgeInsets.only(left: 8, right: 16, top: 8, bottom: 8),
          child: Row(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              SvgPicture.asset(
                getWeatherAsset(),
                placeholderBuilder: (context) => CircularProgressIndicator(),
                height: 32.0,
                color: colorForeground,
              ),
              SizedBox(width: 8),
              Column(
                mainAxisSize: MainAxisSize.min,
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Text(
                    model.temperatureString,
                    style: TextStyle(
                      color: colorForeground,
                      fontSize: 16,
                    ),
                  ),
                  Text(
                    model.location,
                    style: TextStyle(


`)

	AssertValuesEqual(
		t,
		inter,
		interpreter.FalseValue,
		inter.GetGlobal("y"),
	)
}

func TestInterpretOptionalNilComparisonSwapped(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
      let x: Int? = 1
      let y = nil == x
    `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.FalseValue,
		inter.GetGlobal("y"),
	)
}

func TestInterpretNestedOptionalNilComparisonSwapped(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
      let x: Int?? = 1
      let y = nil == x
    `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.FalseValue,
		inter.GetGlobal("y"),
	)
}

func TestInterpretNestedOptionalComparisonNils(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
      let x: Int? = nil
      let y: Int?? = nil
      let z = x == y
    `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.TrueValue,
		inter.GetGlobal("z"),
	)
}

func TestInterpretNestedOptionalComparisonValues(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
      let x: Int? = 2
      let y: Int?? = 2
      let z = x == y
    `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.TrueValue,
		inter.GetGlobal("z"),
	)
}

func TestInterpretNestedOptionalComparisonMixed(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
      let x: Int? = 2
      let y: Int?? = nil
      let z = x == y
    `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.FalseValue,
		inter.GetGlobal("z"),
	)
}

func TestInterpretOptionalSomeValueComparison(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
     let x: Int? = 1
     let y = x == 1
   `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.TrueValue,
		inter.GetGlobal("y"),
	)
}

func TestInterpretOptionalNilValueComparison(t *testing.T) {

	t.Parallel()

	inter := parseCheckAndPrepare(t, `
     let x: Int? = nil
     let y = x == 1
   `)

	AssertValuesEqual(
		t,
		inter,
		interpreter.FalseValue,
		inter.GetGlobal("y"),
	)
}

func TestInterpretOptionalMap(t *testing.T) {

	t.Parallel()

	t.Run("some", func(t *testing.T) {

		t.Parallel()

		inter := parseCheckAndPrepare(t, `
          let one: Int? = 42
          let result = one.map(fun (v: Int): String {
              return v.toString()
          })
        `)

		AssertValuesEqual(
			t,
			inter,
			interpreter.NewUnmeteredSomeValueNonCopying(
				interpreter.NewUnmeteredStringValue("42"),
			),
			inter.GetGlobal("result"),
		)
	})

	t.Run("nil", func(t *testing.T) {

		t.Parallel()

		inter := parseCheckAndPrepare(t, `
          let none: Int? = nil
          let result = none.map(fun (v: Int): String {
              return v.toString()
          })
        `)

		AssertValuesEqual(


, ECpub *pub);
char*	X509ecdsaverifydigest(uchar *sig, int siglen, uchar *edigest, int edigestlen, ECdomain *dom, ECpub *pub);

/* curves */
void	secp256r1(mpint *p, mpint *a, mpint *b, mpint *x, mpint *y, mpint *n, mpint *h);
void	secp256k1(mpint *p, mpint *a, mpint *b, mpint *x, mpint *y, mpint *n, mpint *h);
void	secp384r1(mpint *p, mpint *a, mpint *b, mpint *x, mpint *y, mpint *n, mpint *h);

DigestState*	ripemd160(uchar *, ulong, uchar *, DigestState *);

/*
 * Diffie-Hellman key exchange
 */

typedef struct DHstate DHstate;
struct DHstate
{
	mpint	*g;	/* base g */
	mpint	*p;	/* large prime */
	mpint	*q;	/* subgroup prime */
	mpint	*x;	/* random secret */
	mpint	*y;	/* public key y = g**x % p */
};

/* generate new public key: y = g**x % p */
mpint* dh_new(DHstate *dh, mpint *p, mpint *q, mpint *g);

/* calculate shared key: k = y**x % p */
mpint* dh_finish(DHstate *dh, mpint *y);

/* Curve25519 elliptic curve, public key function */
void curve25519(uchar mypublic[32], uchar secret[32], uchar basepoint[32]);

/* Curve25519 diffie hellman */
void curve25519_dh_new(uchar x[32], uchar y[32]);
void curve25519_dh_finish(uchar x[32], uchar y[32], uchar z[32]);

/* password-based key derivation function 2 (rfc2898) */
void pbkdf2_x(uchar *p, ulong plen, uchar *s, ulong slen, ulong rounds, uchar *d, ulong dlen,
	DigestState* (*x)(uchar*, ulong, uchar*, ulong, uchar*, DigestState*), int xlen);

/* scrypt password-based key derivation function */
char* scrypt(uchar *p, ulong plen, uchar *s, ulong slen,
	ulong N, ulong R, ulong P,
	uchar *d, ulong dlen);

/* hmac-based key derivation function (rfc5869) */
void hkdf_x(uchar *salt, ulong nsalt, uchar *info, ulong ninfo, uchar *key, ulong nkey, uchar *d, ulong dlen,
	DigestState* (*x)(uchar*, ulong, uchar*, ulong, uchar*, DigestState*), int xlen);

/* timing safe memcmp() */
int tsmemcmp(void*, void*, ulong);


�所称的假体是指植入体内替代组织器官功能的装置，如：颅骨修补材料、人工晶体、义眼座、固定义齿（种植牙）、阴茎假体、人工关节、起搏器、支架等，但可摘式义眼、义齿等除外。

6.14　移植器官损伤参照相应条款综合鉴定。

6.15　本标准所称组织器官包括再植或者再造成活的。

6.16　组织器官缺失是指损伤当时完全离体或者仅有少量皮肤和皮下组织相连，或者因损伤经手术切除的。器官离断（包括牙齿脱落），经再植、再造手术成功的，按损伤当时情形鉴定损伤程度。

6.17　对于两个部位以上同类损伤可以累加，比照相关部位数值规定高的条款进行评定。

6.18　本标准所涉及的体表损伤数值，0～6岁按50%计算，7～10岁按60%计算，11～14岁按80%计算。

6.19　本标准中出现的数字均含本数# 取水许可和水资源费征收管理条例

2006年2月21日 中华人民共和国国务院令第460号公布

<!-- INFO END -->

## 第一章 总则

第一条 为加强水资源管理和保护，促进水资源的节约与合理开发利用，根据《中华人民共和国水法》，制定本条例。

第二条 本条例所称取水，是指利用取水工程或者设施直接从江河、湖泊或者地下取用水资源。

取用水资源的单位和个人，除本条例第四条规定的情形外，都应当申请领取取水许可证，并缴纳水资源费。

本条例所称取水工程或者设施，是指闸、坝、渠道、人工河道、虹吸管、水泵、水井以及水电站等。

第三条 县级以上人民政府水行政主管部门按照分级管理权限，负责取水许可制度的组织实施和监督管理。

国务院水行政主管部门在国家确定的重要江河、湖泊设立的流域管理机构(以下简称流域管理机构)，依照本条例规定和国务院水行政主管部门授权，负责所管辖范围内取水许可制度的组织实施和监督管理。

县级以上人民


ID_320_CRC  243

#define MAVLINK_MSG_PARAM_EXT_REQUEST_READ_FIELD_PARAM_ID_LEN 16

#if MAVLINK_COMM_NUM_BUFFERS > 0

FASTMAVLINK_FUNCTION_DECORATOR uint16_t mavlink_msg_param_ext_request_read_pack(
    uint8_t sysid,
    uint8_t compid,
    mavlink_message_t* _msg,
    uint8_t target_system, uint8_t target_component, const char* param_id, int16_t param_index)
{
    fmav_status_t* _status = mavlink_get_channel_status(MAVLINK_COMM_0);
    return fmav_msg_param_ext_request_read_pack(
        _msg, sysid, compid,
        target_system, target_component, param_id, param_index,
        _status);
}

FASTMAVLINK_FUNCTION_DECORATOR uint16_t mavlink_msg_param_ext_request_read_encode(
    uint8_t sysid,
    uint8_t compid,
    mavlink_message_t* _msg,
    const mavlink_param_ext_request_read_t* _payload)
{
    return mavlink_msg_param_ext_request_read_pack(
        sysid,
        compid,
        _msg,
        _payload->target_system, _payload->target_component, _payload->param_id, _payload->param_index);
}

#endif

FASTMAVLINK_FUNCTION_DECORATOR uint16_t mavlink_msg_param_ext_request_read_pack_txbuf(
    char* _buf,
    fmav_status_t* _status,
    uint8_t sysid,
    uint8_t compid,
    uint8_t target_system, uint8_t target_component, const char* param_id, int16_t param_index)
{
    return fmav_msg_param_ext_request_read_pack_to_frame_buf(
        (uint8_t*)_buf,
        sysid,
        compid,
        target_system, target_component, param_id, param_index,
        _status);
}

FASTMAVLINK_FUNCTION_DECORATOR void mavlink_msg_param_ext_request_read_decode(const mavlink_message_t* msg, mavlink_param_ext_request_read_t* payload)
{
    fmav_msg_param_ext_request_read_decode(payload, msg);
}

#endif // FASTMAVLINK_PYMAVLINK_ENABLED

#endif // FASTMAVLINK_MSG_PARAM_EXT_REQUEST_READ_H


Function_20014d0
	mov     r0, #0x53
	lsl     r0, r0, #2
	ldrb    r1, [r4, #0x9]
	ldr     r0, [r4, r0]
	mov     r2, #0x2
	bl      Function_2249cac
	cmp     r0, #0x1
	beq     branch_2248060
	mov     r6, #0x1
	b       branch_2248062
@ 0x2248060

.thumb
branch_2248060: @ 2248060 :thumb
	mov     r6, #0x0
.thumb
branch_2248062: @ 2248062 :thumb
	mov     r5, #0x1
	str     r5, [sp, #0x0]
	mov     r0, #0xff
	str     r0, [sp, #0x4]
	str     r5, [sp, #0x8]
	mov     r0, #0x2
	str     r0, [sp, #0xc]
	mov     r0, #0xf
	str     r0, [sp, #0x10]
	str     r5, [sp, #0x14]
	add     r2, sp, #0x18
	ldrh    r2, [r2, #0x0]
	mov     r0, r4
	add     r4, #0xc0
	lsl     r3, r2, #2
	ldr     r2, [pc, #0x18] @ 0x224809c, (=0x224a0ac)
	mov     r1, r4
	lsl     r4, r6, #24
	add     r2, r2, r3
	lsr     r4, r4, #23
	ldrh    r2, [r4, r2]
	mov     r3, r5
	bl      Function_2247650
	add     sp, #0x1c
	pop     {r3-r6,pc}
@ 0x2248096

.align 2

.word 0x5dc @ 0x2248098
.word 0x224a0ac @ 0x224809c
.thumb
Function_22480a0: @ 22480a0 :thumb
	push    {r3-r5,lr}
	mov     r4, r1
	mov     r1, #0x13
	mov     r5, r0
	bl      Function_2001504
	mov     r1, r0
	mov     r0, #0x53
	lsl     r0, r0, #2
	ldr     r0, [r1, r0]
	ldrb    r1, [r1, #0x9]
	mov     r2, #0x2
	bl      Function_2249cac
	cmp     r4, #0x4
	beq     branch_22480c6
	cmp     r4, #0x5
	beq     branch_22480d2
	b       branch_22480de
@ 0x22480c6

.thumb
branch_22480c6: @ 22480c6 :thumb
	cmp     r0, #0x1
	bne     branch_22480ce
	mov     r1, #0x2
	b       branch_22480e0
@ 0x22480ce

.thumb
branch_22480ce: @ 22480ce :thumb
	mov     r1, #0x1
	b       branch_22480e0
@ 0x22480d2

.thumb
branch_22480d2: @ 22480d2 :thumb
	cmp     r0, #0x2
	bne     branch_22480da
	mov     r1, #0x2
	b       branch_22480e0
@ 0x22480da

.thumb
branch_22480da: @ 22480da :thumb
	mov     r1, #0x1
	b       branch_22480e0
@ 0x22480de

.thumb
branch_22480de: @ 22480de :thu


 {
								 styler.ColourTo(i - 1, SCE_LISP_DEFAULT);
								 styler.ColourTo(i, SCE_LISP_OPERATOR);
							 }
							 state = SCE_LISP_DEFAULT;
							 break;
					}
				}
			}
		} else if (state == SCE_LISP_MACRO) {
			if (isLispwordstart(ch) && (radix == -1 || IsADigit(ch, radix))) {
				state = SCE_LISP_SPECIAL;
			} else {
				state = SCE_LISP_DEFAULT;
			}
		} else if (state == SCE_LISP_CHARACTER) {
			if (isLispoperator(ch)) {
				styler.ColourTo(i, SCE_LISP_SPECIAL);
				state = SCE_LISP_DEFAULT;
			} else if (isLispwordstart(ch)) {
				styler.ColourTo(i, SCE_LISP_SPECIAL);
				state = SCE_LISP_SPECIAL;
			} else {
				state = SCE_LISP_DEFAULT;
			}
		} else if (state == SCE_LISP_SPECIAL) {
			if (!isLispwordstart(ch) || (radix != -1 && !IsADigit(ch, radix))) {
				styler.ColourTo(i - 1, state);
				state = SCE_LISP_DEFAULT;
			}
			if (isLispoperator(ch) || ch=='\'') {
				styler.ColourTo(i - 1, state);
				styler.ColourTo(i, SCE_LISP_OPERATOR);
				if (ch=='\'' && isLispwordstart(chNext)) {
					state = SCE_LISP_SYMBOL;
				}
			}
		} else {
			if (state == SCE_LISP_COMMENT) {
				if (atEOL) {
					styler.ColourTo(i - 1, state);
					state = SCE_LISP_DEFAULT;
				}
			} else if (state == SCE_LISP_MULTI_COMMENT) {
				if (ch == '|' && chNext == '#') {
					i++;
					chNext = styler.SafeGetCharAt(i + 1);
					styler.ColourTo(i, state);
					state = SCE_LISP_DEFAULT;
				}
			} else if (state == SCE_LISP_STRING) {
				if (ch == '\\') {
					if (chNext == '\"' || chNext == '\'' || chNext == '\\') {
						i++;
						chNext = styler.SafeGetCharAt(i + 1);
					}
				} else if (ch == '\"') {
					styler.ColourTo(i, state);
					state = SCE_LISP_DEFAULT;
				}
			}
		}

	}
	styler.ColourTo(lengthDoc - 1, state);
}

static void FoldLispDoc(Sci_PositionU startPos, Sci_Position length, int /* initStyle */, WordList *[],
                            Accessor &styler) {
	Sci_PositionU lengthDoc = startPos + length;
	int visibleChars = 0;
	Sci_Position lineCurrent = styler.GetLine(startPos);
	int levelPrev = styler.LevelAt(lineCurrent) & SC_FOLDLEVELNUMBERMASK;
	int levelCurrent = levelPrev;
	char chNext = styler[startPos];
	int styleNext = styler.StyleAt(startPos);
	for (Sci_PositionU i = startPos; i < lengthDoc; i++) {
		char ch = chNext;
		chNext = styler.SafeGetCharAt(i + 1);
		int style = styleNext;
		styleNext = styler.StyleAt(i + 1);
		bool atEOL = (ch == '\r' && chNext != '\n') || (ch == '\n');
		if (style == SCE_LISP_OPERATOR) {
			if (ch == '(' || ch == '[' || ch == '{') {
				levelCurrent++;
			} else if (ch == ')' || ch == ']' || ch == '}') {
				levelCurrent--;
			}
		}
		if (atEOL) {
			int lev = levelPrev;
			if (visibleChars == 0)
				lev |= SC_FOLDLEVELWHITEFLAG;
			if ((levelCurrent > levelPrev) && (visibleChars > 0))
				lev |= SC_FOLDLEVELHEADERFLAG;
			if (lev != styler.LevelAt(lineCurrent)) {
				styler.SetLevel(lineCurrent, lev);
			}
			lineCurrent++;
			levelPrev = levelCurrent;
			visibleChars = 0;
		}
		if (!isspacechar(ch))
			visibleChars++;
	}
	// Fill in the real level


�|远程控制|存储|事件管理器|存储管理|代理本地存在|代理远程|断路器|网络时间|一般信息|固件更新| EIT | LocalUN |端点访问控制|端点访问控制管理员|事件日志读取器|审计日志| ACL域|||本地系统".split('|');
    obj.WatchdogCurrentStates = { 1: "没有开始", 2: "已停止", 4: "跑步", 8: "已过期", 16: "已暂停" };
    var _OCRProgressEvents = ["Boot parameters received from CSME", "CSME Boot Option % added successfully", "HTTPS URI name resolved", "HTTPS connected successfully", "HTTPSBoot download is completed", "Attempt to boot", "Exit boot services"];
    var _OCRErrorEvents = ['', "No network connection available", "Name resolution of URI failed", "Connect to URI failed", "OEM app not found at local URI", "HTTPS TLS Auth failed", "HTTPS Digest Auth failed", "Verified boot failed (bad image)", "HTTPS Boot File not found"];
    var _OCRSource = { 1: '', 2: "HTTPS", 4: "Local PBA", 8: "WinRE" };

    function _GetEventDetailStr(eventSensorType, eventOffset, eventDataField, entity) {
        if (eventSensorType == 15) {
            if (eventDataField[0] == 235) return "无效数据";
            if (eventOffset == 0) {
                return _SystemFirmwareError[eventDataField[1]];
            } else if (eventOffset == 3) {
                if ((eventDataField[0] == 170) && (eventDataField[1] == 48)) {
                    return format("AMT One Click Recovery: {0}", _OCRErrorEvents[eventDataField[2]]);
                } else if ((eventDataField[0] == 170) && (eventDataField[1] == 64)) {
                    if (eventDataField[2] == 1) return "Got an error erasing Device SSD";
                    if (eventDataField[2] == 2) return "Erasing Device TPM is not supported";
                    if (eventDataField[2] == 3) return "Reached Max Counter";
                } else {
                    return "OEM Specific Firmware Error event";
                }
            } else if (eventOffset == 5) {
                if ((eventDataField[0] == 170) && (eventDataField[1] == 48)) {
                    if (eventDataField[2] == 1) {
                        return format("AMT One Click Recovery: CSME Boot Option {0}:{1} added successfully", (eventDataField[3]), _OCRSource[(eventDataField[3])]);
                    } else if (eventDataField[2] < 7) {
                        return format("AMT One Click Recovery: {0}", _OCRProgressEvents[eventDataField[2]]);
                    } else {
                        return format("AMT One Click Recovery: Unknown progress event {0}", eventDataField[2]);
                    }
                } else if ((eventDataField[0] == 170) && (eventDataField[1] == 64)) {
                    if (eventDataField[2] == 1) {
                        if (eventDataField[3] == 2) return "Started erasing Device SSD";
                        if (eventDataField[3] == 3) return "Started erasing Device TPM";
                        if (eventDataField[3] == 5) return "Started erasing Device BIOS Reload of Golden Config";
                    }
                    if (eventDataField[2] == 2) {
                        if (eve


11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},61907:function(t){t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},56539:function(t){t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},4890:function(t){t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},13363:function(t){t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},47603:function(t){t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75


0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity,1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius:50%;--f-button-color:#fff;--f-button-hover-color:#fff;--f-button-outline-color:#000;--f-button-bg:rgba(0, 0, 0, 0.6);--f-button-active-bg:rgba(0, 0, 0, 0.6);--f-button-hover-bg:rgba(0, 0, 0, 0.6);--f-button-svg-width:18px;--f-button-svg-height:18px;--f-button-svg-filter:none;top:5px;right:5px}.fancybox__nav{--f-button-width:50px;--f-button-height:50px;--f-button-border:0;--f-button-border-radius:50%;--f-button-color:var(--fancybox-color);--f-button-hover-color:var(--fancybox-hover-color);--f-button-bg:transparent;--f-button-hover-bg:rgba(24, 24, 27, 0.3);--f-button-active-bg:rgba(24, 24, 27, 0.5);--f-button-shadow:none;--f-button-transition:all 0.15s ease;--f-button-transform:none;--f-button-svg-width:26px;--f-button-svg-height:26px;--f-button-svg-stroke-width:2.5;--f-button-svg-fill:none;--f-button-svg-filter:drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity:0.65;--f-button-next-pos:1rem;--f-button-prev-pos:1rem;opacity:var(--fancybox-opacity,1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top,calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left,calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:0;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>:not(.fancybox__content),.fancybox__container.is-animated[aria-hidden=false]>:not(.fancybox__backdrop,.fancybox__carousel){animation:var(--f-interface-enter-duration,.25s) ease .1s backwards f-fadeIn}.fancybox__container


TRES & 0xFFFF
	FPE_FLTINV = C.FPE_FLTINV & 0xFFFF
	FPE_FLTSUB = C.FPE_FLTSUB & 0xFFFF

	BUS_ADRALN = C.BUS_ADRALN & 0xFFFF
	BUS_ADRERR = C.BUS_ADRERR & 0xFFFF
	BUS_OBJERR = C.BUS_OBJERR & 0xFFFF

	SEGV_MAPERR = C.SEGV_MAPERR & 0xFFFF
	SEGV_ACCERR = C.SEGV_ACCERR & 0xFFFF

	ITIMER_REAL    = C.ITIMER_REAL
	ITIMER_PROF    = C.ITIMER_PROF
	ITIMER_VIRTUAL = C.ITIMER_VIRTUAL
)

type Timespec C.struct_timespec
type StackT C.stack_t
type Sigcontext C.struct_sigcontext
type Ucontext C.struct_ucontext
type Timeval C.struct_timeval
type Itimerval C.struct_itimerval
type Siginfo C.struct_xsiginfo
type Sigaction C.struct_xsigaction
// Copyright 2020 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.

package runtime_test

import (
	"internal/testenv"
	"os/exec"
	"strings"
	"testing"
)

func TestCheckPtr(t *testing.T) {
	// This test requires rebuilding packages with -d=checkptr=1,
	// so it's somewhat slow.
	if testing.Short() {
		t.Skip("skipping test in -short mode")
	}

	t.Parallel()
	testenv.MustHaveGoRun(t)

	exe, err := buildTestProg(t, "testprog", "-gcflags=all=-d=checkptr=1")
	if err != nil {
		t.Fatal(err)
	}

	testCases := []struct {
		cmd  string
		want string
	}{
		{"CheckPtrAlignmentPtr", "fatal error: checkptr: misaligned pointer conversion\n"},
		{"CheckPtrAlignmentNoPtr", ""},
		{"CheckPtrAlignmentNilPtr", ""},
		{"CheckPtrArithmetic", "fatal error: checkptr: pointer arithmetic result points to invalid allocation\n"},
		{"CheckPtrArithmetic2", "fatal error: checkptr: pointer arithmetic result points to invalid allocation\n"},
		{"CheckPtrSize", "fatal error: checkptr: converted pointer straddles multiple allocations\n"},
		{"CheckPtrSmall", "fatal error: checkptr: pointer arithmetic computed bad pointer value\n"},
		{"CheckPtrSliceOK", ""},
		{"CheckPtrSliceFail", "fatal error: checkptr: unsafe.Slice result straddles multiple allocations\n"},
		{"CheckPtrStringOK", ""},
		{"CheckPtrStringFail", "fatal error: checkptr: unsafe.String result straddles multiple allocations\n"},
	}

	for _, tc := range testCases {
		tc := tc
		t.Run(tc.cmd, func(t *testing.T) {
			t.Parallel()
			got, err := testenv.CleanCmdEnv(exec.Command(exe, tc.cmd)).CombinedOutput()
			if err != nil {
				t.Log(err)
			}
			if tc.want == "" {
				if len(got) > 0 {
					t.Errorf("output:\n%s\nwant no output", got)
				}
				return
			}


Stream derOut)
		{
			if (derOut is Asn1OutputStream || derOut is BerOutputStream)
			{
				derOut.WriteTag((byte)(Asn1Tags.Constructed | Asn1Tags.Tagged), tagNo);
				derOut.WriteByte(0x80);

				if (!IsEmpty())
				{
					if (!explicitly)
					{
						IEnumerable eObj;
						if (obj is Asn1OctetString)
						{
							if (obj is BerOctetString)
							{
								eObj = (BerOctetString)obj;
							}
							else
							{
								Asn1OctetString octs = (Asn1OctetString)obj;
								eObj = new BerOctetString(octs.GetOctets());
							}
						}
						else if (obj is Asn1Sequence)
						{
							eObj = (Asn1Sequence)obj;
						}
						else if (obj is Asn1Set)
						{
							eObj = (Asn1Set)obj;
						}
						else
						{
							throw Platform.CreateNotImplementedException(Platform.GetTypeName(obj));
						}

						foreach (Asn1Encodable o in eObj)
						{
							derOut.WriteObject(o);
						}
					}
					else
					{
						derOut.WriteObject(obj);
					}
				}

				derOut.WriteByte(0x00);
				derOut.WriteByte(0x00);
			}
			else
			{
				base.Encode(derOut);
			}
		}
	}
}


	public static minDateValidator(minDate: Date) {
		return (control: FormControl): { [key: string]: any } => {
			if (!control.value || !minDate)
				return {}
			console.log("end", control.value.getTime(), "start", minDate.getTime(), "pass", control.value.getTime() >= minDate.getTime())
			return control.value.getTime() < minDate.getTime()
				? { 'minDateRequired': 'Minimum Date is ' + minDate }
				: {}
		}
	}

	public static DateRangeValidator(startDate: FormControl, endDate: FormControl) {
		return (group: FormGroup): { [key: string]: any } => {
			if (!startDate.value || !endDate.value || startDate.value == '' || endDate.value == '') {
				return {}
			}
			return startDate.value > endDate.value
				? { "dateRangeInvalid": "start date is later than end date" }
				: {}
		}
	}
}import * as O from 'fp-ts/Option';

import Option = O.Option;

const find = <T extends Element>(path: string) => (root: ParentNode): Option<T> =>
  O.fromNullable(root.querySelector(path));

const findAll = <T extends Element>(path: string) => (root: ParentNode): Array<T> =>
  Array.from(root.querySelectorAll(path));

const text = (path: string) => (root: ParentNode): Option<string> =>
  O.fromNullable(root.querySelector(path)?.textContent?.trim());

const textAll = (path: string) => (root: ParentNode): Array<string> =>
  findAll(path)(root).map(it => it?.textContent ?? '');

export default {
  find,
  findAll,
  text,
  textAll,
};
class LoggerService {
    debug(message: string): void {
        console.log({ message });
    }
}

export function Logger(): any {
    return (target: Record<string, any>, key: string | symbol): void => {
        const loggerService: LoggerService = new LoggerService();
        const updated: boolean = Reflect.defineProperty(target, key, {
            configurable: false,
            enumerable: true,
            value: loggerService,
            writable: false,
        });

        if (!updated) {
            throw new Error(`Unable to define ${String(key)} property for ${JSON.stringify(target)}`);
        }
    };
}

class TestClass1 {
    @Logger() private readonly logger: LoggerService;

    test(): void {
        this.logger.debug('test1');
    }
}

class TestClass2 {
    @Logger() private readonly logger: LoggerService;

    test(): void {
        this.logger.debug('test2');
    }
}

(async (): Promise<void> => {
    new TestClass1().test();
    new TestClass2().test();
    console.log('OK');
})();class user {
	fname:string;
	lname:string;

	constructor(fname, lastName){
		this.fname = fname;
		this.lname = lastName;
	}

	display(){
		console.log(`${this.fname} :: ${this.lname}`);
	}
}

class  student extends user {
	age:number;
	constructor(lname, fname, age){
		super(fname, lname);
		this.age = age;
		console.log('child class constructor invoked');
	}
	showDetails(){
		super.display(); // calls parenvt
		this.display(); // calls child
		console.log(this.age)
	}
	display(){
		console.log('this is child class  display invoked');
	}
}

var obj = new student('hello', 'qshore', 45);
obj.showDetails();import { useCallback, useEffect, useRef, useState } from 'react';

function useRenderCount(title: string): () => number {
  // we use a ref instead of state so that in


t "+En+") and "+D+" and (not "+C+") and "+B+" and "+A+td+
      "    "+Y12+" <= "+"(not "+En+") and "+D+" and "+C+" and (not "+B+") and (not "+A+")"+td+
      "    "+Y13+" <= "+"(not "+En+") and "+D+" and "+C+" and (not "+B+") and "+A+td+
      "    "+Y14+" <= "+"(not "+En+") and "+D+" and "+C+" and "+B+" and (not "+A+")"+td+
      "    "+Y15+" <= "+"(not "+En+") and "+D+" and "+C+" and "+B+" and "+A+td+

      "  end process;\n";
  return s;
}

QString dmux4to16::verilogCode( int )
{
  QString td = Props.at(1)->Value;        // delay time
  if(!misc::Verilog_Delay(td, Name)) return td; // time does not have VHDL format

  QString l = "";

  QString En = Ports.at(0)->Connection->Name;
  QString A  = Ports.at(1)->Connection->Name;
  QString B  = Ports.at(2)->Connection->Name;
  QString C  = Ports.at(3)->Connection->Name;
  QString D  = Ports.at(4)->Connection->Name;
  QString Y15 = Ports.at(5)->Connection->Name;
  QString Y14 = Ports.at(6)->Connection->Name;
  QString Y13 = Ports.at(7)->Connection->Name;
  QString Y12 = Ports.at(8)->Connection->Name;
  QString Y11 = Ports.at(9)->Connection->Name;
  QString Y10 = Ports.at(10)->Connection->Name;
  QString Y9 = Ports.at(11)->Connection->Name;
  QString Y8 = Ports.at(12)->Connection->Name;
  QString Y7 = Ports.at(13)->Connection->Name;
  QString Y6 = Ports.at(14)->Connection->Name;
  QString Y5 = Ports.at(15)->Connection->Name;
  QString Y4 = Ports.at(16)->Connection->Name;
  QString Y3 = Ports.at(17)->Connection->Name;
  QString Y2 = Ports.at(18)->Connection->Name;
  QString Y1 = Ports.at(19)->Connection->Name;
  QString Y0 = Ports.at(20)->Connection->Name;

  QString Y15R = "net_reg" + Name + Y15;
  QString Y14R = "net_reg" + Name + Y14;
  QString Y13R = "net_reg" + Name + Y13;
  QString Y12R = "net_reg" + Name + Y12;
  QString Y11R = "net_reg" + Name + Y11;
  QString Y10R = "net_reg" + Name + Y10;
  QString Y9R = "net_reg" + Name + Y9;
  QString Y8R = "net_reg" + Name + Y8;
  QString Y7R = "net_reg" + Name + Y7;
  QString Y6R = "net_reg" + Name + Y6;
  QString Y5R = "net_reg" + Name + Y5;
  QString Y4R = "net_reg" + Name + Y4;
  QString Y3R = "net_reg" + Name + Y3;
  QString Y2R = "net_reg" + Name + Y2;
  QString Y1R = "net_reg" + Name + Y1;
  QString Y0R = "net_reg" + Name + Y0;

  l = "\n  // " + Name + " 4to16 demux\n" +
      "  assign  " + Y0 + " = " + Y0R + ";\n" +
      "  reg


 > child1.numRegisters()) {
            generateTree(child2, burs);
            generateTree(child1, burs);
          } else {
            generateTree(child1, burs);
            generateTree(child2, burs);
          }
        } else {
          if (child2.numRegisters() > child1.numRegisters()) {
            generateTree(child2, burs);
            generateTree(child1, burs);
          } else {
            generateTree(child1, burs);
            generateTree(child2, burs);
          }
        }
      } else {
        generateTree(child1, burs);
      }
    } else if (child2 != null) {
      generateTree(child2, burs);
    }

    if (k.isSuperNodeRoot()) {
      int nonterminal = k.getNonTerminal();
      int rule = k.rule(nonterminal);
      burs.code(k, nonterminal, rule);
      if (DEBUG) VM.sysWriteln(k + " " + debug(rule));
    }

    DepGraphNode dgnode = k.dg_node;
    if (dgnode != null) {
      SpaceEffGraphNode source = dgnode.nextSorted;
      for (SpaceEffGraphEdge out = dgnode.firstOutEdge(); out != null; out = out.getNextOut()) {
        SpaceEffGraphNode dest = out.toNode().nextSorted;
        if (source != dest) {
          castNode(dest).decPredecessorCount();
          int count = castNode(dest).getPredecessorCount();
          if (DEBUG) VM.sysWriteln(count + ": edge " + source + " to " + dest);
          if (count == 0) {
            readySetInsert(castNode(dest).getCurrentParent());
          }
        }
      }
    }
  }

  /**
   * Checks if the given node needs to be a tree rode.
   * If the node does not need to be a tree root right now
   * but might later have to be marked as a tree
   * root, then include in a set of problem nodes.
   *
   * @param n the dep graph node in question.
   * @return {@code true} if node n must be a root of a BURS tree
   * based only on its register true dependencies.
   */
  private boolean mustBeTreeRoot(DepGraphNode n) {
    // A "fan-out" node must be a root of a BURS tree.
    // (A fan-out node is a node with > 1 outgoing register-true dependences)
    SpaceEffGraphEdge trueDepEdge = null;
    for (SpaceEffGraphEdge out = n.firstOutEdge(); out != null; out = out.getNextOut()) {
      if (DepGraphEdge.isRegTrue(out)) {
        if (trueDepEdge != null) return true;
        trueDepEdge = out;
      }
    }

    if (trueDepEdge == null) {
      return true; // 0 outgoing register-true dependencies
    } else {
      // Exactly 1 true edge, since we would have bailed out of above
      // loop if we'd found a second one.
      // If the node produces a register value that is live on exit
      // from the basic block then it must be the root of a BURS tree.
      Instruction instr = n.instruction();
      if (instr.operator() == IR_PROLOGUE) return true;
      RegisterOperand rop = ResultCarrier.getResult(instr);
      if (rop.getRegister().spansBasicBlock()) return true;
      SpaceEffGraphNode parent = trueDepEdge.toNode();
      // If our parent has a superset of our
      // other out edges (ignoring trueDepEdge)
      // then we don't have to worry about creating cycles
      // by not forcing n to be a tree root.
      for (SpaceEffGraphEdge out = n.firstOutEdge(); out != null; out = out.getNextOut()) {


Fv
	.4byte update__Q34Game10MemoryCard3MgrFv
	.4byte doInit__13MemoryCardMgrFv
	.4byte doCardProc__Q34Game10MemoryCard3MgrFPvP20MemoryCardMgrCommand
	.4byte getHeaderSize__Q34Game10MemoryCard3MgrFv
	.4byte doMakeHeader__Q34Game10MemoryCard3MgrFPUc
	.4byte doSetCardStat__Q34Game10MemoryCard3MgrFP8CARDStat
	.4byte doCheckCardStat__Q34Game10MemoryCard3MgrFP8CARDStat
	.4byte isErrorOccured__Q34Game10MemoryCard3MgrFv
.endobj __vt__Q34Game10MemoryCard3Mgr
.obj __vt__Q34Game10MemoryCard8Resource, global
	.4byte 0
	.4byte 0
	.4byte __dt__Q34Game10MemoryCard8ResourceFv
.endobj __vt__Q34Game10MemoryCard8Resource

.section .sdata, "wa"  # 0x80514680 - 0x80514D80
.balign 8
.obj cFileName__Q24Game10MemoryCard, global
	.4byte lbl_8049ADB8
.endobj cFileName__Q24Game10MemoryCard

.section .sdata2, "a"     # 0x80516360 - 0x80520E40
.balign 8
.obj lbl_80520978, local
	.asciz "dameck\n"
.endobj lbl_80520978

.section .text, "ax"  # 0x800056C0 - 0x80472F00
.fn __ct__Q34Game10MemoryCard6PlayerFv, global
/* 804428AC 0043F7EC  38 00 00 00 */	li r0, 0
/* 804428B0 0043F7F0  98 03 00 00 */	stb r0, 0(r3)
/* 804428B4 0043F7F4  90 03 00 04 */	stw r0, 4(r3)
/* 804428B8 0043F7F8  90 03 00 08 */	stw r0, 8(r3)
/* 804428BC 0043F7FC  90 03 00 0C */	stw r0, 0xc(r3)
/* 804428C0 0043F800  90 03 00 10 */	stw r0, 0x10(r3)
/* 804428C4 0043F804  90 03 00 14 */	stw r0, 0x14(r3)
/* 804428C8 0043F808  90 03 00 18 */	stw r0, 0x18(r3)
/* 804428CC 0043F80C  90 03 00 1C */	stw r0, 0x1c(r3)
/* 804428D0 0043F810  90 03 00 20 */	stw r0, 0x20(r3)
/* 804428D4 0043F814  90 03 00 24 */	stw r0, 0x24(r3)
/* 804428D8 0043F818  90 03 00 28 */	stw r0, 0x28(r3)
/* 804428DC 0043F81C  90 03 00 2C */	stw r0, 0x2c(r3)
/* 804428E0 0043F820  90 03 00 30 */	stw r0, 0x30(r3)
/* 804428E4 0043F824  4E 80 00 20 */	blr
.endfn __ct__Q34Game10MemoryCard6PlayerFv

.fn __ct__Q34Game10MemoryCard14PlayerFileInfoFv, global
/* 804428E8 0043F828  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 804428EC 0043F82C  7C 08 02 A6 */	mflr r0
/* 804428F0 0043F830  3C 80 80 44 */	lis r4, __ct__Q34Game10MemoryCard6PlayerFv@ha
/* 804428F4 0043F834  38 A0


< "ERROR: in Chromosome constructor, alphabetSize for int must be 2 "
            "or greater!\n";
    exit(1);
  }
  alphabetSize = _alphabetSize;
  sites.resize(chromosomeLength);
}

// double constructors

template <>
TemplatedChromosome<double>::TemplatedChromosome(int chromosomeLength) {
  alphabetSize = 0;
  std::cout << "for Chromosome<double>, you must specify both chromosomeLength and "
          "alphabetSize\n";
}

template <>
TemplatedChromosome<double>::TemplatedChromosome(int chromosomeLength,
                                                 double _alphabetSize) {
  alphabetSize = _alphabetSize;
  sites.resize(chromosomeLength);
}
//  MABE is a product of The Hintze Lab @ MSU
//     for general research information:
//         hintzelab.msu.edu
//     for MABE documentation:
//         github.com/Hintzelab/MABE/wiki
//
//  Copyright (c) 2015 Michigan State University. All rights reserved.
//     to view the full license, visit:
//         github.com/Hintzelab/MABE/wiki/License

#include "MarkovBrain.h"

std::shared_ptr<ParameterLink<bool>> MarkovBrain::recurrentOutputPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-recurrentOutput", false,
    "if true, outputs will be copied like hidden at the end of each brain updata (or evaluation, if evaluationsPerBrainUpdate > 1) giving the brain access to it's prior outputs");

std::shared_ptr<ParameterLink<bool>> MarkovBrain::useGateRegulationPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-useGateRegulation", false,
    "if true, for each gate a pair of values will be read, the first will determin"
    "if the gate is always off, always on, or regulated. If regulated, the second"
    "value will determin the node address to use for regulation.");

std::shared_ptr<ParameterLink<bool>> MarkovBrain::useOutputThresholdPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-outputThresholdSwitch", false,
    "if true, each brain output will be divided by the number of connections to that output and compared to outputThreshold (if < outputThreshold then 0, else 1)");

std::shared_ptr<ParameterLink<double>> MarkovBrain::outputThresholdPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-outputThreshold", .5,
    "if useOutputThreshold is true, this value will be used to compare divided outputs");

std::shared_ptr<ParameterLink<bool>> MarkovBrain::useHiddenThresholdPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-hiddenThresholdSwitch", false,
    "if true, each brain hidden will be divided by the number of connections to that hidden and compared to hiddenThreshold (if < hiddenThreshold then 0, else 1)");

std::shared_ptr<ParameterLink<double>> MarkovBrain::hiddenThresholdPL =
Parameters::register_parameter(
    "BRAIN_MARKOV-hiddenThreshold", .5,
    "if useHiddenThreshold is true, this value will be used to compare divided hidden");

std::shared_ptr<ParameterLink<bool>> MarkovBrain::recordIOMapPL=
    Parameters::register_parameter(
        "BRAIN_MARKOV_ADVANCED-recordIOMap", false,
        "if true, all inoput output and hidden nodes will be recorderd on every brain update");
std::shared_ptr<ParameterLink<std::string>> MarkovBrain::IOMapFileNamePL=
    Parameters::register_parameter("BRAIN_MARKOV_ADVANCED-recordIOMap_fileName",
                                   (std::string) "markov_IO_map.csv",
                                   "Name of file where IO mappings are saved");