在Go语言中，有些外部代码并没有被编译进可执行文件中，而是通过动态链接库或者共享库的方式进行链接。在运行时，如果这些库被删除或者被修改，就会出现LostExternalCode的情况，这就意味着Go程序执行时需要调用的外部函数已经失效了。如果不进行处理，Go程序就会出现崩溃现象。

_LostExternalCode函数就是用来处理这种情况的。当出现LostExternalCode时，该函数会尝试从备份文件中重新加载代码，并进行一些修复工作，以使程序继续运行。同时，它还会记录这种情况，并向开发人员报告，以便他们进行进一步的调查和修复。

总之，_LostExternalCode函数是Go语言中非常重要的一部分，它保证了程序的稳定性和可靠性，使得Go程序能够正确地处理LostExternalCode的情况并进行修复。

### _GC

func _GC() is a function in the proc.go file of the Go runtime package. It is responsible for triggering garbage collection in the Go runtime when necessary. Garbage collection is an automatic memory management technique where the Go runtime automatically frees the memory that is no longer in use to avoid memory leaks and improve the overall performance of the program.

_GC() function is called by the Go runtime when a certain threshold of memory usage is reached or when an explicit garbage collection request is made. The function starts by locking the world to prevent any other goroutines from accessing the memory while the garbage collection is underway. It then marks all the live objects in the heap using the mark-and-sweep algorithm. Objects that are not marked as live are considered unused and can be safely freed. The function then updates the heap state and unlocks the world, making the memory available for use again.

_GC() function is an essential part of the Go runtime as it helps to keep the program's memory usage under control. Without garbage collection, programs could quickly exhaust the system's memory resources, causing them to crash or b


ghtNavigationBars

/**
 * 设置沉浸式系统栏
 */
fun Activity.setImmersiveSystemBar(
    isImmersiveStatusBar: Boolean? = null,
    statusBarColor: Int? = null,
    isImmersiveNavigationBar: Boolean? = null,
    navigationBarColor: Int? = null,
    isNeedPost: Boolean = false
) {
    val immersiveHandler = {
        window.decorView.setPadding(0, 0, 0, 0)
        window.decorView.systemUiVisibility =
            if (isImmersiveStatusBar == true) {
                window.statusBarColor = Color.TRANSPARENT
                if (isImmersiveNavigationBar == true) {
                    window.navigationBarColor = Color.TRANSPARENT
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                } else {
                    if (navigationBarColor != null) {
                        window.navigationBarColor = navigationBarColor
                    }
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                }
            } else {
                if (statusBarColor != null) {
                    window.statusBarColor = statusBarColor
                }
                if (navigationBarColor != null) {
                    window.navigationBarColor = navigationBarColor
                }
                View.SYSTEM_UI_FLAG_VISIBLE
            }
    }
    // 新的设置方法暂时无法灵活控制沉浸式效果，先注释
//    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
//        window.attributes = window.attributes.apply {
//            if (isImmersive) {
//                WindowCompat.setDecorFitsSystemWindows(window, false)
//                window.statusBarColor = Color.TRANSPARENT
//                layoutInDisplayCutoutMode =
//                    WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
//            } else {
//                WindowCompat.setDecorFitsSystemWindows(window, true)
//                statusBarColor?.run {
//                    window.statusBarColor = this
//                }
//                layoutInDisplayCutoutMode =
//                    WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
//            }
//        }
//        ViewCompat.setOnApplyWindowInsetsListener(window.decorView) { view, windowInsets ->
////                ViewCompat.setOnApplyWindowInsetsListener(window.decorView, null)
////                if (!isImmersive) {
//            val insets =
//                windowInsets.getInsets(WindowInsetsCompat.Type.displayCutout() or WindowInsetsCompat.Type.systemBars())
//            window.decorView.setPadding(
//                insets.left,
//                if (isImmersive) 0 else insets.top,
//                insets.right,
//                insets.bottom
//            )
////                }
//            WindowInsetsCompat.CONSUMED
//        }
//    }
    if (isNeedPost)
        window.decorView.post {
            immersiveHandler()
        }
    else immersiveHandler()
}

/**
 * 设置状态栏和导航栏显示隐藏
 */
fun Activity.setSystemBarVisible(
    isVisibleStatusBar: Boolean? = null,
    isVisibleNavigationBar: Boolean? = null
) {
    if (isVisibleStatusBar == null && isVisibleNavigationBar == null) return
    WindowInsetsControllerCompat(
        window,
        window.decorView
    ).apply {
        if (isVisibleStatusBar != null) {
            if (isVisibleStatusBar) show(Window


: #FFF;

    --btn-back: rgba(255, 255, 255, .05);
    --btn-border: rgba(255, 255, 255, .05);
    --btn-top-border: rgba(255, 255, 255, .1);

    --main-pill: rgba(22, 22, 22, 0.75);
    --app-icon-plate: rgba(255, 255, 255, 0.1);
    --app-label-plate: black;
    --app-label-text: white;
    --surface-text: white;

    --popup-back: hsl(0, 0%, 96%);
    --popup-btn: white;
    --popup-btn-checked: #047CD6;
    --popup-btn-hover: #f7f7f7;
    --popup-btn-border: #EDEDED;
    --popup-btn-border-bottom: #D3D3D3;
    --popup-footer: hsl(0, 0%, 93%);
    --popup-surface-text: black;
}

.dark-theme {
    --main-pill: #222222bf;
    --app-icon-plate: rgba(255, 255, 255, 0.1);
    --app-label-plate: #222222;
    --app-label-text: white;
    --surface-text: white;

    --btn-back: rgba(255, 255, 255, .05);
    --btn-border: rgba(255, 255, 255, .05);
    --btn-top-border: rgba(255, 255, 255, .1);

    --popup-back: rgb(42, 42, 42);
    --popup-btn: #373737;
    --popup-btn-checked: #047CD6;
    --popup-btn-hover: #3C3C3C;
    --popup-btn-border: #444444;
    --popup-btn-border-bottom: #484848;
    --popup-sect: #ffffff10;
    --popup-footer: #202020;
    --popup-surface-text: white;
    --imgFilter: brightness(100) contrast(0) saturate(100) brightness(100);
}

.light-theme {
    --main-pill: #ffffffbf;
    --app-icon-plate: rgba(0, 0, 0, 0.1);
    --app-label-plate: #fefefe;
    --app-label-text: black;
    --surface-text: black;

    --btn-back: rgba(255, 255, 255, .25);
    --btn-border: rgba(255, 255, 255, .025);
    --btn-top-border: rgba(255, 255, 255, .075);

    --popup-back: hsl(0, 0%, 96%);
    --popup-btn: white;
    --popup-btn-checked: #047CD6;
    --popup-btn-hover: #f7f7f7;
    --popup-btn-border: #EDEDED;
    --popup-btn-border-bottom: #D3D3D3;
    --popup-sect: #e7e6e6;
    --popup-footer: hsl(0, 0%, 93%);
    --popup-surface-text: black;
    --imgFilter: brightness(100) contrast(0) saturate(100) brightness(100) invert(1);
}

@font-face {
    font-family: FluentIcons-Fill;
    src: url('resc/fonts/FluentSystemIcons-Filled.ttf');
}

@font-face {
    font-family: FluentIcons-Reg;
    src: url('resc/fonts/FluentSystemIcons-Regular.ttf');
}

@font-face {
    font-family: SegoeSystemIcn


*	for(i=0; i<16; ++i){
*		q[i] = s[i%5](q[i]);
*	}
*	for(i=0; i<16; ++i){
*		((uint32_t*)h)[i] ^= ((uint32_t*)m)[i];
*	}
*	for(i=0; i<16; ++i){
*		q[i] += h[(i+1)&0xf];
*	}
* }
*
* param h: r24:r25
* param m: r22:r23
* param q: r20:r21
*/
h0   =  24
h1   =  25
m0   =  22
m1   =  23
q0   =  20
q1   =  21
acc0 =  4
acc1 =  5
acc2 =  6
acc3 =  7
bcc0 =  8
bcc1 =  9
bcc2 = 10
bcc3 = 11
hack = 16

f0_helper:
20:
	ldd acc0, Z+0
	ldd acc1, Z+1
	ldd acc2, Z+2
	ldd acc3, Z+3
	ld bcc0, X+
	ld bcc1, X+
	ld bcc2, X+
	ld bcc3, X+
	lsr r17
	ror r16
	brcs l20_sub
	add acc0, bcc0
	adc acc1, bcc1
	adc acc2, bcc2
	adc acc3, bcc3
	rjmp l20_post
l20_sub:
	sub acc0, bcc0
	sbc acc1, bcc1
	sbc acc2, bcc2
	sbc acc3, bcc3
l20_post:
	st Z+, acc0
	st Z+, acc1
	st Z+, acc2
	st Z+, acc3
	dec r18
	brne 20b
	ret

f0_jumptable:
	rjmp bmw_small_s0
	rjmp bmw_small_s1
	rjmp bmw_small_s2
	rjmp bmw_small_s3
	rjmp bmw_small_s4
	rjmp bmw_small_s0
	rjmp bmw_small_s1
	rjmp bmw_small_s2
	rjmp bmw_small_s3
	rjmp bmw_small_s4
	rjmp bmw_small_s0
	rjmp bmw_small_s1
	rjmp bmw_small_s2
	rjmp bmw_small_s3
	rjmp bmw_small_s4
	rjmp bmw_small_s0

.global bmw_small_f0
bmw_small_f0:
;	push_range 28, 29
;    push_range 4, 11
;    push_range 16, 17
    /* h[i] ^= m[i]; q[i]= 0 */
	movw r26, h0 ; h
	movw r30, m0 ; m
	movw r28, q0 ; q
	ldi r18, 64
1:  ld r0, X
    ld r19, Z+
    eor r0, r19
    st X+, r0
    st Y+, r1
    dec r18
    brne 1b
;------
    ldi r17, 0x88
    ldi r16, 0xC0
    movw r26, h0 ; X = h
    adiw r26, 5*4
    ldi r18, 16-5
    movw r30, q0 ; Z = q
    rcall f0_helper
    movw r26, h0 ; X = h
    ldi r18,    5
    rcall f0_helper
;---
    ldi r17, 0xCD
    ldi r16, 0xBB
    movw r26, h0 ; X = h
    adiw r26, 7*4
    ldi r18, 16-7
    movw r30, q0 ; Z = q
    rcall


ight);
				updateCnt<_dec>(ld.numByTopic1_2(z1 - 1, z2), _inc * weight);
			}

			if (!z1)
			{
				updateCnt<_dec>(ld.numByTopic[0][0], _inc * weight);
				updateCnt<_dec>(ld.numByTopicWord[0](0, vid), _inc * weight);

			}
			else if (!z2)
			{
				updateCnt<_dec>(ld.numByTopic[1][z1 - 1], _inc * weight);
				updateCnt<_dec>(ld.numByTopicWord[1](z1 - 1, vid), _inc * weight);
			}
			else
			{
				updateCnt<_dec>(ld.numByTopic[2][z2 - 1], _inc * weight);
				updateCnt<_dec>(ld.numByTopicWord[2](z2 - 1, vid), _inc * weight);
			}
		}

		template<ParallelScheme _ps, bool _infer, typename _ExtraDocData>
		void sampleDocument(_DocType& doc, const _ExtraDocData& edd, size_t docId, _ModelState& ld, _RandGen& rgs, size_t iterationCnt, size_t partitionId = 0) const
		{
			size_t b = 0, e = doc.words.size();
			if (_ps == ParallelScheme::partition)
			{
				b = edd.chunkOffsetByDoc(partitionId, docId);
				e = edd.chunkOffsetByDoc(partitionId + 1, docId);
			}

			size_t vOffset = (_ps == ParallelScheme::partition && partitionId) ? edd.vChunkOffset[partitionId - 1] : 0;

			const auto K = this->K;
			for (size_t w = b; w < e; ++w)
			{
				if (doc.words[w] >= this->realV) continue;
				addWordTo<-1>(ld, doc, w, doc.words[w] - vOffset, doc.Zs[w], doc.Z2s[w]);
				Float* dist;
				if (this->etaByTopicWord.size())
				{
					THROW_ERROR_WITH_INFO(exc::Unimplemented, "Unimplemented features");
				}
				else
				{
					dist = getZLikelihoods<false>(ld, doc, docId, doc.words[w] - vOffset);
				}
				if (_Exclusive)
				{
					auto z = sample::sampleFromDiscreteAcc(dist, dist + K2 + K + 1, rgs);
					if (z < K2)
					{
						doc.Zs[w] = (z * K / K2) + 1;
						doc.Z2s[w] = z + 1;
					}
					else if (z < K2 + K)
					{
						doc.Zs[w] = z - K2 + 1;
						doc.Z2s[w] = 0;
					}
					else
					{
						doc.Zs[w] = 0;
						doc.Z2s[w] = 0;
					}
				}
				else
				{
					auto z = sample::sampleFromDiscreteAcc(dist, dist + K * K2 + K + 1, rgs);
					if (z < K * K2)
					{
						doc.Zs[w] = (z / K2) + 1;
						doc.Z2s[w] = (z % K2) + 1;
					}
					else if (z < K * K2 + K)
					{
						doc.Zs[w] = z - K * K2 + 1;
						doc.Z2s[w] = 0;
					}
					else
					{
						doc.Zs[w] = 0;
						doc.Z2s[w] = 0;
					}
				}
				addWordTo<1>(ld, doc, w, doc.words[w] - vOffset, doc.Zs[w], doc.Z2s[w]);
			}
		}

		template<typename _ExtraDocData>
		void distributePartition(ThreadPool& pool, const _ModelState& globalState, _Model


 receiving end of a futures::mpsc channel
pub type Notification<T> = futures_mpsc::UnboundedReceiver<T>;

/// Current sync status
pub trait SyncProvider: Send + Sync {
	/// Get sync status
	fn status(&self) -> EthSyncStatus;

	/// Get peers information
	fn peers(&self) -> Vec<PeerInfo>;

	/// Get the enode if available.
	fn enode(&self) -> Option<String>;

	/// gets sync status notifications
	fn sync_notification(&self) -> Notification<SyncState>;

	/// Returns propagation count for pending transactions.
	fn transactions_stats(&self) -> BTreeMap<H256, TransactionStats>;

	/// are we in the middle of a major sync?
	fn is_major_syncing(&self) -> bool;
}

/// Transaction stats
#[derive(Debug)]
pub struct TransactionStats {
	/// Block number where this TX was first seen.
	pub first_seen: u64,
	/// Peers it was propagated to.
	pub propagated_to: BTreeMap<H512, usize>,
}

/// Peer connection information
#[derive(Debug)]
pub struct PeerInfo {
	/// Public node id
	pub id: Option<String>,
	/// Node client ID
	pub client_version: ClientVersion,
	/// Capabilities
	pub capabilities: Vec<String>,
	/// Remote endpoint address
	pub remote_address: String,
	/// Local endpoint address
	pub local_address: String,
	/// Eth protocol info.
	pub eth_info: Option<EthProtocolInfo>,
	/// Light protocol info.
	pub pip_info: Option<PipProtocolInfo>,
}

/// Ethereum protocol info.
#[derive(Debug)]
pub struct EthProtocolInfo {
	/// Protocol version
	pub version: u32,
	/// SHA3 of peer best block hash
	pub head: H256,
	/// Peer total difficulty if known
	pub difficulty: Option<U256>,
}

/// PIP protocol info.
#[derive(Debug)]
pub struct PipProtocolInfo {
	/// Protocol version
	pub version: u32,
	/// SHA3 of peer best block hash
	pub head: H256,
	/// Peer total difficulty if known
	pub difficulty: U256,
}

impl From<light_net::Status> for PipProtocolInfo {
	fn from(status: light_net::Status) -> Self {
		PipProtocolInfo {
			version: status.protocol_version,
			head: status.head_hash,
			difficulty: status.head_td,
		}
	}
}

/// A prioritized tasks run in a specialised timer.
/// Every task should be completed within a hard deadline,
/// if it's not it's either cancelled or split into multiple tasks.
/// NOTE These tasks might not complete at all, so anything
/// that happens here should work even if the task is cancelled.
#[derive(Debug)]
pub enum PriorityTask {
	/// Propagate given block
	PropagateBlock {
		/// When the task was initiated
		started: ::std::time::Instant,
		/// Raw block RLP to propagate
		block: Bytes,
		/// Block hash
		hash: H256,
		/// Blocks difficulty
		difficulty: U256,
	},
	/// Propagate a list of transactions
	PropagateTransactions(::std::time::Instant, Arc<atomic::AtomicBool>),
}
impl PriorityTask {
	/// Mark the task as being processed, right after it's retrieved from the queue.
	pub fn starting(&self) {
		match *self {
			PriorityTask::PropagateTransactions(_, ref is_ready) => is_ready.store(true, atomic::Ordering::SeqCst),
			_ => {},
		}
	}
}

/// EthSync initialization parameters.
pub struct Params {
	/// Configuration.
	pub config: SyncConfig,
	/// Runtime executor
	pub executor: Executor,
	/// Blockchain client.
	pub chai


# -*- coding: utf-8 -*-
##############################################################################
#
#    Copyright (C) 2012 Daniel Reis
#
#    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, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import osv

class mail_compose_message(osv.osv_memory):
    _inherit = 'mail.compose.message'

    def _get_template_id(self, cr, uid, context=None):
        """
        Return Email Template of particular record, as defined in it's Team (section_id).
        """
        res = None
        if context is None:
            context = {}
        active_model = context.get('active_model')
        active_id = context.get('active_id')
        if active_model and active_id:
            model_obj = self.pool.get(active_model)
            record = model_obj.browse(cr, uid, active_id, context=context)
            try:
                res = record.section_id and record.section_id.template_id and record.section_id.template_id.id or None
            except:
                pass
        return res

    _defaults = {
        'template_id' : _get_template_id,
    }

# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:


> -
Method in class edu.harvard.hul.ois.jhove.module.xml.XmlLexicalHandler

Gathers comments into the comments list.

CommentMarkerSegment - Class in edu.harvard.hul.ois.jhove.module.jpeg2000
Class for the COM (Comment) marker segment.
CommentMarkerSegment() -
Constructor for class edu.harvard.hul.ois.jhove.module.jpeg2000.CommentMarkerSegment

Constructor.

CommentsChunk - Class in edu.harvard.hul.ois.jhove.module.aiff
Implementation of the AIFF Comments Chunk.
CommentsChunk(AiffModule, ChunkHeader, DataInputStream) -
Constructor for class edu.harvard.hul.ois.jhove.module.aiff.CommentsChunk

Constructor.

commentsChunkSeen -
Variable in class edu.harvard.hul.ois.jhove.module.AiffModule

COMMERCIAL -
Static variable in class edu.harvard.hul.ois.jhove.AgentType

Agent type for a commercial entity.

CommonChunk - Class in <A HREF="./edu


ul{
    list-style:none;
}

/*begin signin*/
/* older
.dh-signin-header {
    background: #fff;
    background: rgba(255, 255, 255, 0.4);
    width:550px;
    padding:25px 40px;
    margin:15px 1px;

}
.dh-signin-header span{
    font-size:21pt;
    color: #fff;
}
.dh-signin-desc{
    margin:auto;
    font-size:21pt;
    width:495px;
    padding:10px;
    text-align:center;
    background:#875868;
    color:#fff;
}
.dh-signin
{
    margin:auto;
    background: url(../images/suncut_base-40.png);
    width: 495px;
    height: 377px;
    margin-top:10px;
    padding:1px;
}
.dh-signin-form{
    margin:auto;
    width:155px;
    margin-top:100px;
    color:#fff;

}
.dh-signin-form div{
    height:30px;
    line-height:30px;
    padding:1px;
}
.dh-signin-form .dh-signin-btn{
    text-align:center;
    vertical-align:midlle;
    margin:auto;
    margin-top:10px;
}

end older*/
.dh-signin-header {
    /*background: #fff;*/
	line-height:100px;
	margin-left:10%;
	span{
		vertical-align:bottom;
		font-size:21pt;
		color: #257CA1;
	}
}
.dh-signin-container{
    background: #fff;
	height:400px;
	margin:auto;
	/*background:url(../images/signin_bg.png);*/
	opacity:0.3;

}
.dh-signin-title{
	position:absolute;
	top:200px;
	left:15%;
		span{
		vertical-align:bottom;
		color: #fff;
		font-weight:bold;
	}
}
.dh-signin-form{
	margin:auto;
	position:absolute;
	right:15%;
	top:120px;
	opacity:1 $imp;
	height:300px;
	width:350px;
	float:right;
	background:none;
	background-color:white;
	border:2px solid #E6E6E6;
	.dh-signin-form-cell{
		margin-left:55px;
		margin-right:55px;
		input{
			color:#111 $imp;
		}
		.dh-signin-btn{
				vertical-align:midlle;
				background-color:#007ACC;
				border:1px solid #007ACC;
				color:white;
				line-height:30px;
				display:inline-block;
				text-decoration:none;
				padding-right:18px;
				padding-left:18px;
				width:50px;
				text-align:center;
		}
		.dh-signin-btn:hover{
			background-color:#248BD1;
		}
		.dh-signin-language{
			color:#9B9B9B;
			span{
				padding:5px;
				cursor:pointer;
			}
		}

		.dh-signin-message{
			color:black;
			background-color:#F9F5C7;
			display:block;
			border:1px solid #DAD699;
			max-height:100px;
			text-overflow:ellipsis;
		}

	}

	.dh-please-signin{
		margin:auto;
		display:block;
		text-align:center;
		font-size:16px $imp;
	}

	}

/*end signin*/

/*begin header*/
.dh-header{
    /*background: url(../images/header_banner.jpg) repeat;*/
	background-color:#344556;
	/*background-color:#3B749D $imp;*/
    .dh-center{
		/*margin-left:68px;
		margin-right:68px;
		*/
		margin:auto;
		max-width:90%;


95",
		"name": "Kie-Ntem",
		"country_id": "66"
	},
	{
		"id": "1096",
		"name": "Litoral",
		"country_id": "66"
	},
	{
		"id": "1097",
		"name": "Wele-Nzas",
		"country_id": "66"
	},
	{
		"id": "1098",
		"name": "Anseba",
		"country_id": "67"
	},
	{
		"id": "1099",
		"name": "Debub",
		"country_id": "67"
	},
	{
		"id": "1100",
		"name": "Debub-Keih-Bahri",
		"country_id": "67"
	},
	{
		"id": "1101",
		"name": "Gash-Barka",
		"country_id": "67"
	},
	{
		"id": "1102",
		"name": "Maekel",
		"country_id": "67"
	},
	{
		"id": "1103",
		"name": "Semien-Keih-Bahri",
		"country_id": "67"
	},
	{
		"id": "1104",
		"name": "Harju",
		"country_id": "68"
	},
	{
		"id": "1105",
		"name": "Hiiu",
		"country_id": "68"
	},
	{
		"id": "1106",
		"name": "Ida-Viru",
		"country_id": "68"
	},
	{
		"id": "1107",
		"name": "Jarva",
		"country_id": "68"
	},
	{
		"id": "1108",
		"name": "Jogeva",
		"country_id": "68"
	},
	{
		"id": "1109",
		"name": "Laane",
		"country_id": "68"
	},
	{
		"id": "1110",
		"name": "Laane-Viru",
		"country_id": "68"
	},
	{
		"id": "1111",
		"name": "Parnu",
		"country_id": "68"
	},
	{
		"id": "1112",
		"name": "Polva",
		"country_id": "68"
	},
	{
		"id": "1113",
		"name": "Rapla",
		"country_id": "68"
	},
	{
		"id": "1114",
		"name": "Saare",
		"country_id": "68"
	},
	{
		"id": "1115",
		"name": "Tartu",
		"country_id": "68"
	},
	{
		"id": "1116",
		"name": "Valga",
		"country_id": "68"
	},
	{
		"id": "1117",
		"name": "Viljandi",
		"country_id": "68"
	},
	{
		"id": "1118",
		"name": "Voru",
		"country_id": "68"
	},
	{
		"id": "1119",
		"name": "Addis Abeba",
		"country_id": "69"
	},
	{
		"id": "1120",
		"name": "Afar",
		"country_id": "69"
	},
	{
		"id": "1121",
		"name": "Amhara",
		"country_id": "69"
	},
	{
		"id": "1122",
		"name": "Benishangul",
		"country_id": "69"
	},
	{
		"id": "1123",
		"name": "Diredawa",
		"country_id": "69"
	},


this.apiurl + '/deleteUsuario/' + usuario.idusuario, { }).subscribe(res => console.log(res))
  }

  setUsuarioSelecionado(usuario: Usuario) {    //Define um usuário armazenado no service.
    this.usuario = usuario
  }

  getUsuarioSelecionado(): Usuario {   //Retorna o usuário armazenado no service.
    return this.usuario
  }

  removeUsuarioSelecionado() {   //Remove o usuário armazenado no service.
    this.usuario = null
  }

}
import { PostPreviewFragment } from "./../generated/wp-graphql";
import { BlogPosting } from "schema-dts";

/**
 * mapper-function to create schema.org/BlogPosting(s) for previews from fragments
 * @param input a fragment of a WordPress blog post
 * @param wpBaseURL the base domain of your wordpress installation. Used to add the slug
 */
export function mapWpPostPreviewToSchemaBlogPost(
	input?: PostPreviewFragment,
	wpBaseURL?: string
): BlogPosting | null {
	if (!input) return null;
	let featuredImgNode = input && input.featuredImage && input.featuredImage.node;
	let thumbnailUrl = featuredImgNode && featuredImgNode
		.srcSet!.split(" ")
		.find((val) => val.startsWith("http"));
	let output: BlogPosting = {
		"@type": "BlogPosting",
		...(wpBaseURL && { "@id": `${wpBaseURL}/${input.slug}` }),
		...(input.title && { name: input.title }),
		...(input && input.excerpt && { abstract: input.excerpt }),
		...(featuredImgNode && {
			image: {
				"@type": "ImageObject",
				...(featuredImgNode.description && {
					description: featuredImgNode.description,
				}),
				...(featuredImgNode.altText && {
					name: featuredImgNode.altText,
				}),
				...(featuredImgNode.sourceUrl && {
					contentUrl: featuredImgNode.sourceUrl,
				}),
				...(thumbnailUrl && { thumbnailUrl }),
			},
		}),
	};
	return output;
}
import { hash } from "../src/hash";

describe("hash", () => {
  test("exports", () => {
    expect(hash).toBeDefined();
  });
  test('simple hash', () => {
    const h = hash('fooBar');
    expect(h).toEqual('_z6tzpu');
  })
  test('same hash', () => {
    const h1 = hash('fooBar');
    const h2 = hash('fooBar');
    expect(h1).toEqual(h2);
  })
  test('variations', () => {
    const h1 = hash('fooBar');
    const h2 = hash('foobar');
    expect(h1).not.toEqual(h2);
  })
  test('css usage', () => {
    const h = hash(`
    border: 10px solid red;
    margin: 5em 4em 3em 2em;
    padding: 50px;
  `)
  expect(h).toEqual('_17di9gt');
  })
});
export const fetchJson = async (url: string) => {
  try {
    const json = await fetch(url, { method: 'GET' }).then(res => res.json());

    return json;

  } catch (error) {
    console.log(error);
  }
}

export const getTime = (seconds: number) => {
  const minutes = Math.floor(seconds / 60);
  const secnds = Math.floor(seconds - minutes * 60);

  const minuteValue = (minutes < 10) ? `0${minutes}` : minutes;
  const secondValue = (seconds < 10) ? `0${secnds}` : seconds;

  return `${minuteValue} : ${secondValue}`;
}import {LockExecutePlugin, ProxyFunctionType} from "./LockExecutePlugin";

/**
 * 模拟同步执行的插件
 */
export default class MockSyncExecutePlugin implements LockExecutePlugin {

    /**
     * 连续执行的最小间隔时间，毫秒数
     * 默认：1000
     */
    private minimumInterval


'root'} elementType
 * @param {Partial<Root> & Partial<BpmnAttributes>} [attrs]
 * @return {V}
 */

/**
 * Create a shape.
 *
 * @overlord
 * @param {'shape'} elementType
 * @param {Partial<Shape> & Partial<BpmnAttributes>} [attrs]
 * @return {W}
 */

/**
 * Create a connection.
 *
 * @overlord
 * @param {'connection'} elementType
 * @param {Partial<Connection> & Partial<BpmnAttributes>} [attrs]
 * @return {T}
 */

/**
 * Create a label.
 *
 * @param {'label'} elementType
 * @param {Partial<Label> & Partial<BpmnAttributes>} [attrs]
 * @return {U}
 */
ElementFactory.prototype.create = function(elementType, attrs) {

  // no special magic for labels,
  // we assume their businessObjects have already been created
  // and wired via attrs
  if (elementType === 'label') {
    var di = attrs.di || this._bpmnFactory.createDiLabel();
    return this._baseCreate(elementType, assign({ type: 'label', di: di }, DEFAULT_LABEL_SIZE, attrs));
  }

  return this.createElement(elementType, attrs);
};

/**
 * Create a BPMN root element.
 *
 * @overlord
 * @param {'root'} elementType
 * @param {Partial<Root> & Partial<BpmnAttributes>} [attrs]
 * @return {V}
 */

/**
 * Create a BPMN shape.
 *
 * @overlord
 * @param {'shape'} elementType
 * @param {Partial<Shape> & Partial<BpmnAttributes>} [attrs]
 * @return {W}
 */

/**
 * Create a BPMN connection.
 *
 * @param {'connection'} elementType
 * @param {Partial<Connection> & Partial<BpmnAttributes>} [attrs]
 * @return {T}
 */
ElementFactory.prototype.createElement = function(elementType, attrs) {

  attrs = assign({}, attrs || {});

  var size;

  var businessObject = attrs.businessObject,
      di = attrs.di;

  if (!businessObject) {
    if (!attrs.type) {
      throw new Error('no shape type specified');
    }

    businessObject = this._bpmnFactory.create(attrs.type);

    ensureCompatDiRef(businessObject);
  }

  if (!isModdleDi(di)) {
    var diAttrs = assign(
      {},
      di || {},
      { id: businessObject.id + '_di' }
    );

    if (elementType === 'root') {
      di = this._bpmnFactory.createDiPlane(businessObject, diAttrs);
    } else if (elementType === 'connection') {
      di = this._bpmnFactory.createDiEdge(businessObject, diAttrs);
    } else {
      di = this._bpmnFactory.createDiShape(businessObject, diAttrs);
    }
  }

  if (is(businessObject, 'bpmn:Group')) {
    attrs = assign({
      isFrame: true
    }, attrs);
  }

  attrs = applyAttributes(businessObject, attrs, [
    'processRef',
    'isInterrupting',
    'associationDirection',
    'isForCompensation'
  ]);

  if (attrs.isExpanded) {
    attrs = applyAttribute(di, attrs, 'isExpanded');
  }

  if (isAny(businessObject, [ 'bpmn:Lane', 'bpmn:Participant' ])) {
    attrs = applyAttribute(di, attrs, 'isHorizontal');
  }

  if (is(businessObject, 'bpmn:SubProcess')) {
    attrs.collapsed = !isExpanded(businessObject, di);
  }

  if (is(businessObject, 'bpmn:ExclusiveGateway')) {
    if (has(di, 'isMarkerVisible')) {
      if (di.isMarkerVisible === undefined) {
        di.isMarkerVisible = false;
      }
    } else {
      di.isMarkerVisible =


ToUseCount> getCount();
```

- *Type:* com.hashicorp.cdktf.IResolvable|java.util.List<<a href="#@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCount">Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCount</a>>

count block.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/wafv2_web_acl_rule_group_association#count Wafv2WebAclRuleGroupAssociation#count}

---

### Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow <a name="Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow" id="@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow"></a>

#### Initializer <a name="Initializer" id="@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow.Initializer"></a>

```java
import com.hashicorp.cdktf.providers.aws.wafv2_web_acl_rule_group_association.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow;

Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow.builder()
//  .customRequestHandling(IResolvable|java.util.List<Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllowCustomRequestHandling>)
    .build();
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow.property.customRequestHandling">customRequestHandling</a></code> | <code>com.hashicorp.cdktf.IResolvable\|java.util.List<<a href="#@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllowCustomRequestHandling">Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllowCustomRequestHandling</a>></code> | custom_request_handling block. |

---

##### `customRequestHandling`<sup>Optional</sup> <a name="customRequestHandling" id="@cdktf/provider-aws.wafv2WebAclRuleGroupAssociation.Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllow.property.customRequestHandling"></a>

```java
public IResolvable|java.util.List<Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllowCustomRequestHandling> getCustomRequestHandling();
```

- *Type:* com.hashicorp.cdktf.IResolvable|java.util.List<Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseAllowCustomRequestHandling>

custom_request_handling block.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/waf


alue, error) {
			return cv.ID, nil
		},
		column: certifyvex.FieldID,
		toTerm: certifyvex.ByID,
		toCursor: func(cv *CertifyVex) Cursor {
			return Cursor{ID: cv.ID}
		},
	},
}

// ToEdge converts CertifyVex into CertifyVexEdge.
func (cv *CertifyVex) ToEdge(order *CertifyVexOrder) *CertifyVexEdge {
	if order == nil {
		order = DefaultCertifyVexOrder
	}
	return &CertifyVexEdge{
		Node:   cv,
		Cursor: order.Field.toCursor(cv),
	}
}

// CertifyVulnEdge is the edge representation of CertifyVuln.
type CertifyVulnEdge struct {
	Node   *CertifyVuln `json:"node"`
	Cursor Cursor       `json:"cursor"`
}

// CertifyVulnConnection is the connection containing edges to CertifyVuln.
type CertifyVulnConnection struct {
	Edges      []*CertifyVulnEdge `json:"edges"`
	PageInfo   PageInfo           `json:"pageInfo"`
	TotalCount int                `json:"totalCount"`
}

func (c *CertifyVulnConnection) build(nodes []*CertifyVuln, pager *certifyvulnPager, after *Cursor, first *int, before *Cursor, last *int) {
	c.PageInfo.HasNextPage = before != nil
	c.PageInfo.HasPreviousPage = after != nil
	if first != nil && *first+1 == len(nodes) {
		c.PageInfo.HasNextPage = true
		nodes = nodes[:len(nodes)-1]
	} else if last != nil && *last+1 == len(nodes) {
		c.PageInfo.HasPreviousPage = true
		nodes = nodes[:len(nodes)-1]
	}
	var nodeAt func(int) *CertifyVuln
	if last != nil {
		n := len(nodes) - 1
		nodeAt = func(i int) *CertifyVuln {
			return nodes[n-i]
		}
	} else {
		nodeAt = func(i int) *CertifyVuln {
			return nodes[i]
		}
	}
	c.Edges = make([]*CertifyVulnEdge, len(nodes))
	for i := range nodes {
		node := nodeAt(i)
		c.Edges[i] = &CertifyVulnEdge{
			Node:   node,
			Cursor: pager.toCursor(node),
		}
	}
	if l := len(c.Edges); l > 0 {
		c.PageInfo.StartCursor = &c.Edges[0].Cursor
		c.PageInfo.EndCursor = &c.Edges[l-1].Cursor
	}
	if c.TotalCount == 0 {
		c.TotalCount = len(nodes)
	}
}

// CertifyVulnPaginateOption enables pagination customization.
type CertifyVulnPaginateOption func(*certifyvulnPager) error

// WithCertifyVulnOrder configures pagination ordering.
func WithCertifyVulnOrder(order *CertifyVulnOrder) CertifyVulnPaginateOption {
	if order == nil {
		order = DefaultCertifyVulnOrder
	}
	o := *order
	return func(pager *certifyvulnPager) error {
		if err := o.Direction.Validate(); err != nil {
			return err
		}
		if o.Field == nil {
			o.Field = DefaultCertifyVulnOrder.Field
		}
		pager.order = &o
		return nil
	}
}

// WithCertifyVulnFilter configures pagination filter.
func WithCertifyVulnFilter(filter func(*CertifyVulnQuery) (*CertifyVulnQuery, error)) CertifyVulnPaginateOption {
	return func(pager *certifyvulnPager) error {
		if filter == nil {
			return errors.New("CertifyVulnQuery filter cannot be nil")
		}
		pager.filter = filter
		return nil
	}


wSliceEx({start: 7, duration: 2}));
    group.updateBounds();
    assert.strictEqual(group.bounds.min, 1);
    assert.strictEqual(group.bounds.max, 9);
  });

  test('boundsWithPartial', function() {
    const group = new SliceGroup(newFakeThread());
    group.beginSlice('', 'a', 7);
    group.updateBounds();
    assert.strictEqual(group.bounds.min, 7);
    assert.strictEqual(group.bounds.max, 7);
  });

  test('boundsWithTwoPartials', function() {
    const group = new SliceGroup(newFakeThread());
    group.beginSlice('', 'a', 0);
    group.beginSlice('', 'a', 1);
    group.updateBounds();
    assert.strictEqual(group.bounds.min, 0);
    assert.strictEqual(group.bounds.max, 1);
  });

  test('boundsWithBothPartialAndRegular', function() {
    const group = new SliceGroup(newFakeThread());
    group.updateBounds();
    assert.isUndefined(group.bounds.min);
    assert.isUndefined(group.bounds.max);

    group.pushSlice(newSliceEx({start: 1, duration: 3}));
    group.beginSlice('', 'a', 7);
    group.updateBounds();
    assert.strictEqual(group.bounds.min, 1);
    assert.strictEqual(group.bounds.max, 7);
  });

  test('autocloserBasic', function() {
    const group = new SliceGroup(newFakeThread());
    assert.strictEqual(0, group.openSliceCount);

    group.pushSlice(newSliceEx({title: 'a', start: 1, duration: 0.5}));

    group.beginSlice('', 'b', 2);
    group.beginSlice('', 'c', 2.5);
    group.endSlice(3);

    group.autoCloseOpenSlices();
    group.updateBounds();

    assert.strictEqual(group.bounds.min, 1);
    assert.strictEqual(group.bounds.max, 3);
    assert.strictEqual(group.slices.length, 3);

    assert.strictEqual(group.slices[0].title, 'a');
    assert.isFalse(group.slices[0].didNotFinish);

    assert.strictEqual(group.slices[1].title, 'b');
    assert.isTrue(group.slices[1].didNotFinish);
    assert.strictEqual(group.slices[1].duration, 1);

    assert.strictEqual(group.slices[2].title, 'c');
    assert.isFalse(group.slices[2].didNotFinish);
  });

  test('autocloserWithSubTasks', function() {
    const group = new SliceGroup(newFakeThread());
    assert.strictEqual(0, group.openSliceCount);

    group.beginSlice('', 'a', 1);
    group.beginSlice('', 'b1', 2);
    group.endSlice(3);
    group.beginSlice('', 'b2', 3);

    group.autoCloseOpenSlices();
    assert.strictEqual(group.slices.length, 3);

    assert.strictEqual(group.slices[0].title, 'a');
    assert.isTrue(group.slices[0].didNotFinish);
    assert.strictEqual(group.slices[0].duration, 2);

    assert.strictEqual(group.slices[1].title, 'b1');
    assert.isFalse(group.slices[1].didNotFinish);
    assert.strictEqual(group.slices[1].duration, 1);

    assert.strictEqual(group.slices[2].title, 'b2');
    assert.isTrue(group.slices[2].didNotFinish);
    assert.strictEqual(group.slices[2].


Y29sb3I6ICNGRkY7XG5cbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgY29sb3I6ICNBRUQ0RUY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */// Foundation by ZURB
// foundation.zurb.com
// Licensed under MIT Open Source

@import "global";

//
// Block Grid Variables
//
$include-html-block-grid-classes: $include-html-classes !default;
$include-xl-html-block-grid-classes: false !default;

// We use this to control the maximum number of block grid elements per row
$block-grid-elements: 12 !default;
$block-grid-default-spacing: rem-calc(20) !default;

$align-block-grid-to-grid: false !default;
@if $align-block-grid-to-grid {
  $block-grid-default-spacing: $column-gutter;
}

// Enables media queries for block-grid classes. Set to false if writing semantic HTML.
$block-grid-media-queries: true !default;

//
// Block Grid Mixins
//

// Create a custom block grid
//
// $per-row - # of items to display per row. Default: false.
// $spacing - # of ems to use as padding on each block item. Default: rem-calc(20).
// $include-spacing - Adds padding to our list item. Default: true.
// $base-style - Apply a base style to block grid. Default: true.
@mixin block-grid(
  $per-row:false,
  $spacing:$block-grid-default-spacing,
  $include-spacing:true,
  $base-style:true) {

  @if $base-style {
    display: block;
    padding: 0;
    @if $align-block-grid-to-grid {
      margin: 0;
    } @else {
      margin: 0 (-$spacing/2);
    }
    @include clearfix;

    &>li {
      display: block;
      height: auto;
      float: $default-float;
      @if $include-spacing {
        padding: 0 ($spacing/2) $spacing;
      }
    }
  }

  @if $per-row {
    &>li {
      width: 100%/$per-row;
      @if $include-spacing {
        padding: 0 ($spacing/2) $spacing;
      }
      list-style: none;

      &:nth-of-type(1n) { clear: none; }
      &:nth-of-type(#{$per-row}n+1) { clear: both; }
      @if $align-block-grid-to-grid {
        @include block-grid-aligned($per-row, $spacing);
      }
    }
  }
}

@mixin block-grid-aligned($per-row, $spacing) {
  @for $i from 1 through $block-grid-elements {
    @if $per-row >= $i {
      $grid-column: '+' + $i;
      @if $per-row == $i {
        $grid-column: '';
      }
      &:nth-of-type(#{$per-row}n#{unquote($grid-column)}) {
        padding-left: ($spacing - (($spacing / $per-row) * ($per-row - ($i - 1))));
        padding-right: ($spacing - (($spacing / $per-row) * $i));
      }
    }
  }
}

// Generate presentational markup for block grid.
//
// $size - Name of class to use, i.e. "large" will generate .large-block-grid-1, .large-block-grid-2, etc.
@mixin block-grid-html-classes($size,$include-spacing) {
  @for $i from 1 through $block-grid-elements {
    .#{$size}-block-grid-#{($i)} {
      @include block-grid($i,$block-grid-default-spacing,$include-spacing,false);
    }
  }
}

@include exports("block-grid") {
  @if $include-html-block-grid-classes {

    [class*="


 DigestUtil.hexDigest(it)
        assertThat("\"$copiedDigest\"").isEqualTo(matchingEtag)
      }
  }

  @Test
  @S3VerifiedSuccess(year = 2025)
  fun `copy object with if-none-match=true succeeds and object can be retrieved`(testInfo: TestInfo) {
    val sourceKey = UPLOAD_FILE_NAME
    val (bucketName, putObjectResult) = givenBucketAndObject(testInfo, sourceKey)
    val destinationBucketName = givenBucket()
    val destinationKey = "copyOf/$sourceKey"
    val noneMatchingEtag = "\"${randomName}\""

    s3Client
      .copyObject {
        it.sourceBucket(bucketName)
        it.sourceKey(sourceKey)
        it.destinationBucket(destinationBucketName)
        it.destinationKey(destinationKey)
        it.copySourceIfNoneMatch(noneMatchingEtag)
      }.copyObjectResult()
      .eTag()
      .let { eTag ->
        assertThat(eTag).isEqualTo(putObjectResult.eTag())
      }

    s3Client
      .getObject {
        it.bucket(destinationBucketName)
        it.key(destinationKey)
      }.use {
        val copiedDigest = DigestUtil.hexDigest(it)
        assertThat("\"$copiedDigest\"").isEqualTo(putObjectResult.eTag())
      }
  }

  @Test
  @S3VerifiedSuccess(year = 2025)
  fun `copy object fails with if-match=false`(testInfo: TestInfo) {
    val sourceKey = UPLOAD_FILE_NAME
    val (bucketName, _) = givenBucketAndObject(testInfo, sourceKey)
    val destinationBucketName = givenBucket()
    val destinationKey = "copyOf/$sourceKey"
    val noneMatchingEtag = "\"${randomName}\""

    assertThatThrownBy {
      s3Client.copyObject {
        it.sourceBucket(bucketName)
        it.sourceKey(sourceKey)
        it.destinationBucket(destinationBucketName)
        it.destinationKey(destinationKey)
        it.copySourceIfMatch(noneMatchingEtag)
      }
    }.isInstanceOf(S3Exception::class.java)
      .hasMessageContaining("Service: S3, Status Code: 412")
      .hasMessageContaining(PRECONDITION_FAILED.message)
  }

  @Test
  @S3VerifiedSuccess(year = 2025)
  fun `copy object fails with if-none-match=false`(testInfo: TestInfo) {
    val sourceKey = UPLOAD_FILE_NAME
    val (bucketName, putObjectResult) = givenBucketAndObject(testInfo, sourceKey)
    val destinationBucketName = givenBucket()
    val destinationKey = "copyOf/$sourceKey"
    val matchingEtag = putObjectResult.eTag()

    assertThatThrownBy {
      s3Client.copyObject {
        it.sourceBucket(bucketName)
        it.sourceKey(sourceKey)
        it.destinationBucket(destinationBucketName)
        it.destinationKey(destinationKey)
        it.copySourceIfNoneMatch(matchingEtag)
      }
    }.isInstanceOf(S3Exception::class.java)
      .hasMessageContaining("Service: S3, Status Code: 412")
      .hasMessageContaining(PRECONDITION_FAILED.message)
  }

  @Test
  @S3VerifiedSuccess(year = 2025)
  fun `copy object succeeds with same bucket and key with REPLACE and changing metadata`(testInfo: TestInfo) {
    val bucketName = givenBucket(testInfo)
    val sourceKey = UPLOAD_FILE_NAME
    val putObjectResult =
      s3Client.putObject(
        {
          it.bucket(bucketName)
          it.key(sourceKey)
          it.metadata(mapOf("test-key" to "test-value"))
        },
        RequestBody.fromFile(UPLOAD_FILE),
      )
    val sourceLastModified =
      s3Client
        .headObject {
          it.bucket(bucketName)
          it.key(sourceKey)


Cc(false), "weak") * C(opaque_tag)
local ETag = entity_tag

-- RFC 7232 Section 3.1
local If_Match = P"*" + http_core.comma_sep(entity_tag, 1)

-- RFC 7232 Section 3.2
local If_None_Match = P"*" + http_core.comma_sep(entity_tag, 1)

-- RFC 7232 Section 3.3
local If_Modified_Since = http_semantics.HTTP_date

-- RFC 7232 Section 3.4
local If_Unmodified_Since = http_semantics.HTTP_date

return {
	entity_tag = entity_tag;
	opaque_tag = opaque_tag;

	Last_Modified = Last_Modified;
	ETag = ETag;
	If_Match = If_Match;
	If_None_Match = If_None_Match;
	If_Modified_Since = If_Modified_Since;
	If_Unmodified_Since = If_Unmodified_Since;
}


y - window->DC.CursorStartPos.y);
    content_size_ideal->x = (window->ContentSizeExplicit.x != 0.0f) ? window->ContentSizeExplicit.x : IM_TRUNC(ImMax(window->DC.CursorMaxPos.x, window->DC.IdealMaxPos.x) - window->DC.CursorStartPos.x);
    content_size_ideal->y = (window->ContentSizeExplicit.y != 0.0f) ? window->ContentSizeExplicit.y : IM_TRUNC(ImMax(window->DC.CursorMaxPos.y, window->DC.IdealMaxPos.y) - window->DC.CursorStartPos.y);
}

static ImVec2 CalcWindowAutoFitSize(ImGuiWindow* window, const ImVec2& size_contents)
{
    ImGuiContext& g = *GImGui;
    ImGuiStyle& style = g.Style;
    const float decoration_w_without_scrollbars = window->DecoOuterSizeX1 + window->DecoOuterSizeX2 - window->ScrollbarSizes.x;
    const float decoration_h_without_scrollbars = window->DecoOuterSizeY1 + window->DecoOuterSizeY2 - window->ScrollbarSizes.y;
    ImVec2 size_pad = window->WindowPadding * 2.0f;
    ImVec2 size_desired = size_contents + size_pad + ImVec2(decoration_w_without_scrollbars, decoration_h_without_scrollbars);
    if (window->Flags & ImGuiWindowFlags_Tooltip)
    {
        // Tooltip always resize
        return size_desired;
    }
    else
    {
        // Maximum window size is determined by the viewport size or monitor size
        ImVec2 size_min = CalcWindowMinSize(window);
        ImVec2 size_max = ImVec2(FLT_MAX, FLT_MAX);

        // Child windows are layed within their parent (unless they are also popups/menus) and thus have no restriction
        if ((window->Flags & ImGuiWindowFlags_ChildWindow) == 0 || (window->Flags & ImGuiWindowFlags_Popup) != 0)
        {
            if (!window->ViewportOwned)
                size_max = ImGui::GetMainViewport()->WorkSize - style.DisplaySafeAreaPadding * 2.0f;
            const int monitor_idx = window->ViewportAllowPlatformMonitorExtend;
            if (monitor_idx >= 0 && monitor_idx < g.PlatformIO.Monitors.Size)
                size_max = g.PlatformIO.Monitors[monitor_idx].WorkSize - style.DisplaySafeAreaPadding * 2.0f;
        }

        ImVec2 size_auto_fit = ImClamp(size_desired, size_min, ImMax(size_min, size_max));

        // FIXME: CalcWindowAutoFitSize() doesn't take into account that only one axis may be auto-fit when calculating scrollbars,
        // we may need to compute/store three variants of size_auto_fit, for x/y/xy.
        // Here we implement a workaround for child windows only, but a full solution would apply to normal windows as well:
        if ((window->ChildFlags & ImGuiChildFlags_ResizeX) && !(window->ChildFlags & ImGuiChildFlags_ResizeY))
            size_auto_fit.y = window->SizeFull.y;
        else if (!(window->ChildFlags & ImGuiChildFlags_ResizeX) && (window->ChildFlags & ImGuiChildFlags_ResizeY))
            size_auto_fit.x = window->SizeFull.x;

        // When the window cannot fit all contents (either because of constraints, either because screen is too small),
        // we are growing the size on the other axis to compensate for expected scrollbar. FIXME: Might turn bigger than ViewportSize-WindowPadding.
        ImVec2 size_auto_fit_after_constraint = CalcWindowSiz


28,U+6A32,U+6A34,U+6A3B-6A3C,U+6A3E-6A41,U+6A46,U+6A49,U+6A4D-6A51,U+6A54-6A56,U+6A5A-6A5B,U+6A5D-6A5E,U+6A60,U+6A64,U+6A66-6A6A,U+6A6D,U+6A6F,U+6A76,U+6A7F,U+6A81,U+6A83,U+6A85,U+6A87,U+6A89,U+6A8C-6A8E,U+6A91-6A93,U+6A95-6A96,U+6A9A-6A9B,U+6A9E-6A9F,U+6AA1,U+6AA4-6AA6,U+6AA8,U+6AAD,U+6AB4,U+6AB6-6AB7,U+6AB9-6ABA,U+6ABD,U+6AC5-6AC7,U+6ACB-6ACD,U+6ACF-6AD1,U+6AD9
}
/* imvcp [62] */
@font-face {
  font-family: 'I.MingVarCP';
  font-style: normal;
  font-display: block;
  src: url('./imvcp-sub62.woff2') format('woff2');
  unicode-range: U+6ADC,U+6ADE-6AE1,U+6AE7-6AE8,U+6AEA-6AEB,U+6AEE-6AF1,U+6AF3,U+6B05,U+6AF9,U+6AFC,U+6B00,U+6B02-6B03,U+6B08-6B09,U+6B0B,U+6B0F,U+6B11-6B13,U+6B17-6B1A,U+6B1E,U+6B25,U+6B28,U+6B2C-6B2D,U+6B2F,U+6B31,U+6B33-6B34,U+6B36-6B39,U+6B3B-6B3C,U+6B3F,U+6B41-6B43,U+6B45-6B46,U+6B48,U+6B4A-6B4B,U+6B4D,U+6B51,U+6B54-6B56,U+6B5B,U+6B5E,U+6B60,U+6B6D,U+6B76,U+6B7E,U+6B80,U+6B82,U+6B84,U+6B88,U+6B8C-6B8F,U+6B91,U+6B94-6B95,U+6B97,U+6B99,U+6B9B,U+6B9E-6BA0,U+6BA2-6BA3,U+6BA5-6BA7,U+6BAA-6BAB,U+6BAD,U+6BB0,U+6BB3,U+6BB6,U+6BBD,U+6BC3-6BC4,U+6BC7-6BCA,U+6BCC,U+6BD0,U+6BD6,U+6BD8,U+6BDE,U+6BE0,U+6BE2-6BE4,U+6BE6-6BE8,U+6BF0,U+6BF2-6BF3,U+6BF7-6BF9,U+6BFB-6BFC
}
/* imvcp [63] */
@font-face {
  font-family: 'I.MingVarCP';
  font-style: norma


/* main.c - Application main entry point */

/*
 * Copyright (c) 2015-2016 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <stddef.h>
#include <sys/util.h>

#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>

#define LOG_TAG "scan_adv"
#include "wm_log.h"

static void scan_cb(const bt_addr_le_t *addr, int8_t rssi, uint8_t adv_type, struct net_buf_simple *buf)
{
    char info[64] = { 0 };
    char addr_str[BT_ADDR_LE_STR_LEN];

    bt_addr_le_to_str(addr, addr_str, sizeof(addr_str));
    sprintf(info, "addr:%s, rssi %d, adv_type %d", addr_str, rssi, adv_type);

    wm_log_dump(WM_LOG_LEVEL_INFO, info, 32, buf->data, buf->len);
}

int main(void)
{
    struct bt_le_scan_param scan_param = {
        .type     = BT_HCI_LE_SCAN_ACTIVE,
        .options  = BT_LE_SCAN_OPT_NONE,
        .interval = 0x0010,
        .window   = 0x0010,
    };
    int err;

    wm_log_info("Starting Scanner Demo");

    /* Initialize the Bluetooth Subsystem */
    err = bt_enable(NULL);
    if (err) {
        wm_log_error("Bluetooth init failed (err %d)", err);
        return 0;
    }

    wm_log_info("Bluetooth initialized");

    err = bt_le_scan_start(&scan_param, scan_cb);
    if (err) {
        wm_log_error("Starting scanning failed (err %d)", err);
        return 0;
    }

    do {
        k_sleep(K_MSEC(1000));
    } while (1);

    return 0;
}


)

        unit.ActualHealthBar:SetPoint('BOTTOMLEFT', icon, 'BOTTOMRIGHT', 5, 0)
        unit.ActualHealthBar:SetTexture(C.Assets.Textures.StatusbarNormal)
        local bg = F.SetBD(unit.ActualHealthBar)
        bg:SetPoint('TOPLEFT', unit.ActualHealthBar, -1, 1)
        bg:SetPoint('BOTTOMRIGHT', unit.ActualHealthBar, 'BOTTOMLEFT', 129, -1)
    end

    -- Petbar Background
    local width, height = 180, 68
    local anchors = {
        ['BOTTOMRIGHT'] = { 0, 0.5 },
        ['BOTTOMLEFT'] = { 0.5, 0 },


t _unexpected;
#if ! defined JASEL_NO_CXX11_RVALUE_REFERENCE_FOR_THIS
  BOOST_CXX14_CONSTEXPR const unexpected_t &unexpected_() const& { return _unexpected; }
  BOOST_CXX14_CONSTEXPR unexpected_t &unexpected_() &{ return _unexpected; }
  JASEL_CONSTEXPR_IF_MOVE_ACCESSORS unexpected_t &&unexpected_() &&{ return move(_unexpected); }
  JASEL_CONSTEXPR_IF_MOVE_ACCESSORS const unexpected_t &&unexpected_() const &&{ return move(_unexpected); }
  BOOST_CXX14_CONSTEXPR const error_type &err() const& { return _unexpected.value(); }
#if defined __clang__
  BOOST_CXX14_CONSTEXPR error_type &err() & { return _unexpected.value(); }
#else
  BOOST_CXX14_CONSTEXPR error_type &err() & { return _unexpected.error_; } // fixme
#endif
  JASEL_CONSTEXPR_IF_MOVE_ACCESSORS error_type &&err() && { return move(_unexpected.value()); }
  JASEL_CONSTEXPR_IF_MOVE_ACCESSORS const error_type &&err() const && { return move(_unexpected.value()); }
#else
  constexpr const unexpected_t &unexpected_() const { return _unexpected; }
  constexpr unexpected_t &unexpected_() { return _unexpected; }
  constexpr const error_type &err() const { return unexpected_().value(); }
  constexpr error_type &err() { return unexpected_().value(); }
#endif
  constexpr const value_type &val() const { return _val; }
  value_type &val() { return _val; }
#endif

  constexpr explicit no_trivial_expected_storage(only_set_initialized_t)
  : dummy(0)
  {}
  JASEL_0_REQUIRES(
        is_default_constructible<value_type>::value
  )
  constexpr no_trivial_expected_storage()
  : _val(boost_expected_unrestricted_union_emulation_default_tag())
  {}

  constexpr explicit no_trivial_expected_storage(value_type const& v)
  : _val(v)
  {}
  constexpr explicit no_trivial_expected_storage(value_type && v)
  : _val(move(v))
  {}

  constexpr explicit no_trivial_expected_storage(unexpected_t const& e)
  : _unexpected(e)
  {}
  constexpr explicit no_trivial_expected_storage(unexpected_t && e)
  : _unexpected(move(e))
  {}

  template <class Err>
  constexpr explicit no_trivial_expected_storage(unexpected<Err> const& e)
  : _unexpected(error_traits<error_type>::make_error(e.value()))
  {}

  constexpr explicit no_trivial_expected_storage(in_place_t) //BOOST_NOEXCEPT_IF()
  : _val(boost_expected_unrestricted_union_emulation_default_tag())
  {}

  template <class... Args>
  constexpr explicit no_trivial_expected_storage(in_place_t, Args&&... args) //BOOST_NOEXCEPT_IF()
  : _val(constexpr_forward<Args>(args)...)
  {}

  no_trivial_expected_storage(no_trivial_expected_storage const&) = default;
  no_trivial_expected_storage(no_trivial_expected_storage &&) noexcept = default;
  no_trivial_expected_storage& operator=(no_trivial_expected_storage const&) = default;
  no_trivial_expected_storage& operator=(no_trivial_expected_storage &&) noexcept = default;

  ~no_trivial_expected_storage() {}
};

template <typename E>
#ifdef JASEL_NO_CXX11_UNRESTRICTED_UNIONS
struct no_trivial_expected_storage<void, E>
  : unrestricted_union_emulation_storage<void, E>,
  unrestricted_union_emulation_err_tag


LY, which is also the first ever drone ship landing. In February 2018, the Falcon Heavy Test Flight's central core exploded upon impact next to OCISLY that damaged two of the four thrusters on the drone ship. Two thrusters were removed from the Marmac 303 barge in order to repair OCISLY.",
            status: 'active',
            id: '5e9e3032383ecb6bb234e7ca',
          ),
        ),
      );
    });

    test('correctly returns first launch data', () {
      expect(
        Core(launches: const []).getFirstLaunched(MockBuildContext()),
        'spacex.other.unknown',
      );

      expect(
        Core(
          launches: [LaunchDetails(date: DateTime.now())],
        ).getFirstLaunched(MockBuildContext()),
        DateFormat.yMMMMd().format(DateTime.now().toLocal()),
      );
    });

    test('correctly returns details', () {
      expect(
        Core().getDetails(MockBuildContext()),
        'spacex.dialog.vehicle.no_description_core',
      );

      expect(
        Core(lastUpdate: 'Lorem').getDetails(MockBuildContext()),
        'Lorem',
      );
    });

    test('correctly returns block', () {
      expect(
        Core().getBlock(MockBuildContext()),
        'spacex.other.unknown',
      );

      expect(
        Core(block: 5).getBlock(MockBuildContext()),
        'spacex.other.block',
      );
    });

    test('correctly returns status', () {
      expect(
        Core(status: 'test').getStatus,
        'Test',
      );
    });

    test('correctly returns launch number', () {
      expect(
        Core(launches: const [
          LaunchDetails(),
          LaunchDetails(),
        ]).getLaunches,
        '2',
      );
    });

    test('correctly check mission number', () {
      expect(
        Core(launches: const []).hasMissions,
        false,
      );
    });

    test('correctly returns RTLS landings', () {
      expect(
        Core(rtlsAttempts: 10, rtlsLandings: 5).getRtlsLandings,
        '5/10',
      );
    });

    test('correctly returns ASDS landings', () {
      expect(
        Core(asdsAttempts: 10, asdsLandings: 5).getAsdsLandings,
        '5/10',
      );
    });
  });
}
import 'package:cherry/models/index.dart';
import 'package:cherry/repositories/index.dart';
import 'package:cherry/services/index.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';

import 'mock.dart';

class MockAchievementsService extends Mock implements AchievementsService {}

void main() {
  group('AchievementsRepository', () {
    MockAchievementsService service;
    AchievementsRepository repository;

    setUp(() {
      service = MockAchievementsService();
      repository = AchievementsRepository(service);
    });

    test('returns request when client returns 200', () async {
      final response = MockResponse();
      const json = [
        {
          "links": {
            "article":
                "http://www.spacex.com/news/2013/02/11/flight-4-launch-update-0"
          },
          "title": "Falcon reaches Earth orbit",
          "event_date_utc": "2008-09-28T23:15:00Z",
          "event_date_unix": 1222643700,
          "details":
              "Falcon 1 becomes the first privately developed liquid-fuel rocket to reach Earth orbit.",
          "id": "5f6fb2cfdcfdf403df37971e"
        }
      ];

      when(
        service.getAchievements(),


ction(scope, element, attrs) {
        scope.$watch(
          function(scope) {
             // watch the 'compile' expression for changes
            return scope.$eval(attrs.compile);
          },
          function(value) {
            // when the 'compile' expression changes
            // assign it into the current DOM
            element.html(value);

            // compile the new DOM and link it to the current
            // scope.
            // NOTE: we only compile .childNodes so that
            // we don't get into infinite loop compiling ourselves
            $compile(element.contents())(scope);
          }
        );
      };
    });
  })
  .controller('GreeterController', ['$scope', function($scope) {
    $scope.name = 'Angular';
    $scope.html = 'Hello {{name}}';
  }]);
</script>

  <input ng-model="name">

  <textarea ng-model="html"></textarea>

<!doctype html>

  <meta charset="UTF-8">
  <title>Example - example-datetimelocal-input-directive-debug</title>

<form name="myForm" ng-controller="DateController as dateCtrl">
  Pick a date between in 2013:
  <input type="datetime-local" id="exampleInput" name="input" ng-model="example.value"
      placeholder="yyyy-MM-ddTHH:mm:ss" min="2001-01-01T00:00:00" max="2013-12-31T00:00:00" required />

        Required!

        Not a valid date!

  <tt>value = {{example.value | date: "yyyy-MM-ddTHH:mm:ss"}}</tt>

  <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt>

  <tt>myForm.input.$error = {{myForm.input.$error}}</tt>

  <tt>myForm.$valid = {{myForm.$valid}}</tt>

  <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt>

</form>

<!doctype html>

  <meta charset="UTF-8">
  <title>Example - example-example3-jquery</title>

   <div> with ng-click and bindRoleForClick, tabindex set to false


95d\u8d3a\u6211\u4eec\u7684\u9752\u5e74\u4e3a\u793e\u4f1a\u4e3b\u4e49\u7acb\u529f!", "type": "paragraph"}]}
  </script>

    [返回索引页面]

   私营工商业者的子女们，站到社会主义事业的前列去!

   日期：1956-1-18 作者：《文汇报》社论

   《文汇报》社论

   我国人民好像每天在过节日一样，兴奋愉快，欢欣鼓舞，热烈庆祝资本主义工商业的社会主义改造又快又好的飞速前进。社会主义改造的最高潮到来了!

   在改造资本主义工商业这个汹涌澎湃的高涨中，在学校里念书的私营工商业者的子女表现得非常积极，情绪特别高涨。他们的社会主义积极性，首先表现在热烈拥护加速社会主义改造，要求私营企业早日一次公私合营。他们不断将家庭接受社会主义改造或者被批准公私合营的好消息带到学校中来，欢天喜地地告诉老师，告诉同学，学校师生们为他们的大喜事感到万分高兴，向他们亲切而又热诚的道喜；他们看到学校庆贺私营企业进行公私合营的红幛和街头川流不息的报喜队，激动得说不出话来。有些尚未公私合营的企业的家属，特别是他们的子女，看到每日、每时、每分钟公私合营都在增加，他们要求自己的家庭要迎头赶上去，紧随大流，奔赴社会主义改造的前列。这种愿望和要求，大大推动了父兄看到社会发展的趋势，勇敢地接受改造。这些青年是很好的，他们不愧于新中国的青年一代，他们已经站到社会主义高潮的前面去了。

   随着社会主义改造过程中生产关系的改变，人与人之间的关系发生了巨大的变化。这种变化，反映在学校里，师生之间、同学之间的团结和亲密友谊增强了，老师们和工农子女的学生看到私营工商业者子女的进步，为他们的家庭得到新生而高兴，为他们日夜盼望的这个好日子而高兴。反映在他们的家庭里，父母兄弟姊妹相处十分融洽，喜笑颜开，欢乐一堂。资本家们更深切的体会到，过去由于自己的“五毒”行为，受到社会、亲友和家庭的唾弃，资本主义使他们“断了六亲”；而今天，接受公私合营，不仅使他们生活在社会主义的大家庭里，而且社会主义使他们的小家庭也和睦起来了。我们认为:学校中师生之间、同学之间和私营工商业者子女之间召


 jl_gc_new_weakref(value: *mut jl_value_t) -> *mut jl_weakref_t;
}
extern "C" {
    pub fn jl_gc_alloc_0w() -> *mut jl_value_t;
}
extern "C" {
    pub fn jl_gc_alloc_1w() -> *mut jl_value_t;
}
extern "C" {
    pub fn jl_gc_alloc_2w() -> *mut jl_value_t;
}
extern "C" {
    pub fn jl_gc_alloc_3w() -> *mut jl_value_t;
}
extern "C" {
    pub fn jl_gc_allocobj(sz: usize) -> *mut jl_value_t;
}
extern "C" {
    pub fn jl_malloc_stack(
        bufsz: *mut usize,
        owner: *mut _jl_task_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn jl_free_stack(stkbuf: *mut ::std::os::raw::c_void, bufsz: usize);
}
extern "C" {
    pub fn jl_gc_use(a: *mut jl_value_t);
}
extern "C" {
    pub fn jl_clear_malloc_data();
}
extern "C" {
    pub fn jl_gc_queue_root(root: *mut jl_value_t);
}
extern "C" {
    pub fn jl_gc_queue_multiroot(root: *mut jl_value_t, stored: *mut jl_value_t);
}
extern "C" {
    pub fn jl_gc_managed_malloc(sz: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn jl_gc_managed_realloc(
        d: *mut ::std::os::raw::c_void,
        sz: usize,
        oldsz: usize,
        isaligned: ::std::os::raw::c_int,
        owner: *mut jl_value_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn jl_array_typetagdata(a: *mut jl_array_t) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn jl_compute_fieldtypes(
        st: *mut jl_datatype_t,
        stack: *mut ::std::os::raw::c_void,
    ) -> *mut jl_svec_t;
}
extern "C" {
    pub fn jl_subtype(a: *mut jl_value_t, b: *mut jl_value_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jl_egal(a: *mut jl_value_t, b: *mut jl_value_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jl_object_id(v: *mut jl_value_t) -> usize;
}
extern "C" {
    pub fn jl_has_free_typevars(v: *mut jl_value_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jl_has_typevar(t: *mut jl_value_t, v: *mut jl_tvar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jl_has_typevar_from_unionall(
        t: *mut jl_value_t,
        ua: *mut jl_unionall_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jl_subt


": "7%", "targets": 9 }
    ],
    dom: "<<'data-table-title'><'datatable-search'f>><'row'<'col-sm-12'tr>><<'pmd-datatable-pagination' l i p>>"
  });

</script>

History Odontogram

      Tanggal
      Elemen
      Kondisi
      Catatan
      Aksi

    {loop: $odontogram}

        {$value.tgl_input}
        {?=str_replace('gg_','Gigi ',$value.pemeriksaan)?}
        {$value.kondisi}
        {$value.catatan}
        <td


N_NETWORK = {
    'enable_distributed_router': False,
    'enable_firewall': False,
    'enable_ha_router': False,
    'enable_lb': False,
    'enable_quotas': True,
    'enable_security_group': True,
    'enable_firewall': True,
    'enable_vpn': False,
    'profile_support': None,
}

将修改更新到数据库：

[root@localhost ~(keystone_admin)]# neutron-db-manage --config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head

重启Neutron服务：

# systemctl restart neutron-server

3.2 配置防火墙

重新登录Horizonz，在【项目】-【网络】下的菜单会添加【防火墙】这一项，切换到【防火墙规则】添加以下规则：

切换到【防火墙策略】，添加一条策略，并加入刚才配置的2条规则：

切换到【防火墙】，添加一条记录，选择刚才创建的策略，并关联router_internal路由器：

3.3 测试防火墙

在外网服务器区使用server_www(172.16.0.5)分别ping互联网、办公区、内网服务器区：

<img data-original="http://image.3001.net/images/20170829/150399


/*
 * Copyright (C) 2013 Apple, Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
 */

#ifndef ArgumentsIteratorConstructor_h
#define ArgumentsIteratorConstructor_h

#include "InternalFunction.h"

namespace JSC {

class ArgumentsIteratorPrototype;

class ArgumentsIteratorConstructor : public JSNonFinalObject {
public:
    typedef JSNonFinalObject Base;

    static ArgumentsIteratorConstructor* create(VM& vm, Structure* structure, ArgumentsIteratorPrototype* prototype)
    {
        ArgumentsIteratorConstructor* constructor = new (NotNull, allocateCell<ArgumentsIteratorConstructor>(vm.heap)) ArgumentsIteratorConstructor(vm, structure);
        constructor->finishCreation(vm, prototype);
        return constructor;
    }

    DECLARE_INFO;

    static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
    {
        return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
    }

private:
    ArgumentsIteratorConstructor(VM& vm, Structure* structure)
        : Base(vm, structure)
    {
    }
    void finishCreation(VM&, ArgumentsIteratorPrototype*);
};

}

#endif // !defined(ArgumentsIteratorConstructor_h)


NG, // 13
    },
    Vector {
        handler: ECB, // 14
    },
    Vector {
        handler: CCM_AAR, // 15
    },
    Vector {
        handler: WDT, // 16
    },
    Vector {
        handler: RTC1, // 17
    },
    Vector {
        handler: QDEC, // 18
    },
    Vector {
        handler: COMP_LPCOMP, // 19
    },
    Vector {
        handler: SWI0_EGU0, // 20
    },
    Vector {
        handler: SWI1_EGU1, // 21
    },
    Vector {
        handler: SWI2_EGU2, // 22
    },
    Vector {
        handler: SWI3_EGU3, // 23
    },
    Vector {
        handler: SWI4_EGU4, // 24
    },
    Vector {
        handler: SWI5_EGU5, // 25
    },
    Vector {
        handler: TIMER3, // 26
    },
    Vector {
        handler: TIMER4, // 27
    },
    Vector {
        handler: PWM0, // 28
    },
    Vector {
        handler: PDM, // 29
    },
    Vector { reserved: 0 }, // 30
    Vector { reserved: 0 }, // 31
    Vector {
        handler: MWU, // 32
    },
    Vector {
        handler: PWM1, // 33
    },
    Vector {
        handler: PWM2, // 34
    },
    Vector {
        handler: SPIM2_SPIS2_SPI2, // 35
    },
    Vector {
        handler: RTC2, // 36
    },
    Vector {
        handler: I2S, // 37
    },
    Vector {
        handler: FPU, // 38
    },
    Vector {
        handler: USBD, // 39
    },
    Vector {
        handler: UARTE1, // 40
    },
    Vector {
        handler: QSPI, // 41
    },
    Vector {
        handler: CRYPTOCELL, // 42
    },
    Vector { reserved: 0 }, // 43
    Vector { reserved: 0 }, // 44
    Vector {
        handler: PWM3, // 45
    },
    Vector { reserved: 0 }, // 46
    Vector {
        handler: SPIM3, // 47
    },
];
<gh_stars>0
use crate::bitmask::BitMask;

pub struct EnableDisable<'a> {
    index: u16,
    bitmask: BitMask<'a>,
}

impl<'a> EnableDisable<'a> {
    pub fn new(index: u16, data: &'a mut u16) -> Self {
        let bitmask = BitMask::new(data);

        EnableDisable { index, bitmask }
    }

    pub fn enable(&mut self) {
        self.bitmask.set(self.index);
    }

    pub fn disable(&mut self) {
        self.bitmask.unset(self.index);
    }
}
<reponame>pixelspark/wonnx
use protobuf::RepeatedField;
use std::{borrow::Cow, collections::HashMap, sync::Arc};
use thiserror::Error;

use crate::{
    ir::{Input, Node, NodeDefinition, NodeIdentifier, OperatorDefinition},
    resource::padding,
    utils::{attribute, get_attribute, AttributeNotFoundError, DataTypeError, ScalarType},
};

#[derive(Debug, Error)]
pub enum OptimizerError {
    #[error("node has no inputs")]
    NoInputs,

    #[error("unsupported: {0}")]
    Unsupported(String),

    #[error("invalid data type {data_type:?} for input {input} of op {op}")]
    InvalidInputDataType {
        data_type: ScalarType,
        input: String,
        op: String,
    },

    #[error("error with data type: {0}")]
    InvalidDataType(#[from] DataTypeError),

    #[error("required attribute not found: {0}")]
    AttributeNotFound(#[from] AttributeNotFoundError),
}

#[derive(Clone)]
struct Sequence<'model> {
    node: Arc<Node<'model>>,
    skip: usize,
}

pub struct Optimizer<'model> {
    padded_tensors: HashMap<String, Arc<Node<'model


;
}

static void *packet_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
	struct net *net = seq_file_net(seq);
	return seq_hlist_next_rcu(v, &net->packet.sklist, pos);
}

static void packet_seq_stop(struct seq_file *seq, void *v)
	__releases(RCU)
{
	rcu_read_unlock();
}

static int packet_seq_show(struct seq_file *seq, void *v)
{
	if (v == SEQ_START_TOKEN)
		seq_printf(seq,
			   "%*sRefCnt Type Proto  Iface R Rmem   User   Inode\n",
			   IS_ENABLED(CONFIG_64BIT) ? -17 : -9, "sk");
	else {
		struct sock *s = sk_entry(v);
		const struct packet_sock *po = pkt_sk(s);

		seq_printf(seq,
			   "%pK %-6d %-4d %04x   %-5d %1d %-6u %-6u %-6lu\n",
			   s,
			   refcount_read(&s->sk_refcnt),
			   s->sk_type,
			   ntohs(READ_ONCE(po->num)),
			   READ_ONCE(po->ifindex),
			   po->running,
			   atomic_read(&s->sk_rmem_alloc),
			   from_kuid_munged(seq_user_ns(seq), sock_i_uid(s)),
			   sock_i_ino(s));
	}

	return 0;
}

static const struct seq_operations packet_seq_ops = {
	.start	= packet_seq_start,
	.next	= packet_seq_next,
	.stop	= packet_seq_stop,
	.show	= packet_seq_show,
};
#endif

static int __net_init packet_net_init(struct net *net)
{
	mutex_init(&net->packet.sklist_lock);
	INIT_HLIST_HEAD(&net->packet.sklist);

#ifdef CONFIG_PROC_FS
	if (!proc_create_net("packet", 0, net->proc_net, &packet_seq_ops,
			sizeof(struct seq_net_private)))
		return -ENOMEM;
#endif /* CONFIG_PROC_FS */

	return 0;
}

static void __net_exit packet_net_exit(struct net *net)
{
	remove_proc_entry("packet", net->proc_net);
	WARN_ON_ONCE(!hlist_empty(&net->packet.sklist));
}

static struct pernet_operations packet_net_ops = {
	.init = packet_net_init,
	.exit = packet_net_exit,
};

static void __exit packet_exit(void)
{
	sock_unregister(PF_PACKET);
	proto_unregister(&packet_proto);
	unregister_netdevice_notifier(&packet_netdev_notifier);
	unregister_pernet_subsys(&packet_net_ops);
}

static int __init packet_init(void)
{
	int rc;

	rc = register_pernet_subsys(&packet_net_ops);
	if (rc)
		goto out;
	rc = register_netdevice_notifier(&packet_netdev_notifier);
	if (rc)
		goto out_pernet;
	rc = proto_register(&packet_proto, 0);
	if (rc)
		goto out_notifier;
	rc = sock_register(&packet_family_ops);
	if (rc)
		goto out_proto;

	return 0;

out_proto:
	proto_unregister(&packet_proto);
out_notifier:
	unregister_netdevice_notifier(&packet_netdev_notifier);
out_pernet:
	unregister_pernet_subsys(&packet_net_ops);
out:
	return rc;
}

module_init(packet_init);
module_exit(packet_exit);
MODULE_LICENSE("GPL");
MODULE_ALIAS_NETPROTO(PF_PACKET);


Chainable method returning this that sets [View.xD] so that
 * [this] View's right side is aligned with the [other] View's right side
 */
fun <T : View> T.alignRightToRightOf(other: View, padding: Double = 0.0): T = alignX(other, 1.0, inside = true, padding = padding)
fun <T : View> T.alignRightToRightOf(other: View, padding: Float): T = alignRightToRightOf(other, padding.toDouble())
fun <T : View> T.alignRightToRightOf(other: View, padding: Int): T = alignRightToRightOf(other, padding.toDouble())

/**
 * Chainable method returning this that sets [View.yD] so that
 * [this] View's top side is aligned with the [other] View's top side
 */
fun <T : View> T.alignTopToTopOf(other: View, padding: Double = 0.0): T = alignY(other, 0.0, inside = true, padding = padding)
fun <T : View> T.alignTopToTopOf(other: View, padding: Float): T = alignTopToTopOf(other, padding.toDouble())
fun <T : View> T.alignTopToTopOf(other: View, padding: Int): T = alignTopToTopOf(other, padding.toDouble())

/**
 * Chainable method returning this that sets [View.yD] so that
 * [this] View's top side is aligned with the [other] View's bottom side
 */
fun <T : View> T.alignTopToBottomOf(other: View, padding: Double = 0.0): T = alignY(other, 1.0, inside = false, padding = padding)
fun <T : View> T.alignTopToBottomOf(other: View, padding: Float): T = alignTopToBottomOf(other, padding.toDouble())
fun <T : View> T.alignTopToBottomOf(other: View, padding: Int): T = alignTopToBottomOf(other, padding.toDouble())

/**
 * Chainable method returning this that sets [View.yD] so that
 * [this] View's bottom side is aligned with the [other] View's top side
 */
fun <T : View> T.alignBottomToTopOf(other: View, padding: Double = 0.0): T = alignY(other, 0.0, inside = false, padding = padding)
fun <T : View> T.alignBottomToTopOf(other: View, padding: Float): T = alignBottomToTopOf(other, padding.toDouble())
fun <T : View> T.alignBottomToTopOf(other: View, padding: Int): T = alignBottomToTopOf(other, padding.toDouble())

/**
 * Chainable method returning this that sets [View.yD] so that
 * [this] View's bottom side is aligned with the [other] View's bottom side
 */
fun <T : View> T.alignBottomToBottomOf(other: View, padding: Double = 0.0): T = alignY(other, 1.0, inside = true, padding = padding)
fun <T : View> T.alignBottomToBottomOf(other: View, padding: Float): T = alignBottomToBottomOf(other, padding.toDouble())
fun <T : View> T.alignBottomToBottomOf(other: View, padding: Int): T = alignBottomToBottomOf(other, padding.toDouble())
package korlibs.korge.view.filter

import korlibs.image.color.*
import korlibs.korge.testing.*
import korlibs.korge.view.*
import korlibs.korge.view.mask.*
import korlibs.math.geom.*
import org.junit.*

class MaskAndBackdropFilterScreenshotJvmTest {
    @Test
    fun test() = korgeScreenshotTest(Size(100, 100)) {
        solidRect(width, height, Colors.GREEN)

        //val fill1 = LinearGradientPaint(0, 0, 100, 100).add(0.0, Colors.RED).add(1.0, Colors.BLUE)
        val maskView = fastEllipse


  "CBDE",
  "GFNSL",
  "NMTpF.CL",
  "CASI",
  "JZK.CL",
  "KZ",
  "RYAMw",
  "CHKw",
  "DAKP",
  "ENRJ",
  "ENRJp",
  "JPGE",
  "LQDH",
  "RSOpC",
  "SSEw",
  "CBMG",
  "FELP",
  "IPw",
  "PARN",
  "SGNL",
  "TREC",
  "VNOM",
  "VRTVw",
  "ZSPH",
  "ALLpF",
  "ARDX",
  "CRTN",
  "MRKT",
  "NMTpE.CL",
  "TKRw",
  "TMSTw",
  "ZFGN",
  "CBAY",
  "KITE",
  "PSG",
  "FNFVw",
  "CLNYpB",
  "GGZ",
  "TYGpC",
  "XNET",
  "IMPR",
  "LGCYO",
  "MTLS",
  "GGACU",
  "NGHCP",
  "TCPI",
  "AGMpC",
  "CBSHP",
  "MOKO",
  "NRFw",
  "NSAMw",
  "ACTw",
  "RYAM",
  "CARO",
  "FNFV",
  "ISTR",
  "JASN",
  "JASNW",
  "NERV",
  "NSAM",
  "TMST",
  "BDCV",
  "CFA",
  "GBIM",
  "VRTV",
  "EXCU",
  "SBpD",
  "TPHw",
  "AFSIpB",
  "CBSOw",
  "DREpJ.CL",
  "IBMD",
  "IBME",
  "IBMF",
  "IBMG",
  "IBMH",
  "WY.WD",
  "AMSGP",
  "LMCKV",
  "MULT",
  "NMpH",
  "OHGI",
  "SPOK",
  "CBS.WD",
  "MYOS",
  "REET",
  "WIL",
  "DCUC",
  "ASMB",
  "CFGE",
  "SBCP",
  "SGDM",
  "TAPR",
  "EPRS",
  "IRMD",
  "TFSCU",
  "CDNA",
  "FXENP",
  "HTGX",
  "ROKA",
  "TRTLU",
  "GLOB",
  "JZC.CL",
  "SAGE",
  "TERP",
  "TRUP",
  "TUBE",
  "PGNw",
  "BHBK",
  "PARR",
  "DMDw",
  "GGAC",
  "GGACR",
  "GGACW",
  "IFV",
  "MTBC",
  "NAMEV",
  "IMDZ",
  "LMCK",
  "PFNX",
  "TPUBw",
  "TSQ",
  "WFCpT",
  "XENT",
  "INNL",
  "LOCO",
  "OCUL",
  "OEC",
  "PARRr",
  "MARA",
  "WRD.CL",
  "ABAC",
  "CFRXU",
  "MDLL",
  "SLCT",
  "SMLL",
  "SPKE",
  "SYTL",
  "THQ",
  "VBIV",
  "YGRO",
  "DIVI",
  "WLKP",
  "AAVL",
  "CTLT",
  "HQY",
  "MCUR",
  "ORPN",
  "RIGP",
  "SYF",


одчинитель Пирон", nil, {"Убейте подчинителя Пирона.\n\nКажется, Джалинда говорила, что Пирон охраняет каменоломню. Может, поискать его там?"}},
[4263] = {"Опалитель!", nil, {"Отыщите и уничтожьте лорда Опалителя в глубинах Черной горы!"}},
[4264] = {"Измятая записка", nil, {"Не исключено, что ваша находка заинтересует маршала Виндзора. Может быть, все не так плохо, и надежда еще жива."}},
[4281] = {"Посылка в Таланаар", nil, {"Отнесите недоставленную посылку Хранителю дорог Фалфиндеру в Таланаар."}},
[4283] = {"ПЯТЬДЕСЯТ! АГА!", nil, {"Найдите 50 медальонов Черной горы."}},
[4284] = {"Кристаллы силы", nil, {"Соберите по 7 кристаллов силы каждого цвета: красных, синих, желтых и зеленых. Принесите их Джей Ди Колли в Укрытие Маршалла."}},
[4285] = {"Северный пилон", nil, {"Отыщите Северный хрустальный пилон в Кратере Ун'Горо."}},
[4286] = {"За сокровищем – с кулаками", nil, {"Добудьте 20 поясных сумок дворфов Черного Железа."}},
[4287] = {"Восточный пилон", nil, {"Отыщите Восточный хрустальный пилон в Кратере Ун'Горо."}},
[4288] = {"Западный пилон", nil, {"Отыщите Западный хрустальный пилон."}},
[4289] = {"Обезьяны Ун'Горо", nil, {"Принесите 2 шкуры Ун'Горской гориллы, 2 шкуры Ун'Горского топтуна и 2 шкуры Ун'Горского рокотуна землепроходцу Торве к входу в Кратер Ун'Горо."}},
[4290] = {"Добыча Лар'корви", nil, {"Найдите последнюю добычу Лар'корви, украдите кусок трупа жесткозуба и вернитесь к землепроходцу Торве в Кратер Ун'Горо."}},
[4291] = {"Запах Лар'корви", nil, {"Принесите 2 феромонные железы равазавра землепроходцу Торве в преддверие Кратера Ун'Горо."}},
[4292] = {"Приманка для Лар'корви", nil, {"С помощью предметов из мешочка Торвы выманите Лар'корви и сразите его. Принесите голову Лар'корви землепроходцу Торве ко входу в Кратер Ун'Горо."}},
[4293] = {"Проба слизи...", nil, {"Возьмите на пробу образцы


# Update data
customer_to_update = session.query(Customer).filter_by(name="Alice Smith").first()
customer_to_update.email = "alice.smith@example.com"
session.commit()

# Delete data
order_to_delete = session.query(Order).filter_by(product="Headphones").first()
if order_to_delete:
    session.delete(order_to_delete)
    session.commit()

# Close session
session.close()

MongoDB (NoSQL)

                    MongoDB is a popular NoSQL document database that stores data in JSON-like format.
                    PyMongo is the Python driver for MongoDB.

# pip install pymongo
import pymongo
from pymongo import MongoClient

# Connect to MongoDB
client = MongoClient('mongodb://localhost:27017/')

# Create or access a database
db = client['my_database']

# Create or access a collection (similar to a table in SQL)
collection = db['users']

# Insert a document
user = {
    "name": "John Doe",
    "email": "john@example.com",
    "age": 30,
    "interests": ["coding", "reading", "hiking"]
}
result = collection.insert_one(user)
print(f"Inserted document ID: {result.inserted_id}")

# Insert multiple documents
more_users = [
    {"name": "Jane Smith", "email": "jane@example.com", "age": 25},
    {"name": "Bob Johnson", "email": "bob@example.com", "age": 35}
]
results = collection.insert_many(more_users)
print(f"Inserted document IDs: {results.inserted_ids}")

# Find documents
user = collection.find_one({"name": "John Doe"})
print("Found user:", user)

# Find multiple documents
users_over_25 = collection.find({"age": {"$gt": 25}})
for user in users_over_25:
    print(user)

# Update a document
update_result = collection.update_one(
    {"name": "John Doe"},
    {"$set": {"age": 31, "interests": ["coding", "reading", "hiking", "gaming"]}}
)
print(f"Modified {update_result.modified_count} document(s)")

# Delete a document
delete_result = collection.delete_one({"name": "Bob Johnson"})
print(f"Deleted {delete_result.deleted_count} document(s)")

# Close connection
client.close()

Redis (Key-Value Store)

            <div class="pro


import re
import unicodedata

from typing import Pattern

_re_pattern: Pattern = re.compile(r"[^\w\s-]", flags=re.U)
_re_pattern_allow_dots: Pattern = re.compile(r"[^\.\w\s-]", flags=re.U)
_re_spaces: Pattern = re.compile(r"[-\s]+", flags=re.U)

def slugify(value: str, allow_dots: bool = False, allow_unicode: bool = False) -> str:
    """
    Converts to lowercase, removes non-word characters (alphanumerics and
    underscores) and converts spaces to hyphens. Also strips leading and
    trailing whitespace. Modified to optionally allow dots.

    Adapted from Django 1.9
    """
    pattern: Pattern = _re_pattern_allow_dots if allow_dots else _re_pattern

    value = str(value)
    if allow_unicode:
        value = unicodedata.normalize("NFKC", value)
        value = pattern.sub("", value).strip().lower()
        return _re_spaces.sub("-", value)
    value = unicodedata.normalize("NFKD", value).encode("ascii", "ignore").decode("ascii")
    value = pattern.sub("", value).strip().lower()
    return _re_spaces.sub("-", value)


 Negative medium.
		e, m, r, tmp2, err := decodeMediumNumber(true, buf, tmp)
		if err != nil {
			return nil, apd.Decimal{}, err
		}
		d, err := makeDecimalFromMandE(!invert, e, m, tmp2)
		return r, d, err
	case buf[0] == decimalNegSmall:
		// Negative small.
		e, m, r, tmp2, err := decodeSmallNumber(true, buf, tmp)
		if err != nil {
			return nil, apd.Decimal{}, err
		}
		d, err := makeDecimalFromMandE(!invert, e, m, tmp2)
		return r, d, err
	case buf[0] == decimalPosLarge:
		// Positive large.
		e, m, r, tmp2, err := decodeLargeNumber(false, buf, tmp)
		if err != nil {
			return nil, apd.Decimal{}, err
		}
		d, err := makeDecimalFromMandE(invert, e, m, tmp2)
		return r, d, err
	case buf[0] >= decimalPosMedium && buf[0] < decimalPosLarge:
		// Positive medium.
		e, m, r, tmp2, err := decodeMediumNumber(false, buf, tmp)
		if err != nil {
			return nil, apd.Decimal{}, err
		}
		d, err := makeDecimalFromMandE(invert, e, m, tmp2)
		return r, d, err
	case buf[0] == decimalPosSmall:
		// Positive small.
		e, m, r, tmp2, err := decodeSmallNumber(false, buf, tmp)
		if err != nil {
			return nil, apd.Decimal{}, err
		}
		d, err := makeDecimalFromMandE(invert, e, m, tmp2)
		return r, d, err
	default:
		return nil, apd.Decimal{}, errors.Errorf("unknown prefix of the encoded byte slice: %q", buf)
	}
}

// getDecimalLen returns the length of an encoded decimal.
func getDecimalLen(buf []byte) (int, error) {
	m := buf[0]
	p := 1
	if m < decimalNaN || m > decimalNaNDesc {
		panic(fmt.Errorf("invalid tag %d", m))
	}
	switch m {
	case decimalNaN, decimalNegativeInfinity, decimalNaNDesc, decimalInfinity, decimalZero:
		return 1, nil
	case decimalNegLarge, decimalNegSmall, decimalPosLarge, decimalPosSmall:
		// Skip the varint exponent.
		l, err := getVarintLen(buf[p:])
		if err != nil {
			return 0, err
		}
		p += l
	}

	idx, err := findDecimalTerminator(buf[p:])
	if err != nil {
		return 0, err
	}
	return p + idx + 1, nil
}

// makeDecimalFromMandE reconstructs the decimal from the mantissa M and
// exponent E.
func makeDecimalFromMandE(negative bool, e int, m []byte, tmp []byte) (apd.Decimal, error) {
	if len(m) == 0 {
		return apd.Decimal{}, errors.New("expected mantissa, got zero bytes")
	}
	// ±dddd.
	b := tmp[:0]
	if n := len(m)*2 + 1; cap(b) < n {
		b = make([]byte, 0, n)
	}
	for _, v := range m {
		t := int(v) / 2
		if t < 0 || t > 99 {
			return apd.Decimal{}, errors.Errorf("base-100 encoded digit %d out of range [0,99]", t)
		}
		b = append(b, byte(t/10)+'0', byte(t%10)+'0')
	}
	if b[len(b)-1] == '0' {
		b = b[:len(b)-1]
	}

	exp := 2*e - len(b)
	dec := apd.Decimal{
		Exponent: int32(exp),
	}

	// We unsafely convert the []byte to a string to avoid the usual allocation
	// when converting to a string.
	s := *(*string)(unsafe.Pointer(&b))
	_, ok := dec.Coeff.SetString(s, 10)
	if !ok {


sizeOrig.w + 5, sizeOrig.h + 5)
  win:setSize(sizeNew)
  sizeNew = win:size()
  assertIsEqual(sizeNew.w, sizeOrig.w + 5)
  assertIsEqual(sizeNew.h, sizeOrig.h + 5)
  return success()
end

function testMinimize()
  hs.openConsole()
  local win = hs.window.focusedWindow()
  local isMinimizedOrig = win:isMinimized()
  assertIsBoolean(isMinimizedOrig)
  win:minimize()
  assertFalse(isMinimizedOrig == win:isMinimized())
  win:unminimize()
  assertTrue(isMinimizedOrig == win:isMinimized())
  return success()
end

function testPID()
  hs.openConsole()
  local win = hs.window.focusedWindow()
  assertIsEqual(win:pid(), hs.processInfo["processID"])
  return success()
end

function testApplication()
  hs.openConsole()
  local win = hs.window.focusedWindow()
  local app = win:application()
  assertIsUserdataOfType("hs.application", app) -- This will fail right now, because hs.application doesn't have a __type metatable entry
  return success()
end

function testTabs()
  -- First test tabs on a window that doesn't have tabs
  hs.openConsole()
  local win = hs.window.focusedWindow()
  assertIsUserdata(win)
  assertIsEqual(0, win:tabCount())

  -- Now test an app with tabs
  local safari = hs.application.open("Safari", 5, true)

  -- Ensure we have at least two tabs
  hs.urlevent.openURLWithBundle("http://www.apple.com", "com.apple.Safari")
  hs.urlevent.openURLWithBundle("http://developer.apple.com", "com.apple.Safari")

  local safariWin = safari:mainWindow()
  assertIsUserdata(safariWin)

  local tabCount = safariWin:tabCount()
  assertGreaterThan(1, tabCount)

  safariWin:focusTab(tabCount - 1)

  return success()
end

function testBecomeMain() -- This will fail
end

function testClose()
  hs.openConsole()
  local win = hs.window.focusedWindow()
  assertTrue(win:close())
  -- It would be nice to do something more here, to verify it's gone
  return success()
end

function testFullscreen()
  hs.openConsole()
  local win = hs.window.focusedWindow()
  assertIsUserdata(win)
  local fullscreenState = win:isFullScreen()
  assertIsBoolean(fullscreenState)
  assertFalse(fullscreenState)
  win:setFullScreen(false)

  return success()
end

function testFullscreenOneSetup()
  hs.openConsole()
  local win = hs.window.get("Hammerspoon Console")
  assertIsEqual(win:title(), "Hammerspoon Console")
  assertFalse(win:isFullScreen())

  win:setFullScreen(true)

  return success()
end

function testFullscreenOneResult()
  local win = hs.window.get("Hammerspoon Console")
  assertIsEqual(win:title(), "Hammerspoon Console")
  assertTrue(win:isFullScreen())
  win:setFullScreen(false)
  assertFalse(win:isFullScreen())

  return success()
end

function testFullscreenTwoSetup()
  hs.openConsole()
  local win = hs.window.get("Hammerspoon Console")
  win:toggleZoom()

  return success()
end

function testFullscreenTwoResult()
  local win = hs.window.get("Hammerspoon Console")
  assertTrue(win:isFullScreen())
  win:setFullScreen(false)
  assertFalse(win:isFullScreen())

  return success()
end


remove the image by name because there has other primary reference
	command.PouchRun("rmi", repoTag).Assert(c, icmd.Success)

	res = command.PouchRun("images").Assert(c, icmd.Success)
	if out := res.Combined(); strings.Contains(out, repoTag) || !strings.Contains(out, repoDigest) {
		c.Fatalf("unexpected output %s: should rm image %s without force\n", out, repoTag)
	}

	command.PouchRun("rmi", "-f", imageID).Assert(c, icmd.Success)
	res = command.PouchRun("images").Assert(c, icmd.Success)
	if out := res.Combined(); strings.Contains(out, repoTag) || strings.Contains(out, repoDigest) {
		c.Fatalf("unexpected output %s: should rm image %s and %s\n", out, repoTag, repoDigest)
	}
}

// TestRmiByImageIDWithPrimaryReferencesAndRunningContainers tests "pouch rmi {ID}" won't work without force.
func (suite *PouchRmiSuite) TestRmiByImageIDWithPrimaryReferencesAndRunningContainers(c *check.C) {
	busyboxImageAlias := busyboxImage + "Alias"
	name := "TestRmiByImageIDWithRunningContainer"

	command.PouchRun("pull", busyboxImage).Assert(c, icmd.Success)
	command.PouchRun("tag", busyboxImage, busyboxImageAlias).Assert(c, icmd.Success)
	res := command.PouchRun("images")
	res.Assert(c, icmd.Success)
	imageID := imagesListToKV(res.Combined())[busyboxImage][0]

	command.PouchRun("run", "-d", "--name", name, busyboxImage, "top").Assert(c, icmd.Success)
	defer DelContainerForceMultyTime(c, name)

	// Can't remove without "--force"
	res = command.PouchRun("rmi", imageID)
	c.Assert(res.Stderr(), check.NotNil, check.Commentf("Unable to remove the image"))
	res = command.PouchRun("images").Assert(c, icmd.Success)
	if out := res.Combined(); !strings.Contains(out, busyboxImage) {
		c.Fatalf("unexpected output %s: shouldn't rm image %s without force\n", out, busyboxImage)
	}

	command.PouchRun("rmi", "-f", imageID).Assert(c, icmd.Success)
	res = command.PouchRun("images").Assert(c, icmd.Success)
	if out := res.Combined(); strings.Contains(out, busyboxImage) {
		c.Fatalf("unexpected output %s: should rm image %s\n", out, busyboxImage)
	}
}

// TestRmiInWrongWay run rmi in wrong ways.
func (suite *PouchRmiSuite) TestRmiInWrongWay(c *check.C) {
	for _, tc := range []struct {
		name string
		args string
	}{
		{name: "unknown flag", args: "-a"},
		{name: "unknown image name", args: "unknown"},

		// TODO: should add the following cases if ready
		// {name: "missing image name", args: ""},
	} {
		res := command.PouchRun("rmi", tc.args)
		c.Assert(res.Stderr(), check.NotNil, check.Commentf(tc.name))
	}
}
package main

import (
	"context"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"strings"
	"time"

	"github.com/alibaba/pouch/pkg/utils"
	"github.com/alibaba/pouch/test/command"
	"github.com/alibaba/pouch/test/environment"
	"github.com/alibaba/pouch/test/request"
	"github.com/alibaba/pouch/test/util


6a,0x00,0x85]

s_lshr_b32 s0, s1, vcc_hi
// GFX11: encoding: [0x01,0x6b,0x00,0x85]

s_lshr_b32 s0, s1, m0
// GFX11: encoding: [0x01,0x7d,0x00,0x85]

s_lshr_b32 s0, s1, 0
// GFX11: encoding: [0x01,0x80,0x00,0x85]

s_lshr_b32 s0, s1, -1
// GFX11: encoding: [0x01,0xc1,0x00,0x85]

s_lshr_b32 s0, s1, 0.5
// GFX11: encoding: [0x01,0xf0,0x00,0x85]

s_lshr_b32 s0, s1, -4.0
// GFX11: encoding: [0x01,0xf7,0x00,0x85]

s_lshr_b32 s0, s1, 0x3f717273
// GFX11: encoding: [0x01,0xff,0x00,0x85,0x73,0x72,0x71,0x3f]

s_lshr_b32 s0, s1, 0xaf123456
// GFX11: encoding: [0x01,0xff,0x00,0x85,0x56,0x34,0x12,0xaf]

s_lshr_b64 s[0:1], s[2:3], s4
// GFX11: encoding: [0x02,0x04,0x80,0x85]

s_lshr_b64 s[104:105], s[102:103], s100
// GFX11: encoding: [0x66,0x64,0xe8,0x85]

s_lshr_b64 s[0:1], s[102:103], s100
// GFX11: encoding: [0x66,0x64,0x80,0x85]

s_lshr_b64 s[104:105], s[2:3], s100
// GFX11: encoding: [0x02,0x64,0xe8,0x85]

s_lshr_b64 s[104:105], s[102:103], s4
// GFX11: encoding: [0x66,0x04,0xe8,0x85]

s_lshr_b64 s[104:105], s[2:3], s4
// GFX11: encoding: [0x02,0x04,0xe8,0x85]

s_lshr_b64 s[0:1], s[102:103], s4
// GFX11: encoding: [0x66,0x04,0x80,0x85]

s_lshr_b64 s[0:1], s[2:3], s100
// GFX11: encoding: [0x02,0x64,0x80,0x85]

s_lshr_b64 exec, s[2:3], s4
// GFX11: encoding: [0x02,0x04,0xfe,0x85]

s_lshr_b64 vcc, s[2:3], s4
// GFX11: encoding: [0x02,0x04,0xea,0x85]

s_lshr_b64 s[0:1], exec, s4
// GFX11: encoding: [0x7e,0x04,0x80,0x85]

s_lshr_b64 s[0:1], vcc, s4
// GFX11: encoding: [0x6a,0x04,0x80,0x85]

s_lshr_b64 s[0:1], 0, s4
// GFX11: encoding: [0x80,0x04,0x80,0x


tance => {
            this.instances.push(instance);
            instance.host = this;
        })
        return this;
    }
    multiple() : Host {
        this.isMultiple = true;
        return this;
    }
    constructor() {
        super("host");
    }
    render(pad: string) {
        return pad+"subgraph cluster_"+String(this.id)+" {\n"+
            pad+` graph [ tooltip = " ", style=solid, label="", penwidth = 2, color = ${colors[3]}, fillcolor=${colors[2]} `+(this.isMultiple?',style=filled':'')+" ];\n"+
            this.instances.map(instance => instance.render(pad+" ")).join("")+
            pad+"}\n";
    }
    in(parent: Group): Host {
        parent.add(this);
        return this;
    }
}

export function generate(init: ()=>void, systemProviders: (()=>System)[], processors?: (()=>string)[], opts?) {
    opts = opts || {};
    processors = processors || [(() => null)];
    var header = ["
"];
    if(opts.header) {
        header.push("
	");
    }
    var table = [];
    var row = 0;
    if(typeof window !== 'undefined') {
        colors = themes.light;
    }
    systemProviders.forEach( systemProvider => {
        var col = 0;
        processors.forEach(processor => {
            if(init) {
              init();
            }
            var procName = processor();
            var sys = systemProvider();
            var sysName = sys.name;
            if(procName) {
                sys.name += ("-"+procName);
            }
            var name = sys.name;
            if(systemProviders.length == 1) {
                if(processors.length == 1) {
                    sys.name = " "
                } else if(processors.length > 1) {
                    sys.name = procName;
                }
            }
            var dot = sys.render("");
            var out = "target";
            var rendered = !sys.processors || sys.processors.indexOf(processor) !== -1
            if(typeof window !== 'undefined') {
                if(opts.header) {
                    if(row == 0) {
                        header.push(""+procName+"	")
                    }
                    if(col == 0) {
                        table.push(""+sysName+"	")
                    }
                }
                table.push("");
                if(rendered) {
                    table.push(Viz(dot));
                }
                table.push("	");
            } else if(!opts.native && rendered) {
                try {
                    fs.mkdirSync(out);
                } catch(e) {}
                fs.writeFileSync(`${out}/${name}.svg`, Viz(dot));
            } else if (rendered) {
                fs.writeFileSync(`${out}/${name}.dot`, dot);
                exec(`dot -Tpng -o ${out}/${name}.png ${out}/${name}.dot`,
                    (err, stdout, stderr) => {
                        if(err) {
                            console.error(err);
                        } else {
                            console.log(name);
                            if(stdout.length>2) console.log(stdout);
                            if(stderr.length>2) console.error(stderr);
                        }
                    });
            }
            col++;
        })
        if(row==0) {
            header.push("
");
        }
        table.push("
");
        row++;
    })
    table.push("
");
    if(typeof window !== 'undefined') {
        window.document.getElementById("archix").innerHTML = header.concat(table).join("\n");
    }
}


afe { AVFilterContextMut::from_raw(filter_context) })
    }
}

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

impl Drop for AVFilterGraph {
    fn drop(&mut self) {
        let mut filter_graph = self.as_mut_ptr();
        unsafe {
            ffi::avfilter_graph_free(&mut filter_graph);
        }
    }
}
<reponame>thegedge/fittle<filename>src/profile/enums/exd_descriptors.rs<gh_stars>1-10
use crate::fields::FieldContent;
use serde::Serialize;

#[derive(Clone, Copy, Debug, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum ExdDescriptors {
    AmbientPressure,
    AnaerobicTrainingEffect,
    Ascent,
    Balance,
    BateryLevel,
    BatteryLevel,
    BeamAngleStatus,
    BikeLightBatteryStatus,
    Cadence,
    Calories,
    Compass,
    CompassHeading,
    Course,
    CourseDistance,
    CourseEstimatedTimeOfArrival,
    CourseHeading,
    CourseLocation,
    CourseTime,
    CourseType,
    Descent,
    Di2BatteryLevel,
    Distance,
    Elevation,
    EstimatedTimeOfArrival,
    FrontGear,
    FunctionalThresholdPower,
    GearCombo,
    GearRatio,
    Gears,
    GlideRatio,
    GpsAccuracy,
    GpsElevation,
    GpsHeading,
    GpsSignalStrength,
    Grade,
    GroundContactTime,
    Heading,
    HeartRate,
    HeartRateReserve,
    HeartRateZone,
    Icon,
    IntensityFactor,
    Laps,
    LeftGroundContactTimeBalance,
    LeftPlatformCenterOffset,
    LeftPowerPhaseFinishAngle,
    LeftPowerPhaseStartAngle,
    LightNetworkMode,
    MuscleOxygen,
    NavigationDistance,
    NavigationEstimatedTimeOfArrival,
    NavigationHeading,
    NavigationLocation,
    NavigationTime,
    NavigationTurn,
    NormalizedPower,
    NumberLightsConnected,
    OffCourse,
    Pace,
    PedalSmoothness,
    PerformanceCondition,
    Power,
    PowerRatio,
    PowerWeightRatio,
    PowerZone,
    Pressure,
    RearGear,
    Reps,
    RightGroundContactTimeBalance,
    RightPlatformCenterOffset,
    RightPowerPhaseFinishAngle,
    RightPowerPhaseStartAngle,
    RunningCadence,
    Speed,
    StrideLength,
    Temperature,
    Time,
    TimeInHeartRateZone,
    TimeInPowerZone,
    TimeOfDay,
    TimeOnZone,
    TimeSeated,
    TimeStanding,
    TimerTime,
    TorqueEffectiveness,
    TrainerResistance,
    TrainerTargetPower,
    TrainingEffect,
    TrainingStressScore,
    Vam,
    VerticalDistance,
    VerticalOscillation,
    VerticalRatio,
    VerticalSpeed,
    Vmg,
    Work,
    WorkoutStep,
    UnknownValue(u64),
}

impl From<FieldContent> for ExdDescriptors {
    fn from(field: FieldContent) -> Self {
        if let FieldContent::Enum(enum_value) = field {
            match enum_value {
                0 => ExdDescriptors::BikeLightBatteryStatus,
                1 => ExdDescriptors::BeamAngleStatus,
                2 => ExdDescriptors::BateryLevel,
                3 => ExdDescriptors::LightNetworkMode,
                4 => ExdDescriptors::NumberLightsConnected,
                5 => ExdDescriptors::Cadence,
                6 => ExdDescriptors::Distance,
                7 => ExdDescriptors::EstimatedTimeOfArrival,
                8 => ExdDescriptors::Heading,
                9 => ExdDescriptors::Time,
                10 => ExdDescriptors::BatteryLevel,
                11 => ExdDescriptors::TrainerResistance,
                12 => ExdDescriptors::TrainerTargetPower,
                13 => ExdDescriptors::TimeSeated,
                14 => ExdDescriptors::