增加许多工作量，内心不安，总理、康老、伯达等首长指示，回去坚决照办。司令员发言坚决同意，工作中缺点错误是存在的，个别单位是严重的，提出来对我们总结经验、落实政策、准备打仗有好处。我在省革委会主持日常工作。工作中的缺点和错误主要由我负责，没有把三结合的领导班子统一在毛泽东思想基础上，同志们说我作风不民主，这个批评很好。我诚恳希望相互帮助，相互勉励、相互批评。具体工作中的缺点错误我不多讲了，我个人过去犯了错误得到了主席的宽大，得到了湖北广大人民的谅解，我个人想法紧紧地和同志们团结在一起、战斗在一起，胜利在一起。我水平不高，主席思想学的不好，这一年工作中出现这样缺点和那样错误，批评很好，批评是动力，可促使自己更大的进步，经常敲敲警钟有好处，虽然汉口有少数大字报，这没什么，对我是有帮助的，我是有犯错误的教训的，我不会压群众的，运动初期同志们造我的反造得好，我表示感谢，我与在座的革命造反派头头，一开始就打交道，革命造反派在文化大革命中是立下了丰功伟绩的，这是永远也抹煞不了的。在主席思想上，我们一定要团结起来，共同对敌。

   曾思玉：这一点你们放心好了，我们不会压的。

   刘丰：毛主席和林副主席的接见，给我们教育很大，工作没有做好，这次对我们也是很大的教训，忠不忠看行动。

   总理：刚才来了电话，进驻市革委会有70人头头叫谭光前；工代会常委，肉联革委会付主任。

   康老：光前裕后吗？（笑）

   朱鸿霞：这不怪他们，主要是我们的责任。

   总理：好，同志们讲吧。伯达同志讲讲吧。

   伯达：总理在开会的时候，我们在学习，这是一个学习会，我们是学生，我是你们的学生。总理、康老的讲话，听了你们很多好的意见，康老对大家的批评是严厉的批评，我觉得对大家有益


 public const int GL_ALPHA_INTEGER_EXT = 0x8D97;
//        public const int GL_RGB_INTEGER_EXT = 0x8D98;
//        public const int GL_RGBA_INTEGER_EXT = 0x8D99;
//        public const int GL_BGR_INTEGER_EXT = 0x8D9A;
//        public const int GL_BGRA_INTEGER_EXT = 0x8D9B;
//        public const int GL_LUMINANCE_INTEGER_EXT = 0x8D9C;
//        public const int GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D;
//        public const int GL_RGBA_INTEGER_MODE_EXT = 0x8D9E;
//        public const int GL_EXT_texture_lod_bias = 1;
//        public const int GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD;
//        public const int GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500;
//        public const int GL_TEXTURE_LOD_BIAS_EXT = 0x8501;
//        public const int GL_EXT_texture_mirror_clamp = 1;
//        public const int GL_MIRROR_CLAMP_EXT = 0x8742;
//        public const int GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743;
//        public const int GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912;
//        public const int GL_EXT_texture_object = 1;
//        public const int GL_TEXTURE_PRIORITY_EXT = 0x8066;
//        public const int GL_TEXTURE_RESIDENT_EXT = 0x8067;
//        public const int GL_TEXTURE_1D_BINDING_EXT = 0x8068;
//        public const int GL_TEXTURE_2D_BINDING_EXT = 0x8069;
//        public const int GL_TEXTURE_3D_BINDING_EXT = 0x806A;
//        public const int GL_EXT_texture_perturb_normal = 1;
//        public const int GL_PERTURB_EXT = 0x85AE;
//        public const int GL_TEXTURE_NORMAL_EXT = 0x85AF;
//        public const int GL_EXT_texture_sRGB = 1;
//        public const int GL_SRGB_EXT = 0x8C40;
//        public const int GL_SRGB8_EXT = 0x8C41;
//        public const int GL_SRGB_ALPHA_EXT = 0x8C42;
//        public const int GL_SRGB8_ALPHA8_EXT = 0x8C43;
//        public const int GL_SLUMINANCE_ALPHA_EXT = 0x8C44;
//        public const int GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45;
//        public const int GL_SLUMINANCE_EXT = 0x8C46;
//        public const int GL_SLUMINANCE8_EXT = 0x8C47;
//        public const int GL_COMPRESSED_SRGB_EXT = 0x8C48;
//        public const int GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49;
//        public const int GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A;
//        public const int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B;
//        public const int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C;
//        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D;
//        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E;
//        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x


Region-] #guild_templates-tab svg[class*=descriptionIcon][viewBox="0 0 24 24"] path {
  fill: #aad846;
}
div[class^=contentRegion-] #guild_templates-tab svg[class*=descriptionIcon][viewBox="0 0 14 14"] path {
  fill: #ff8087;
}
div[class^=contentRegion-] #guild_templates-tab svg[class*=descriptionIcon] circle {
  fill: #11111b;
}
div[class^=contentRegion-] #stickers-tab div[class*=tierHeaderContent] {
  background-color: #11111b;
}
div[class^=contentRegion-] #stickers-tab div[class*=tierBody] {
  background-color: #0d1017;
}
div[class^=contentRegion-] #roles-tab div[class*=previewContainer-] .theme-light img[class*=roleIcon-] {
  content: "data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.0749 1.66667H4.99996C3.15901 1.66667 1.66663 3.15906 1.66663 5.00001V15C1.66663 16.841 3.15901 18.3333 4.99996 18.3333H15C16.8409 18.3333 18.3333 16.841 18.3333 15V8.92511C17.8052 9.08227 17.2458 9.16667 16.6666 9.16667C13.445 9.16667 10.8333 6.555 10.8333 3.33334C10.8333 2.75419 10.9177 2.19476 11.0749 1.66667ZM6.66663 5.00001C7.58596 5.00001 8.33329 5.74601 8.33329 6.66667C8.33329 7.58801 7.58596 8.33334 6.66663 8.33334C5.74529 8.33334 4.99996 7.58801 4.99996 6.66667C4.99996 5.74601 5.74529 5.00001 6.66663 5.00001ZM4.99996 15L7.49996 11.6667L9.16663 13.3333L12.5 9.16667L15 15H4.99996Z' fill='%2345475a'/%3E%3Cpath d='M17.5 0V2.5H20V4.16667H17.5V6.66667H15.8334V4.16667H13.3334V2.5H15.8334V0H17.5Z' fill='%2345475a'/%3E%3C/svg%3E";
}
div[class^=contentRegion-] #roles-tab div[class*=previewContainer-] .theme-dark img[class*=roleIcon-] {
  content: "data:image/svg+xml,%3Csvg fill='none' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ced4df'%3E%3Cpath clip-rule='evenodd' d='m11.0749 1.66667h-6.07488c-1.84095 0-3.33333 1.49239-3.33333 3.33334v9.99999c0 1.841 1.49238 3.3333 3.33333 3.3333h9.99998c1.841 0 3.3334-1.4923 3.3334-3.3333v-6.07489c-.5281.15716-1.0876.24156-1.6667.24156-3.2217 0-5.8333-2.61167-5.8333-5.83333 0-.57915.0844-1.13858.2415-1.66667zm-4.40821 3.33334


b, ortidan dam olingani uchun bu namoz shunday nomlangan.
Ramazon oyi fazilatlarga boydir. Uning fazilatlaridan biri oy davomida xufton namozidan keyin tarovih namozi o‘qishdir. Payg‘ambarimiz sallallohu alayhi vasallam tarovih namozi haqida shunday deganlar:
“Alloh taolo Ramazon ro‘zasini farz qildi va men uning qiyomini sizlar uchun sunnat qildim. Kimki iymon va ishonch bilan, savob umidida ro‘za tutsa va kechalari qoim tursa, onadan tug‘ilgan kunidagidek gunohlardan pok bo‘ladi” (Imom Nasoiy rivoyatlari).
.
""", reply_markup=admin_keyboard.jamoat)


 append(o, 0xa9, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72)
	o = msgp.AppendString(o, z.Delimiter)
	// string "CommonPrefixes"
	o = append(o, 0xae, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73)
	o = msgp.AppendArrayHeader(o, uint32(len(z.CommonPrefixes)))
	for za0002 := range z.CommonPrefixes {
		o = msgp.AppendString(o, z.CommonPrefixes[za0002])
	}
	// string "EncodingType"
	o = append(o, 0xac, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65)
	o = msgp.AppendString(o, z.EncodingType)
	return
}

// UnmarshalMsg implements msgp.Unmarshaler
func (z *ListMultipartsInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
	var field []byte
	_ = field
	var zb0001 uint32
	zb0001, bts, err = msgp.ReadMapHeaderBytes(bts)
	if err != nil {
		err = msgp.WrapError(err)
		return
	}
	for zb0001 > 0 {
		zb0001--
		field, bts, err = msgp.ReadMapKeyZC(bts)
		if err != nil {
			err = msgp.WrapError(err)
			return
		}
		switch msgp.UnsafeString(field) {
		case "KeyMarker":
			z.KeyMarker, bts, err = msgp.ReadStringBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "KeyMarker")
				return
			}
		case "UploadIDMarker":
			z.UploadIDMarker, bts, err = msgp.ReadStringBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "UploadIDMarker")
				return
			}
		case "NextKeyMarker":
			z.NextKeyMarker, bts, err = msgp.ReadStringBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "NextKeyMarker")
				return
			}
		case "NextUploadIDMarker":
			z.NextUploadIDMarker, bts, err = msgp.ReadStringBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "NextUploadIDMarker")
				return
			}
		case "MaxUploads":
			z.MaxUploads, bts, err = msgp.ReadIntBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "MaxUploads")
				return
			}
		case "IsTruncated":
			z.IsTruncated, bts, err = msgp.ReadBoolBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "IsTruncated")
				return
			}
		case "Uploads":
			var zb0002 uint32
			zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts)
			if err != nil {
				err = msgp.WrapError(err, "Uploads")
				return
			}
			if cap(z.Uploads) >= int(zb0002) {
				z.Uploads =


          const Eigen::Matrix<double, 3, Eigen::Dynamic>& src,
                              const Eigen::Matrix<double, 3, Eigen::Dynamic>& dst,
                              const Eigen::Matrix<double, 1, Eigen::Dynamic>& theta);

  /**
   * Compute sub-optimality gap
   * @param M
   * @param mu
   * @param N
   * @return
   */
  double computeSubOptimalityGap(const Eigen::MatrixXd& M, double mu, int N);

  /**
   * Get the Omega_1 matrix given a quaternion
   * @param q an Eigen quaternion
   * @param omega1 4-by-4 omega_1 matrix
   */
  Eigen::Matrix4d getOmega1(const Eigen::Quaterniond& q);

  /**
   * Get a 4-by-4 block diagonal matrix with each block represents omega_1
   * @param q
   * @param theta
   * @param D_omega
   */
  void getBlockDiagOmega(int Npm, const Eigen::Quaterniond& q,
                         Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>* D_omega);

  /**
   * Get Q cost matrix (see Proposition 10 in [1])
   * @param v1 vectors under rotation
   * @param v2 vectors after rotation
   */
  void getQCost(const Eigen::Matrix<double, 3, Eigen::Dynamic>& v1,
                const Eigen::Matrix<double, 3, Eigen::Dynamic>& v2,
                Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>* Q);

  /**
   * Given an arbitrary matrix W, project W to the correct dual structure
    (1) off-diagonal blocks must be skew-symmetric
    (2) diagonal blocks must satisfy W_00 = - sum(W_ii)
    (3) W_dual must also satisfy complementary slackness (because M_init satisfies complementary
   slackness) This projection is optimal in the sense of minimum Frobenius norm
   */
  void getOptimalDualProjection(const Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>& W,
                                const Eigen::Matrix<double, 1, Eigen::Dynamic>& theta_prepended,
                                const SparseMatrix& A_inv, Eigen::MatrixXd* W_dual);

  /**
   * Generate an initial guess (see Appendix U of [1]).
   *
   * The initial guess satisfies:
   * 1. KKT complementary slackness
   * 2. diagonal blocks of (Q - Lambda_guess) is PSD (except the first diagonal block)
   *
   * @param R [in] rotation matrix
   * @param theta [in] a binary (1 & -1) vector indicating inliers vs. outliers
   * @param src [in]
   * @param dst [in]
   * @param lambda_guess [out]
   */
  void getLambdaGuess(const Eigen::Matrix<double, 3, 3>& R,
                      const Eigen::Matrix<double, 1, Eigen::Dynamic>& theta,
                      const Eigen::Matrix<double, 3, Eigen::Dynamic>& src,
                      const Eigen::Matrix<double, 3, Eigen::Dynamic>& dst,
                      SparseMatrix* lambda_guess);

  /**
   * Calculate the inverse of the linear projection matrix A mentioned in Theorem 35 of our TEASER
   * paper [1].
   *
   * @param theta_prepended [in] a binary (1 & -1) vector indicating inliers vs. outliers, with 1
   * prepended
   * @param A_inv [out] inverse of A
   */
  void getLinearProjection(const Eigen::Matrix<double, 1, Eigen::Dynamic>& theta_prepended,
                           SparseMatrix* A_inv);

private:
  /**
   * Calculate the sum of a block (4-by-N) along the columns
   * @param A [in]
   * @param row [in]
   * @param theta [in]
   * @param output [out]
   */
  void getBlockRowSum(const Eigen::MatrixXd& A, const int& row,
                      const Eigen::Matrix<double, 1, Eigen::Dynamic>& theta,
                      Eigen::Vector4d* output);

  Params params_;
};

} // namespace teaser


h server_state object in order to
// verify that the high priority service is called with appropriate
// arguments.
BOOST_FIXTURE_TEST_CASE(test_applying_nbo,
                        applying_client_fixture)
{

    wsrep::mock_high_priority_service hps(sc, &cc, false);
    wsrep::ws_handle ws_handle(wsrep::transaction_id::undefined(), (void*)(1));
    const int nbo_begin_flags(wsrep::provider::flag::start_transaction |
                              wsrep::provider::flag::isolation);
    wsrep::ws_meta ws_meta(wsrep::gtid(wsrep::id("cluster1"),
                                       wsrep::seqno(1)),
                           wsrep::stid(wsrep::id("s1"),
                                       wsrep::transaction_id::undefined(),
                                       wsrep::client_id(1)),
                           wsrep::seqno(0),
                           nbo_begin_flags);
    std::string nbo_begin("nbo_begin");
    BOOST_REQUIRE(sc.on_apply(hps, ws_handle, ws_meta,
                              wsrep::const_buffer(nbo_begin.data(),
                                                  nbo_begin.size())) == 0);
    wsrep::mock_client* nbo_cs(hps.nbo_cs());
    BOOST_REQUIRE(nbo_cs);
    BOOST_REQUIRE(nbo_cs->toi_mode() == wsrep::client_state::m_undefined);
    BOOST_REQUIRE(nbo_cs->mode() == wsrep::client_state::m_nbo);

    // After this point the control is on local process and applier
    // has released toi critical section.
    wsrep::key key(wsrep::key::exclusive);
    key.append_key_part("k1", 2);
    key.append_key_part("k2", 2);
    wsrep::key_array keys{key};
    // Starting phase two should put nbo_cs in toi mode.
    BOOST_REQUIRE(nbo_cs->begin_nbo_phase_two(keys) == 0);
    BOOST_REQUIRE(nbo_cs->mode() == wsrep::client_state::m_nbo);
    BOOST_REQUIRE(nbo_cs->in_toi());
    BOOST_REQUIRE(nbo_cs->toi_mode() == wsrep::client_state::m_local);
    // Ending phase two should make nbo_cs leave TOI mode and
    // return to m_local mode.
    const wsrep::mutable_buffer err;
    BOOST_REQUIRE(nbo_cs->end_nbo_phase_two(err) == 0);
    BOOST_REQUIRE(nbo_cs->mode() == wsrep::client_state::m_local);
    BOOST_REQUIRE(nbo_cs->in_toi() == false);
    BOOST_REQUIRE(nbo_cs->toi_mode() == wsrep::client_state::m_undefined);

    // There must have been one toi write set with commit flag.
    BOOST_REQUIRE(sc.provider().toi_write_sets() == 1);
    BOOST_REQUIRE(sc.provider().toi_start_transaction() == 0);
    BOOST_REQUIRE(sc.provider().toi_commit() == 1);
}

// This test case operates through server_state object in order to
// verify that the high priority service is called with appropriate
// arguments. The test checks that error is returned in the case if
// launching asynchronous process for NBO fails.
BOOST_FIXTURE_TEST_CASE(test_applying_nbo_fail,
                        applying_client_fixture)
{

    wsrep::mock_high_priority_service hps(sc, &cc, false);
    wsrep::ws_handle ws_handle(wsrep::transaction_id::undefined(), (void*)(1));
    const int n


 1.0);
    expect(dbStatus['version'], db.masterConnection.serverStatus.version);
    expect(dbStatus['process'], db.masterConnection.serverStatus.process);
    expect(dbStatus['host'], db.masterConnection.serverStatus.host);
    var storageEngineMap = dbStatus['storageEngine'];
    if (storageEngineMap != null && storageEngineMap['name'] == 'wiredTiger') {
      expect(storageEngineMap['persistent'],
          db.masterConnection.serverStatus.isPersistent);
      if (dbStatus['version'].compareTo('4.0') > 0) {
        expect(dbStatus['wiredTiger']['log']['maximum log file size'] > 0,
            db.masterConnection.serverStatus.isJournaled);
      }
    }
  }
}

DbCollection testCollectionCreation() {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);
  return collection;
}

Future testEachOnEmptyCollection() async {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);

  var count = 0;
  var sum = 0;

  await for (var document in collection.find()) {
    sum += document['a'] as int;
    count++;
  }

  expect(sum, 0);
  expect(count, 0);
}

Future testFindEachWithThenClause() async {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);

  var count = 0;
  var sum = 0;
  await collection.insertAll([
    {'name': 'Vadim', 'score': 4},
    {'name': 'Daniil', 'score': 4},
    {'name': 'Nick', 'score': 5}
  ]);

  await for (var document in collection.find()) {
    sum += document['score'] as int;
    count++;
  }

  expect(sum, 13);
  expect(count, 3);
}

Future testDateTime() async {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);

  await collection.insertAll([
    {'day': 1, 'posted_on': DateTime.utc(2013, 1, 1)},
    {'day': 2, 'posted_on': DateTime.utc(2013, 1, 2)},
    {'day': 3, 'posted_on': DateTime.utc(2013, 1, 3)},
    {'day': 4, 'posted_on': DateTime.utc(2013, 1, 4)},
    {'day': 5, 'posted_on': DateTime.utc(2013, 1, 5)},
    {'day': 6, 'posted_on': DateTime.utc(2013, 1, 6)},
    {'day': 7, 'posted_on': DateTime.utc(2013, 1, 7)},
    {'day': 8, 'posted_on': DateTime.utc(2013, 1, 8)},
    {'day': 9, 'posted_on': DateTime.utc(2013, 1, 9)}
  ]);

  var result = await collection
      .find(where.lt('posted_on', DateTime.utc(2013, 1, 5)))
      .toList();

  expect(result.length, 4);
}

void testFindEach() async {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);

  var count = 0;
  var sum = 0;
  await collection.insertAll([
    {'name': 'Vadim', 'score': 4},
    {'name': 'Daniil', 'score': 4},
    {'name': 'Nick', 'score': 5}
  ]);

  await for (var document in collection.find()) {
    count++;
    sum += document['score'] as int;
  }

  expect(count, 3);
  expect(sum, 13);
}

Future testFindStream() async {
  var collectionName = getRandomCollectionName();
  var collection = db.collection(collectionName);

  var count = 0;
  var sum = 0;
  await collection.insertAl


package tests

import (
	"encoding/json"
	"math/big"

	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/common/hexutil"
	"github.com/ethereum/go-ethereum/common/math"
	"github.com/ethereum/go-ethereum/core/types"
)

var _ = (*btHeaderMarshaling)(nil)

// MarshalJSON marshals as JSON.
func (b btHeader) MarshalJSON() ([]byte, error) {
	type btHeader struct {
		Bloom            types.Bloom
		Coinbase         common.Address
		MixHash          common.Hash
		Nonce            types.BlockNonce
		Number           *math.HexOrDecimal256
		Hash             common.Hash
		ParentHash       common.Hash
		ReceiptTrie      common.Hash
		StateRoot        common.Hash
		TransactionsTrie common.Hash
		UncleHash        common.Hash
		ExtraData        hexutil.Bytes
		Difficulty       *math.HexOrDecimal256
		GasLimit         math.HexOrDecimal64
		GasUsed          math.HexOrDecimal64
		Timestamp        math.HexOrDecimal64
		BaseFeePerGas    *math.HexOrDecimal256
		BlobGasUsed      *math.HexOrDecimal64
		ExcessBlobGas    *math.HexOrDecimal64
	}
	var enc btHeader
	enc.Bloom = b.Bloom
	enc.Coinbase = b.Coinbase
	enc.MixHash = b.MixHash
	enc.Nonce = b.Nonce
	enc.Number = (*math.HexOrDecimal256)(b.Number)
	enc.Hash = b.Hash
	enc.ParentHash = b.ParentHash
	enc.ReceiptTrie = b.ReceiptTrie
	enc.StateRoot = b.StateRoot
	enc.TransactionsTrie = b.TransactionsTrie
	enc.UncleHash = b.UncleHash
	enc.ExtraData = b.ExtraData
	enc.Difficulty = (*math.HexOrDecimal256)(b.Difficulty)
	enc.GasLimit = math.HexOrDecimal64(b.GasLimit)
	enc.GasUsed = math.HexOrDecimal64(b.GasUsed)
	enc.Timestamp = math.HexOrDecimal64(b.Timestamp)
	enc.BaseFeePerGas = (*math.HexOrDecimal256)(b.BaseFeePerGas)
	enc.BlobGasUsed = (*math.HexOrDecimal64)(b.BlobGasUsed)
	enc.ExcessBlobGas = (*math.HexOrDecimal64)(b.ExcessBlobGas)
	return json.Marshal(&enc)
}

// UnmarshalJSON unmarshals from JSON.
func (b *btHeader) UnmarshalJSON(input []byte) error {
	type btHeader struct {
		Bloom            *types.Bloom
		Coinbase         *common.Address
		MixHash          *common.Hash
		Nonce            *types.BlockNonce
		Number           *math.HexOrDecimal256
		Hash             *common.Hash
		ParentHash       *common.Hash
		ReceiptTrie      *common.Hash
		StateRoot        *common.Hash
		TransactionsTrie *common.Hash
		UncleHash        *common.Hash
		ExtraData        *hexutil.Bytes
		Difficulty       *math.HexOrDecimal256
		GasLimit         *math.HexOrDecimal64
		GasUsed          *math.HexOrDecimal64
		Timestamp        *math.HexOrDecimal64
		BaseFeePerGas    *math.HexOrDecimal256
		BlobGasUsed      *math.HexOrDecimal64
		ExcessBlobGas    *math.HexOrDecimal64
	}
	var dec btHeader
	if err := json.Unmarshal(input, &dec); err != nil {
		return err
	}
	if dec.Bloom != nil {
		b.Bloom = *dec.Bloom
	}
	if dec.Coinbase !=


随机访问，只需要根据首地址和下标通过寻址公式计算出对应内存地址即可。

### 数组的内存模型

* 访问数组的本质：计算机为每一个数组分配了一段连续的内存，计算机通过访问内存的地址访问内存，因此访问数组的本质就是访问一段连续内存。对内存的要求较高。
* 既然访问数组其实是访问一段连续内存，那么计算机就可以根据数组的首地址和下标，通过公式计算出每一个元素所在的位置。数组访问寻址公式：
  * 给定一维数组`a[n]`, 则`a[k]`的内存地址为：`a[k]_address = base_address + k * type_size`。
  * 给定二维数组`a[m][n]`则`a[i][j]`的内存地址为：`a[i][j]_address = base_address + (i*n + j) * type_size `。

##  链表

### 链表的基本概念

**链表（Linked List）**：链表是一种**线性表**数据结构。它用一组**不连续的内存空间**，来存储一组具有**相同数据类型**的数据。

### 链表的基本操作

- 插入：链表的插入只需要调整前后节点的指针即可,时间复杂度为O(1)

- 删除：链表的删除只需要调整前后节点的指针即可,时间复杂度为O(1)

- 随机访问：链表的随机访问，无法像数组一样通过寻址公式计算出下标的内存位置，只能通过遍历找到相应的节点，时间复杂度为O(n)。

### 链表的分类

#### 1. 单链表

结构：head ->  data -> data -> null

特点：结构简单，但是随机访问某个节点时，只能从头到尾遍历，找到这个节点。

#### 2. 循环链表

结构：head ->  data -> data -> head

特点：与单链表相比，其优势在于可以从尾到头遍历。

#### 3. 双向链表

结构：head <->  data <-> data -> null

特点：双向链表最大的优势在于找到前驱结点的时间复杂度为O(1)，正因为这个特点，使得双向链表在某些情况下，插入、删除等操作要比单链表简单高效，尽管时间复杂度都是O(1)。这也是为什么双


: string]: any }) => {
  const sanitize = sanitizeResource(introspectionResults, resource);
  const data = response.data;

  if (
    aorFetchType === GET_LIST ||
    aorFetchType === GET_MANY ||
    aorFetchType === GET_MANY_REFERENCE
  ) {
    return {
      data: response.data.items.map(sanitize),
      total: response.data.total.aggregate.count
    };
  }

  return { data: sanitize(data.data) };
};
import { ObservableState } from 'src/observable-state';

describe('ObservableState<T>', () => {
  const initialState = { s: 'str', n: 5 };
  const state$ = new ObservableState(initialState);
  test('update()', () => {
    let called = false;
    const subscription = state$.subscribe((current) => {
      if (!called) {
        called = true;
        return;
      }
      expect(current.s).toBe(10);
    });
    state$.update((state) => ({ s: state.s, n: state.n * 2 }));
    expect(state$.currentState).not.toBe(initialState);
    subscription.unsubscribe();
  });
});

describe('PartialState<P>', () => {
  const initialState = { s: 'str', n: 5 };
  const state$ = new ObservableState(initialState);
  test('partial$()', () => {
    expect.assertions(6);
    const partial$ = state$.distinctPartial$(
      (state) => state.n,
      (state, n) => ({ ...state, n }),
    );
    let called = false;
    const subscription = partial$.subscribe((n) => {
      if (!called) {
        called = true;
        return;
      }
      expect(n).toBe(10);
    });
    partial$.update((n) => n * 2);
    expect(state$.currentState.s).toBe('str');
    expect(state$.currentState.n).toBe(10);
    expect(state$.currentState).not.toBe(initialState);
    state$.update((state) => ({ ...state, s: 'updated' }));
    partial$.close();
    partial$.update((n) => n * 3);
    subscription.unsubscribe();

    const s$ = state$.partial$(
      (state) => state.s,
      (state, s) => ({ ...state, s }),
    );
    s$.update((s) => `${s}-${s}`);
    expect(state$.currentState).not.toBe(initialState);
    expect(state$.currentState.s).toBe('updated-updated');
  });
});
import {
    Box3,
    Mesh,
    PerspectiveCamera,
    Color,
    Scene,
    Vector3,
    WebGLRenderer,
    AmbientLight,
    SpotLight,
    MeshPhongMaterial,
} from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'
import { GCodeParser } from './parser'
import { SegmentColorizer } from './SegmentColorizer'

/**
 * GCode renderer which parses a GCode file and displays it using
 * three.js. Use .element() to retrieve the DOM canvas element.
 */
export class GCodeRenderer {
    private readonly scene: Scene
    private readonly renderer: WebGLRenderer
    private cameraControl?: OrbitControls

    private camera: PerspectiveCamera

    private lineMaterial = new MeshPhongMaterial({  vertexColors: true } )

    private readonly parser: GCodeParser

    // Public configurations:

    /**
     * Width of travel-lines. Use 0 to hide them.
     *
     * @type number
     */
    public get travelWidth(): number {
        return this.parser.travelWidth
    }
    /**
     * Width of travel-lines. Use 0 to hide them.
     *
     * @type number
     */
    public set travelWidth(w: number) {
        this.parser.travelWidth = w
    }

    /**
     * Set any colorizer implementation to change the segment color based on the segment
     * metadata. Some default implementations are provided.
     *
     * @type SegmentColorizer
     */
    public get colorizer(): SegmentColorizer {
        return


dc))= vp_rxbuff[rdii];
							rdii++;
							idc++;
					  }
				  #endif
					// 3.short
					#if RX_SHORT_NUM>0
						idc = (uint32_t)(rx_pack_ptr->shorts);
					  idl = RX_SHORT_NUM<<1;
					  for(idi=0;idi<idl;idi++)
					  {
					    if(rdii>=VALUEPACK_BUFFER_SIZE)
					      rdii -= VALUEPACK_BUFFER_SIZE;
					    (*((unsigned char *)idc))= vp_rxbuff[rdii];
							rdii++;
							idc++;
					  }
				  #endif
					// 4.int
					#if RX_INT_NUM>0
						idc = (uint32_t)(&(rx_pack_ptr->integers[0]));
					  idl = RX_INT_NUM<<2;
					  for(idi=0;idi<idl;idi++)
					  {
					    if(rdii>=VALUEPACK_BUFFER_SIZE)
					      rdii -= VALUEPACK_BUFFER_SIZE;
					    (*((unsigned char *)idc))= vp_rxbuff[rdii];
							rdii++;
							idc++;
					  }
				  #endif
					// 5.float
					#if RX_FLOAT_NUM>0
						idc = (uint32_t)(&(rx_pack_ptr->floats[0]));
					  idl = RX_FLOAT_NUM<<2;
					  for(idi=0;idi<idl;idi++)
					  {
					    if(rdii>=VALUEPACK_BUFFER_SIZE)
					      rdii -= VALUEPACK_BUFFER_SIZE;
					    (*((unsigned char *)idc))= vp_rxbuff[rdii];
							rdii++;
							idc++;
					  }
				  #endif
				  err = rdii;
					rdIndex+=rx_pack_length;
					isok = 1;
				}else
				{
				  rdIndex++;
			    err++;
				}
			}else
			{
		  rdIndex++;
			err++;
		}
		}else
		{
		  rdIndex++;
			err++;
		}
	}
	last_index = this_index;
	return isok;
}

void sendBuffer(unsigned char *p,unsigned short length)
{
	DMA_DeInit(DMA1_Channel4);
	dma.DMA_DIR = DMA_DIR_PeripheralDST;
	dma.DMA_M2M = DMA_M2M_Disable;
	dma.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
	dma.DMA_PeripheralBaseAddr = (uint32_t)&(USART1->DR);
	dma.DMA_Priority = DMA_Priority_High;
	dma.DMA_BufferSize = length;
	dma.DMA_MemoryBaseAddr = (uint32_t)p;
	dma.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
	dma.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
	dma.DMA_MemoryInc = DMA_MemoryInc_Enable;
	dma.DMA_Mode = DMA_Mode_Normal;
	DMA_Init(DMA1_Channel4,&dma);
	DMA_Cmd(DMA1_Channel4,ENABLE);
}

unsigned short loop;
unsigned char valuepack_tx_bit_index;
unsigned char valuepack_tx_index;

void sendValuePack(TxPack *tx_pack_ptr)
{
	int i;
		vp_txbuff[0]=0xa5;
		sum=0;
	//  由于结构体中不同类型的变量在内存空间的排布不是严格对齐的，中间嵌有无效字节，因此需要特殊处理

  valuepack_tx_bit_index = 0;
  valuepack_tx_index = 1;

  #if TX_BOOL_NUM>0

	  for(loop=0;loop<TX_BOOL_NUM;loop++)
	  {
			if(tx_pack_ptr->bools[loop])
      vp_txbuff[valuepack_tx_index] |= 0x01<<valuepack_tx_bit_index;
	  else
			vp_txbuff[valuepack_tx_index] &= ~(0x01<<valuepack_tx_bit_index);

    valuepack_tx_bit_index++;
	  if(valuepack_tx_bit_index>=8)
	  {
		  valuepack_tx_bit_index = 0;
		  valuepack_tx_index++;
	  }
	  }
	  if(valuepack_tx_bit_index!=0)
      valuepack_tx_index++;
	#endif

	 #if TX_BYTE_NUM>0

	  for(loop=0;loop<TX_BYTE_NUM;loop++)
	  {
		  vp_txbuff[valuepack_tx_index] = tx_pack_ptr->bytes[loop];
      valuepack_tx_index++;
		}

	#endif

	#if TX_SHORT_NUM>0
	  for(loop=0;loop<TX_SHORT_NUM;loop++)
	  {
		  vp_txbuff[valuepack_tx_index] = tx_pack_ptr->shorts[loop]&0xff;
			vp_txbuff[valuepack_tx_index+1] = tx_pack_ptr->shorts[loop]>>8;
      valuepack_tx_index+=2;
		}
	#endif

	#if TX_INT_NUM>0
	  for(loop=0;loop<TX_INT_NUM;loop++)
	  {
			i = tx_pack_ptr->integers[loop];

		  vp_txbuff[valuepack_tx_index] = i&0xff;
			vp_txbuff[valuepack_tx_index+1] = (i>>8)&0xff;
      vp_txbuff[valuepack_tx_index+2] =(i>>16)&0xff;
			vp_txbuff[valuepack_tx_index+3] = (i>>24)&0xff;

			valuepack_tx_index+=4;
		}
	#endif

	#if TX_FLOAT_NUM>0
	  for(loop=0;loop<TX_FLOAT_NUM;loop++)
	  {
			i = *(int *)(&(tx_pack_ptr->floats[loop]));

		  vp_txbuff[valuepack_tx_index] = i&0xff;
			vp_txbuff[valuepack_tx_index+1] = (i>>8)&0xff;
      vp_txbuff[valuepack_tx_index+2] =(i>>16)&0xff;
			vp_txbuff[valuepack_tx_index+3] = (i>>24)&0xff;

			valuepack_tx_index+=4;
		}
	#endif

		for(unsigned short d=1;d<=TXPACK_BYTE_SIZE;d++)
		   sum+=vp_txbuff[d];
		vp_txbuff[TXPACK_BYTE_SIZE+1] = sum;
		vp_txbuff[TXPACK_BYTE_SIZE+2] = 0x5a;
		sendBuffer(vp_txbuff,TXPACK_BYTE_SIZE+3);
}


		for _, daemon := range app.Daemons {
			if state != nil && state.SameConfigDaemons != nil {
				// There are quite frequent cases when the daemons' configurations haven't
				// changed since last update. If that's the case, this map contains the
				// names of these daemons. For such daemons we should safely skip processing
				// subnets and shared networks. This saves many CPU cycles.
				if ok := state.SameConfigDaemons[daemon.Name]; ok {
					continue
				}
			}

			// Remove daemon associations with hosts, subnets and shared networks.
			err = deleteDaemonAssociations(tx, daemon)
			if err != nil {
				return err
			}

			// Go over the shared networks and subnets stored in the Kea configuration
			// and match them with the existing entries in the database. If some of
			// the shared networks or subnets do not exist they are instantiated and
			// returned here.
			networks[daemon.Name], subnets[daemon.Name], err = detectDaemonNetworks(tx, daemon, lookup)
			if err != nil {
				err = errors.Wrapf(err, "unable to detect subnets and shared networks for Kea daemon %s belonging to app with ID %d", daemon.Name, app.ID)
				return err
			}

			if state == nil || state.SameConfigDaemons == nil || !state.SameConfigDaemons[daemon.Name] {
				// Go over the global reservations stored in the Kea configuration and
				// match them with the existing global hosts.
				globalHosts[daemon.Name], err = detectGlobalHostsFromConfig(tx, daemon, lookup)
				if err != nil {
					err = errors.Wrapf(err, "unable to detect global host reservations for Kea daemon %d", daemon.ID)
					return err
				}
			}
		}

		// Add events to the database.
		addOnCommitAppEvents(app, addedDaemons, deletedDaemons, state, eventCenter)

		for _, daemon := range app.Daemons {
			// For the given daemon, iterate over the networks and subnets and update their
			// global instances accordingly in the database.
			addedSubnets, err := dbmodel.CommitNetworksIntoDB(tx, networks[daemon.Name], subnets[daemon.Name])
			if err != nil {
				return err
			}

			// For the given app, iterate over the global hosts and update their instances
			// in the database or insert them into the database.
			if err = dbmodel.CommitGlobalHostsIntoDB(tx, globalHosts[daemon.Name]); err != nil {
				return err
			}

			// Add subnet related events to the database.
			addOnCommitSubnetEvents(app, daemon, addedSubnets, eventCenter)
		}

		// Detect and commit discovered services for each daemon.
		if err = detectAndCommitServices(tx, app); err != nil {
			return err
		}

		// Remove empty shared networks and orphaned subnets and hosts.
		err = deleteEmptyAndOrphanedObjects(tx)
		return err
	})
	return errors.Wrapf(err, "problem committing updates for app %d", app.ID)
}
package kea

import (
	"context"

	"github.com/go-pg/pg/v10"
	"github.com/pkg/errors"
	log "github.com/sirupsen/logrus"
	keaconfig "isc.org/stork/appcfg/kea"
	keactrl "isc.org/stork/appctrl/kea"
	"isc.org/stork/server/agentcomm"
	dbops "isc.org/stork/server/database"
	dbmodel "isc.org/stork/server/database/model"
	storkutil "isc.org/stork/util"
)

// Statistics puller is responsible for fetching the data using the Kea
// statistic hook.
type StatsPuller struct {
	*agentcomm


up_scr,a0
		bsr	scr_clr
		bsr	scr_clr

		lea	well_cum,a6
		clr	xpos
		move	#80,ypos
		bsr	fader

		move.l	up_scr,a0
		bsr	scr_clr
		bsr	scr_clr

		lea	credz,a6
		clr	xpos
		move	#80,ypos
		bsr	fader
*---------------

* shift mounty
		lea	mspc,a1
		move	#15,d6		; shift 1st mountain
all1
		lea	pic+128,a0
		lea	72*160(a0),a0
		move	#74,d7
		bsr	cop2

		lea	pic+128,a0
		lea	72*160(a0),a0
		move	#74,d7
		bsr	shift
		dbf	d6,all1

* shift grounf
		lea	gspc,a1
		move	#15,d6		; shift 1st mountain
all2
		lea	pic+128,a0
		lea	147*160(a0),a0
		move	#29,d7
		bsr	cop2

		lea	pic+128,a0
		lea	147*160(a0),a0
		move	#29,d7
		bsr	shift

		dbf	d6,all2
*---------------
		moveq	#6,d0			; music init, innit?
		jsr	mux
*---------------
		bsr	int_on			; turn on interupts
*---------------
		moveq	#$12,d1			; mouse off
		bsr	ikbdsend
*---------------
		move.l	up_scr,d7
		bsr	set_scr
		move.b	#0,$ffff8260.w
*---------------
		move.l	up_scr,a0
		bsr	scr_clr

*--------------- make errors!!
		*divu	#0,d0
		*move.l	#$deadface,4
		*move.l	#$deadface,5
*---------------
		lea	pic+128,a0
		move.l	up_scr,a1
		move	#7999,d7
coop		move.l	(a0)+,(a1)+
		dbf	d7,coop

		move.l	up_scr,a1
		move	#(147*20)-1,d7
here2		move	#-1,4(a1)
		addq.l	#8,a1
		dbf	d7,here2
*---------------
		lea	fnt+128+(150*160),a0
		move.l	up_scr,a1
		lea	180*160(a1),a1
		move	#((50*40))/2-1,d7
here3		move.l	(a0)+,(a1)+
		move	(a0)+,(a1)+
		clr	(a1)+
		addq.l	#2,a0
		dbf	d7,here3

		lea	pic+128+(180*160),a0
		move.l	up_scr,a1
		lea	161*160(a1),a1
		move	#(16*20)-1,d7
here4		move	2(a0),4(a1)
		addq.l	#8,a0
		addq.l	#8,a1
		dbf	d7,here4

*---------------
		clr	xpos
*--------------- main loop
wait_loop
*---------------
		bsr	vsync
*---------------
		bsr	do_para

*---------------
		tst	scflag
		bne	dtbs
*--------------- lil scroller #1

		lea	lbuf,a5
		move.l	up_scr,a6
		lea	100*160(a6


件在删除上传文件之前没有正确验证其路径。这使得未经授权的攻击者能够删除任意文件，包括wp-config.php文件，从而可能导致站点接管和远程代码执行。 | [1]https://plugins.trac.wordpress.org/browser/startklar-elmentor-forms-extwidgets/trunk/startklarDropZoneUploadProcess.php?rev=3061298#L7
[2]https://plugins.trac.wordpress.org/changeset/3081987/startklar-elmentor-forms-extwidgets
[3]https://www.wordfence.com/threat-intel/vulnerabilities/id/a125bbf1-8ff6-4f3d-a4fb-caaaefe1df2a?source=cve |
| 5 | CVE-2024-4582 | 7.3  | HIGH | 在Faraday GM8181和GM828x系列，截至20240429，发现了一个被标记为关键的漏洞。受影响的是NTP服务组件的一个未知功能。通过操纵ntp_srv参数，可能导致操作系统命令注入。此攻击可远程执行。漏洞已公开披露，可能已被利用。建议升级受影响的组件。此漏洞的标识符为VDB-263304。 | [1]https://file.notion.so/f/f/3f67e7ef-2ba8-446a-9721-f87d0baa1695/fa61d774-823d-4516-8ff3-73c310ff7801/command_injection_submit.py?id=6d18aced-daaa-4e52-a0e8-9d1c5e00acee&table=block&spaceId=3f67e7ef-2ba8-446a-9721-f87d0baa1695&expirationTimestamp=171514800
[2]https://netsecfish.notion.site/Command-Injection-in-Faraday-Technology-GM828x-GM8181-DVR-1bc02d17ee5540a08273da2850e809c4?pvs=4
[3]https://vuldb.com/?ctiid.263304
[4]https://vuldb.com/?id.263304
[5]https://vuldb.com/?submit.324393 |
| 6 | CVE-2024-4599 | 7.5  | HIGH | 影响版本3.4.0的LAN Messenger的远程拒绝服务漏洞。攻击者可以通过UDP协议直接连续发送一个长字符串，从而导致LAN Messenger服务崩溃。 | [1]https://www.incibe.es/en/incibe-cert/notices/aviso/denial-service-vulnerability-lan-messenger |
| 7 | CVE-2024-4537 | 7.5  | HIGH | JantoTicketing Software 4.3r10版本中的IDOR漏洞。此漏洞可能允许远程用户获取其他用户的下载链接，从而获取购买的票证。 | [1]https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-janto-ticketing-software |
| 8 | CVE-2024-4538 | 7.5  | H


        {
            this._triggerProtecting = true;
        }

        // Override
        onDelete()
        {
            this._clear(this, this.onUpdate);
			this._clear(this, this.onTriggerProtectTimeOver);
            this._clear(this, this.onTriggerEndTimerOver);
            super.onDelete();
        }
    }
}import { IPrinter } from './../types/core/printer';
import { Injectable } from '../tools/decorators/injectable';

@Injectable()
export class ConsolePrinter implements IPrinter {
  constructor() {
    //
  }
  public print(...texts: string[]) {
    console.log(...texts);
  }
}
import { PlantStats } from "../types";

export enum PlantType {
  FIRE = "Fuego",
  WATER = "Agua",
  WIND = "Viento",
  ELECTRO = "Electrico",
  ICE = "Hielo",
  LIGHT = "Luz",
  DARK = "Oscuro",
  METAL = "Metal",
  PARASITE = "Parasito",
}

export enum PlantRarity {
  COMMON = "Comun",
  UNCOMMON = "No comun",
  RARE = "Rara",
  MYTICAL = "Mitica",
}

export const PLANT_RARITIES = [
  {
    rarity: PlantRarity.COMMON,
    id: 1,
  },
  {
    rarity: PlantRarity.UNCOMMON,
    id: 2,
  },
  {
    rarity: PlantRarity.RARE,
    id: 2,
  },
  {
    rarity: PlantRarity.MYTICAL,
    id: 3,
  },
];

const FirePlants: Partial<Plant>[] = Array.from([0, 1, 7, 17, 30]).map(
  (id) => ({
    id,
    type: PlantType.FIRE,
  })
);

const WaterPlants: Partial<Plant>[] = Array.from([4, 5, 36, 38, 39]).map(
  (id) => ({
    id,
    type: PlantType.WATER,
  })
);

const WindPlants: Partial<Plant>[] = Array.from([9, 10, 16, 37]).map((id) => ({
  id,
  type: PlantType.WIND,
}));

const ElectroPlants: Partial<Plant>[] = Array.from([3, 8, 15, 32, 34]).map(
  (id) => ({
    id,
    type: PlantType.ELECTRO,
  })
);

const IcePlants: Partial<Plant>[] = Array.from([2, 6, 29]).map((id) => ({
  id,
  type: PlantType.ICE,
}));

const LightPlants: Partial<Plant>[] = Array.from([18, 19, 20, 21]).map(
  (id) => ({
    id,
    type: PlantType.LIGHT,
  })
);

const DarkPlants: Partial<Plant>[] = Array.from([14, 31, 33, 35]).map((id) => ({
  id,
  type: PlantType.DARK,
}));

const MetalPlants: Partial<Plant>[] = Array.from([25, 26, 27, 28]).map(
  (id) => ({
    id,
    type: PlantType.METAL,
  })
);

const ParasitePlants: Partial<Plant>[] = Array.from([
  11, 12, 13, 22, 23, 24,
]).map((id) => ({
  id,
  type: PlantType.PARASITE,
}));

export interface Plant {
  id: number;
  type: Plant


tinue
		}
		if arg.Data().Kind() != Regular {
			continue
		}
		oldV := arg.Data().Regular()
		if oldV.CanAddr() {
			continue
		}

		newV := reflect.New(oldV.Type()).Elem()
		newV.Set(oldV)
		args[ident] = MakeDataRegular(newV)
	}
}

func (args Args) validate() error {
	for ident, arg := range args {
		switch arg.Kind() {
		case Type:
			if arg.Type() == nil {
				return errors.New(ident + ": invalid type nil")
			}
		case Datas:
			if arg.Kind() == Datas && arg.Data().Kind() == Regular && !arg.Data().Regular().IsValid() {
				return errors.New(ident + ": invalid regular data")
			}
		}
	}
	return nil
}
package eval

import (
	"github.com/apaxa-go/helper/reflecth"
	"reflect"
)

func isBuiltInType(ident string) bool {
	_, ok := builtInTypes[ident]
	return ok
}

var builtInTypes = map[string]reflect.Type{
	"bool": reflecth.TypeBool(),

	//////////////// Numeric ////////////////
	"uint":   reflecth.TypeUint(),
	"uint8":  reflecth.TypeUint8(),
	"uint16": reflecth.TypeUint16(),
	"uint32": reflecth.TypeUint32(),
	"uint64": reflecth.TypeUint64(),

	"int":   reflecth.TypeInt(),
	"int8":  reflecth.TypeInt8(),
	"int16": reflecth.TypeInt16(),
	"int32": reflecth.TypeInt32(),
	"int64": reflecth.TypeInt64(),

	"float32": reflecth.TypeFloat32(),
	"float64": reflecth.TypeFloat64(),

	"complex64":  reflecth.TypeComplex64(),
	"complex128": reflecth.TypeComplex128(),

	"byte": reflecth.TypeByte(),
	"rune": reflecth.TypeRune(),

	"uintptr": reflecth.TypeUintptr(),
	/////////////////////////////////////////

	"string": reflecth.TypeString(),
}

// In some places required specific types. This variables allow to avoid using types map.
var (
	bytesSliceT = reflect.SliceOf(reflect.TypeOf(byte(0)))
)
package eval

import (
	"errors"
	"fmt"
	"github.com/apaxa-go/helper/goh/constanth"
	"go/ast"
	"go/parser"
	"go/token"
	"io"
	"reflect"
)

// DefaultFileName is used as filename if expression constructor does not allow to set custom filename.
const DefaultFileName = "expression"

// Expression store expression for evaluation.
// It allows evaluate expression multiple times.
// The zero value for Expression is invalid and causes undefined behaviour.
type Expression struct {
	e       ast.Expr
	fset    *token.FileSet
	pkgPath string
}

// MakeExpression make expression with specified arguments.
// It does not perform any validation of arguments.
// e is AST of expression.
// fset is used to describe position of error and must be non nil (use token.NewFileSet instead).
// pkgPath is fully qualified package name, for more details see package level documentation.
func MakeExpression(e ast.Expr, fset *token.FileSet, pkgPath string) *Expression {
	return &Expression{e, fset, pkgPath}
}

// Parse parses filename or src for expression using parser.ParseExprFrom.
// For information about filename and src see parser.ParseExprFrom documentation.
// pkgPath is fully qualified package name, for more details see package level documentation.
func Parse(filename string, src interface{}, pkgPath string) (r *Expression, err error) {
	r = new(Expression)
	r.fset = token.NewFileSet()
	r.e, err = parser.ParseExpr


$BF,D0
      BRA       L0995
L0994:MOVEQ     #$41,D0
L0995:ADD.W     D0,D7
      BRA       L0999
L0996:AND.W     #$FF00,D6
      TST.W     -14(A6)
      BEQ       L0997
      MOVE.W    #$BF,D0
      BRA       L0998
L0997:MOVEQ     #$41,D0
L0998:ADD.W     D0,D6
L0999:TST.W     12(A6)
      BEQ       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      CMP.W     (A0),D7
      BNE       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      CMP.W     2(A0),D6
      BNE       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      MOVEA.L   D0,A0
      MOVE.L    #L0B71,D1
      MOVE.W    4(A0,D1.L),D0
      CMP.W     -6(A6),D0
      BNE       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      MOVEA.L   D0,A0
      MOVE.L    #L0B71,D1
      TST.W     28(A0,D1.L)
      BNE       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      MOVEA.L   D0,A0
      MOVE.L    #L0B71,D1
      TST.W     76(A0,D1.L)
      BNE       L099A
      MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      MOVE.W    #1,34(A0)
L099A:MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      MOVE.W    D7,(A0)
      MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      MOVE.W    D6,2(A0)
      MOVE.W    D5,D0
      MULS      #$84,D0
      ADD.L     #L0B71,D0
      MOVEA.L   D0,A0
      MOVE.W    -6(A6),4(A0)
      ASR.W     #7,D7
      OR.W      #1,D7
      ASR.W     #7,D6
      OR.W      #1,D6
      CLR.W     -40(A6)
      CLR.W     (A7)
      MOVE.W    D6,-(A7)
      MOVE.W    D7,-(A7)
      SUBQ.W    #1,(A7)
      JSR       L0804
      ADDQ.L    #4,A7
      CMP.W     #1,D0
      BNE       L099B
      ADDQ.W    #1,-40(A6)
L099B:CLR.W     (A7)
      MOVE.W    D6,-(A7)
      SUBQ.W    #1,(A7


local _, sm = ...
sm.borders = {}

local mod = sm.borders
local L = sm.L

local EnableAddOn = C_AddOns.EnableAddOn
local GetAddOnInfo = C_AddOns.GetAddOnInfo
local LoadAddOn = C_AddOns.LoadAddOn
local IsAddOnLoaded = C_AddOns.IsAddOnLoaded

local textures = {}
local texturePool = {}
local rotateTextures = {}
local defaultSize = 180
local customBackdrop
local media = LibStub("LibSharedMedia-3.0")

local layers = {
	BACKGROUND = L["1. Background"],
	BORDER = L["2. Border"],
	ARTWORK = L["3. Artwork"],
	OVERLAY = L["4. Overlay"],
	HIGHLIGHT = L["5. Highlight"],
}
local blendModes = {
	BLEND = L["Blend (normal)"],
	DISABLE = L["Disable (opaque)"],
	ALPHAKEY = L["Alpha Key (1-bit alpha)"],
	MOD = L["Mod Blend (modulative)"],
	ADD = L["Add Blend (additive)"],
}

local classicTextures = {
	[167062] = "interface\\addons\\sexymap\\media\\classic\\t_vfx_hero_circle.blp",
	[240948] = "interface\\addons\\sexymap\\media\\classic\\lightning_new.blp",
	[167138] = "interface\\addons\\sexymap\\media\\classic\\treantleaves.blp",
	[165623] = "interface\\addons\\sexymap\\media\\classic\\aura_01.blp",
	[187303] = "interface\\addons\\sexymap\\media\\classic\\swathsmallstones.blp",
	[241004] = "interface\\addons\\sexymap\\media\\classic\\roguerune2.blp",
	[249644] = "interface\\addons\\sexymap\\media\\classic\\ul_spinningroomrings_ring07.blp",
	[527512] = "interface\\addons\\sexymap\\media\\classic\\deathwingfightsky_cloudsmask03.blp",
	[536776] = "interface\\addons\\sexymap\\media\\classic\\deathwingfightsky_particlecloud.blp",
	[130539] = "interface\\addons\\sexymap\\media\\classic\\icecrown_cloudsa02_mask01.blp",
	[235378] = "interface\\addons\\sexymap\\media\\classic\\wintergrasp_cloudmask01.blp",
	[130540] = "interface\\addons\\sexymap\\media\\classic\\icecrown_cloudsa02_mask02.blp",
	[130444] = "interface\\addons\\sexymap\\media\\classic\\auchindoun_vortexcloud01.blp",
	[235312] = "interface\\addons\\sexymap\\media\\classic\\deathsky_vortexcloud01.blp",
	[130505] = "interface\\addons\\sexymap\\media\\classic\\galaxy_02.blp",
	[130518] = "interface\\addons\\sexymap\\media\\classic\\hellfireplanet03.blp",
	[130472] = "interface\\addons\\sexymap\\media\\classic\\bladesedgeplanet04.blp",
	[130523] = "interface\\addons\\sexymap\\media\\classic\\hellfireplanet_red01.blp",
	[130521] = "interface\\addons\\sexymap\\media\\classic\\hellfireplanet_blue01.blp",
	[378269] = "interface\\addons\\sexymap\\media\\classic\\deepholmsky_nebula01.blp",
}

local presets, userPresets = {}, {}

local function RotateTexture(self, inc, set)
	if type(inc) == "string" then
		local bearing = GetPlayerFacing()
		if inc == "normal" then
			bearing = bearing * -1
		end
		bearing = bearing * 57.2957795
		RotateTexture(self, bearing, true)
	else
		self.hAngle = (set and 0 or self.hAngle or 0) - inc;
		local s = sin(self.hAngle);
		local c = cos(self.hAngle);

		self:SetTexCoord(
			0.


background: linear-gradient(45deg, #C9A96E, #F4E4BC, #C9A96E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
    text-shadow: 0 0 20px rgba(201, 169, 110, 0.3);
}

.subtitle {
    color: #b0b0b0;
    font-size: clamp(0.9rem, 2.5vw, 1.1rem);
    font-weight: 300;
}

/* Main Content */
.main-content {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    justify-items: center;
    align-content: center;
    min-height: 0;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1rem 0;
}

/* Flash Messages */
.flash-messages {
    width: 100%;
    max-width: 450px;
    justify-self: center;
}

.flash-message {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.flash-error {
    border-color: rgba(255, 107, 107, 0.3);
    background: rgba(255, 107, 107, 0.1);
}

/* Upload Section */
.upload-section {
    width: 100%;
    max-width: 900px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
    gap: 1.5rem;
    justify-items: center;
    align-items: start;
}

.input-method {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 400px;
    box-sizing: border-box;
}

.recording-method {
    grid-column: 1;
    grid-row: 1;
}

.upload-method {
    grid-column: 3;
    grid-row: 1;
}

.input-method:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.method-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.method-icon {
    font-size: 1.5rem;
}

.method-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #ffffff;
}

/* Recording Controls */
.recording-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    justify-items: center;
    margin-bottom: 1rem;
    width: 100%;
}

.record-btn, .stop-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
    border-radius: 12px;
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
    cursor: pointer;
    transiti


IRQHandler             /* 0x60  0x0180  96: Reserved */
    .long RSV81_IRQHandler             /* 0x61  0x0184  97: Reserved */
    .long ECC_IRQHandler               /* 0x62  0x0188  98: ECC */
    .long DVS_IRQHandler               /* 0x63  0x018C  99: DVS */
    .long SIMO_IRQHandler              /* 0x64  0x0190 100: SIMO */
    .long RSV85_IRQHandler             /* 0x65  0x0194 101: Reserved */
    .long RSV86_IRQHandler             /* 0x66  0x0198 102: Reserved */
    .long RSV87_IRQHandler             /* 0x67  0x019C 103: Reserved */
    .long UART3_IRQHandler             /* 0x68  0x01A0 104: UART 3 (LP) */
    .long RSV89_IRQHandler             /* 0x69  0x01A4 105: Reserved */
    .long RSV90_IRQHandler             /* 0x6A  0x01A8 106: Reserved */
    .long PCIF_IRQHandler              /* 0x6B  0x01AC 107: PCIF (Camera) */
    .long RSV92_IRQHandler             /* 0x6C  0x01B0 108: Reserved */
    .long RSV93_IRQHandler             /* 0x6D  0x01B4 109: Reserved */
    .long RSV94_IRQHandler             /* 0x6E  0x01B8 110: Reserved */
    .long RSV95_IRQHandler             /* 0x6F  0x01BC 111: Reserved */
    .long RSV96_IRQHandler             /* 0x70  0x01C0 112: Reserved */
    .long AES_IRQHandler               /* 0x71  0x01C4 113: AES */
    .long RSV98_IRQHandler             /* 0x72  0x01C8 114: Reserved */
    .long I2S_IRQHandler               /* 0x73  0x01CC 115: I2S */
    .long CNN_FIFO_IRQHandler          /* 0x74  0x01D0 116: CNN FIFO */
    .long CNN_IRQHandler               /* 0x75  0x01D4 117: CNN */
    .long RSV102_IRQHandler            /* 0x76  0x01D8 118: Reserved */
    .long LPCMP_IRQHandler             /* 0x77  0x01Dc 119: LP Comparator */

    .section .firmware_startup
    .thumb
    .thumb_func
    .align 9
    .globl firmware_startup
    .type firmware_startup, %function
firmware_startup:
    ldr     r0, =Reset_Handler
    blx     r0

    .text
    .thumb
    .thumb_func
    .align 2
    .globl   Reset_Handler
    .type    Reset_Handler, %function
Reset_Handler:
    ldr r0, =__StackTop
    mov sp, r0

    /* PreInit runs before any RAM initialization. Example usage: DDR setup, etc. */
    ldr     r0, =PreInit
    blx     r0
    cbnz    r0, .SKIPRAMINIT

/*     Loop to copy data from read only memory to RAM. The ranges
 *      of copy from/to are specified by following symbols evaluated in
 *      linker script.
 *      __load_data: Where data sections are saved.
 *      _data /_edata: RAM address range that data should be
 *      copied to. Both must be aligned to 4 bytes boundary.  */

    ldr    r1, =__load_data
    ldr    r2, =_data
    ldr    r3, =_edata

#if 0
/* Here are two copies of loop implemenations. First one favors code size
 * and the second one favors performance. Default uses the first one.
 * Change to "#if 0" to use the second one */
.LC0:
    cmp     r2, r3
    ittt    lt
    ldrlt   r0, [r1], #4
    strlt   r0, [r2], #4
    blt    .LC0
#else
    subs    r3, r2
    ble    .LC1


omJson(gson.toJson(parseContext), ParseContext::class.java).metadata.lookupKeyValue,
    )
  }
}
/*
 *  Copyright 2025 Budapest University of Technology and Economics
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package hu.bme.mit.theta.xcfa.gson

import com.google.gson.GsonBuilder
import com.google.gson.TypeAdapter
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
import hu.bme.mit.theta.frontend.transformation.model.statements.CStatement

class CStatementAdapter : TypeAdapter<CStatement>() {

  private val gson = GsonBuilder().create()

  override fun write(writer: JsonWriter, value: CStatement) {
    writer.beginObject()

    writer.endObject()
  }

  override fun read(reader: JsonReader): CStatement? {
    reader.beginObject()

    reader.endObject()
    return null
  }
}
/*
 *  Copyright 2025 Budapest University of Technology and Economics
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package hu.bme.mit.theta.xcfa.witnesses

import com.charleskorn.kaml.Yaml
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

val WitnessYamlConfig =
  Yaml(configuration = Yaml.default.configuration.copy(encodeDefaults = false))

// https://gitlab.com/sosy-lab/benchmarking/sv-witnesses/-/blob/8f5dc4bf00c01bc6d5636d7993e164d181e19204/violation-witness-schema.yml
// https://gitlab.com/sosy-lab/benchmarking/sv-witnesses/-/blob/8f5dc4bf00c01bc6d5636d7993e164d181e19204/correctness-witness-schema.yml

/**
 * For violations: Each entry consists of three key-value pairs, namely the key `entry_type` with
 * value `violation_sequence`, the key metadata, and the key content. For correctness: The
 * `entry_type` defines what content is available in the content field. The only allowed entry type
 * for a correctness witness is `invariant_set`.
 *
 * @param entryType The `entry_type` defines what content is available in the content field. The
 *   only allowed entry type for a correctness witness is `violation_sequence`.
 * @param metadata The meta data describe the provenance of the data.
 * @param content For violations: The content represents the semantical content of the violation
 *   witness. It is a sequence of one or more segments. The content contains a


// Decompiled with JetBrains decompiler
// Type: Terraria.GameContent.RGB.DeathShader
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
// Assembly location: C:\Program Files (x86)\Steam\steamapps\common\Terraria\Terraria.exe

using Microsoft.Xna.Framework;
using ReLogic.Peripherals.RGB;
using System;

namespace Terraria.GameContent.RGB
{
  public class DeathShader : ChromaShader
  {
    private readonly Vector4 _primaryColor;
    private readonly Vector4 _secondaryColor;

    public DeathShader(Color primaryColor, Color secondaryColor) : base()
{
      this._primaryC


e_service.ipp>
#endif // defined(BOOST_ASIO_HEADER_ONLY)

#endif // defined(BOOST_ASIO_HAS_IOCP)

#endif // BOOST_ASIO_DETAIL_WIN_IOCP_HANDLE_SERVICE_HPP
//
// detail/win_iocp_socket_recvfrom_op.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//

#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
# pragma once
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)

#include <boost/asio/detail/config.hpp>

#if defined(BOOST_ASIO_HAS_IOCP)

#include <boost/asio/detail/bind_handler.hpp>
#include <boost/asio/detail/buffer_sequence_adapter.hpp>
#include <boost/asio/detail/fenced_block.hpp>
#include <boost/asio/detail/handler_alloc_helpers.hpp>
#include <boost/asio/detail/handler_invoke_helpers.hpp>
#include <boost/asio/detail/handler_work.hpp>
#include <boost/asio/detail/memory.hpp>
#include <boost/asio/detail/operation.hpp>
#include <boost/asio/detail/socket_ops.hpp>
#include <boost/asio/error.hpp>

#include <boost/asio/detail/push_options.hpp>

namespace boost {
namespace asio {
namespace detail {

template <typename MutableBufferSequence, typename Endpoint,
    typename Handler, typename IoExecutor>
class win_iocp_socket_recvfrom_op : public operation
{
public:
  BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recvfrom_op);

  win_iocp_socket_recvfrom_op(Endpoint& endpoint,
      socket_ops::weak_cancel_token_type cancel_token,
      const MutableBufferSequence& buffers, Handler& handler,
      const IoExecutor& io_ex)
    : operation(&win_iocp_socket_recvfrom_op::do_complete),
      endpoint_(endpoint),
      endpoint_size_(static_cast<int>(endpoint.capacity())),
      cancel_token_(cancel_token),
      buffers_(buffers),
      handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
      work_(handler_, io_ex)
  {
  }

  int& endpoint_size()
  {
    return endpoint_size_;
  }

  static void do_complete(void* owner, operation* base,
      const boost::system::error_code& result_ec,
      std::size_t bytes_transferred)
  {
    boost::system::error_code ec(result_ec);

    // Take ownership of the operation object.
    BOOST_ASIO_ASSUME(base != 0);
    win_iocp_socket_recvfrom_op* o(
        static_cast<win_iocp_socket_recvfrom_op*>(base));
    ptr p = { boost::asio::detail::addressof(o->handler_), o, o };

    BOOST_ASIO_HANDLER_COMPLETION((*o));

    // Take ownership of the operation's outstanding work.
    handler_work<Handler, IoExecutor> w(
        BOOST_ASIO_MOVE_CAST2(handler_work<Handler, IoExecutor>)(
          o->work_));

#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
    // Check whether buffers are still valid.
    if (owner)
    {
      buffer_sequence_adapter<boost::asio::mutable_buffer,
          MutableBufferSequence>::validate(o->buffers_);
    }
#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)

    socket_ops::complete_i


 HarmonicAtomList(double k, Array<size_t> atoms1)
        : AtomListPotential<harmonic_interaction, cartesian_distance<3> >(
                std::make_shared<harmonic_interaction>(k),
                std::make_shared<cartesian_distance<3>>(), atoms1)
    {}
};

/**
 * Pairwise Harmonic potential with neighbor lists
 */
class HarmonicNeighborList : public SimplePairwiseNeighborList<harmonic_interaction> {
public:
    HarmonicNeighborList(double k, Array<size_t> ilist)
        :  SimplePairwiseNeighborList<harmonic_interaction>(
                std::make_shared<harmonic_interaction>(k), ilist)
    {}
};

} // namespace pele

#endif // #ifndef _PELE_HARMONIC_H


开如图四，这里面显示的一条条都是 ZFB 的进程。当我们勾选 ZFB 的所有进程， ZFB 就检测不到 root 了，也就是对 ZFB 隐藏 root 了。不用一个个点，展开后点 ZFB 右边的方框即可全部勾选这些进程。把这些进程全部勾选后，如图六，可以看到 ZFB 上面的进度条全满。这个进度条表示里面的进程有没有全部勾选，如果没有全部勾选，进度条就不会全满。就像图七图八进度条不全满，里面的进程就没有全部勾选，这样是不行的。必须全部勾选里面的进程，才能完全隐藏 root 。

非必需操作：排除列表勾选完 ZFB 后，退出面具。然后长按桌面的 ZFB 图标， ZFB 图标上会出现“应用信息”四个字，点“应用信息”进入“应用信息”界面。如果你是显示图一那样，你就直接去打开 ZFB，也不用点“结束运行”。如果你是显示图二那样，就点一下“结束运行”，然后再去打开 ZFB。

好了，不出意外的话，当排除列表勾选 ZFB 后，打开 ZFB 就会发现刷脸功能又可以使用了。

### 排除列表对手机管家隐藏root(MIUI系统专属)

如果你是MIUI系统的用户，对ZFB或者薇信以及其他金融类应用隐藏root后，用它们ZF时可能会弹出以下提醒。

当看到以上提醒，一些朋友可能会觉得，你这方案不行啊。Shamiko模块生效了，也在排除列表勾选了ZFB所有进程，居然还会提示手机已被root。其实这真不是ZFB检测到了root，而是MIUI系统的系统应用“手机管家”检测到了root，发出的弹窗提醒。至于为什么会弹窗这个，因为你排除列表没勾选手机管家啊！

进入面具排除列表，然后右上角搜索手机管家，大概率都会搜索不到，主要是方法不对，以下教大家查找手机管家的正确方法。

### 疑难解答

??? help "**Momo提示找到Magisk解决方法**"

    安装了“Shamiko”模块，并且“Shamiko”模块也生效了(显示笑脸)，排除列表也勾选了Momo的所有进程，打开Momo还是提示找到Magisk。

    **解决方法**
    (1)去面具模块界面，检查有没有安装“隐藏系统root”模块。如果是安装了“隐藏系统root”模块，那就不要解决Momo提示找到Magisk了。因为就是这个模块，导致Momo提示找到


出现的新功能。 |
| 分类 | 给定一组电影评论，判断它们是正面评价还是负面评价？ |
|电影推荐|给我一部现代爱情片，主人公是女孩子的。|
|健康保健|怎样预防感冒？|
|新闻事件|最近有哪些重要的国际新闻事件？|
|科技产品比较|苹果和三星手机哪个更适合年轻人使用？|
|旅游攻略|在日本旅行应该注意哪些文化差异？|
|文化知识|《红楼梦》中林黛玉的性格特点是什么？|
|历史事件|请问南京大屠杀发生在哪一年？|
|金融投资|如何评估一只股票是否值得购买？|
|英语学习|如何提高自己的口语表达能力？|
|美食烹饪|请介绍一个简单易学的家常菜制作方法。|
|电影推荐|你能推荐一部近期上映的科幻电影吗？|
|人物描述|请用三个形容词来描述下列人物：刘德华。|
|新闻分类|这篇文章是关于科技方面的，还是财经方面的？|
|段落改写|请将下面这段话改写成更简单易懂的语言：The utilization of modern technology has given rise to new methods of communication in contemporary society.|
|产品评论|请写出一则对 AirPods Pro 的评价。|
|诗歌创作|请写一首五言绝句，主题为“夜色”。|
|翻译校对|请将下面这句话翻译成英语并进行校对：“我昨天晚上做了一道非常好吃的意大利面。”|
|人文地理|世界上最大的沙漠是哪一个？|
|语音转写|请将下面这段录音转写成文字：“今天天气不错，我们一起去爬山怎么样？”（录音文件略）|
|对话生成|请编写一段对话，内容为顾客咨询购买电视机。|
| 查询天气情况                         | 明天上海会下雨吗？                                             |
| 分类动物种类                         | 碰到一只小动物，它有黄褐色的毛发和长尾巴，是什么动物？     |
| 编辑邮件                             | 把这封邮件中的语法错误改正一下。


(Map<String, String> details) {
    this.details = details;
  }

  @Override
  public String toString() {
    return this.getClass().getSimpleName()
           + "[id=" + id
           + ", revision=" + revision
           + ", type=" + type
           + ", userId=" + userId
           + ", key=" + key
           + ", value=" + value
           + ", password=" + password
           + ", parentId=" + parentId
           + ", details=" + details
           + "]";
  }
}
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information regarding copyright
 * ownership. Camunda licenses this file to you under the Apache License,
 * Version 2.0; you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.camunda.bpm.engine.impl.persistence.entity;

import static org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.camunda.bpm.engine.authorization.Resources;
import org.camunda.bpm.engine.impl.Page;
import org.camunda.bpm.engine.impl.TaskQueryImpl;
import org.camunda.bpm.engine.impl.cfg.auth.ResourceAuthorizationProvider;
import org.camunda.bpm.engine.impl.context.Context;
import org.camunda.bpm.engine.impl.db.ListQueryParameterObject;
import org.camunda.bpm.engine.impl.interceptor.CommandContext;
import org.camunda.bpm.engine.impl.persistence.AbstractManager;
import org.camunda.bpm.engine.task.Task;

/**
 * @author Tom Baeyens
 */
public class TaskManager extends AbstractManager {

  public void insertTask(TaskEntity task) {
    getDbEntityManager().insert(task);
    createDefaultAuthorizations(task);
  }

  @SuppressWarnings({ "unchecked", "rawtypes" })
  public void deleteTasksByProcessInstanceId(String processInstanceId, String deleteReason, boolean cascade, boolean skipCustomListeners) {
    List<TaskEntity> tasks = (List) getDbEntityManager()
      .createTaskQuery()
      .processInstanceId(processInstanceId)
      .list();

    String reason = (deleteReason == null || deleteReason.length() == 0) ? TaskEntity.DELETE_REASON_DELETED : deleteReason;

    for (TaskEntity task: tasks) {
      task.delete(reason, cascade, skipCustomListeners);
    }
  }

  @SuppressWarnings({ "unchecked", "rawtypes" })
  public void deleteTasksByCaseInstanceId(String caseInstanceId, String deleteReason, boolean cascade) {
    List<TaskEntity> tasks = (List) getDbEntityManager()
        .createTaskQuery()
        .caseInstanceId(caseInstanceId)
        .list();

      String reason = (deleteReason == null || deleteReason.length() == 0) ? TaskEntity.DELETE_REASON_DELETED : deleteReason;

      for (TaskEntity task: tasks) {
        task.delete(reason, cascade, false);
      }
  }

  public void deleteTask(TaskEntity task, String deleteReason, boolean cascade, boolean skipCustomListeners) {
    if (!task.isDeleted()) {
      task.setDeleted(true);

      CommandContext commandContext = Context.getCommandContext();
      String taskId = task.getId();

      List<Task> subTasks = findTasks


s/test/*/test/trait.Foo.html#associatedconstant.CONST"##]],
        );
        check_external_docs(
            r#"
pub trait Foo {
    type Type$0;
}
"#,
            expect![[r##"https://docs.rs/test/*/test/trait.Foo.html#associatedtype.Type"##]],
        );
    }

    #[test]
    fn external_docs_trait() {
        check_external_docs(
            r#"
trait Trait$0 {}
"#,
            expect![[r#"https://docs.rs/test/*/test/trait.Trait.html"#]],
        )
    }

    #[test]
    fn external_docs_module() {
        check_external_docs(
            r#"
pub mod foo {
    pub mod ba$0r {}
}
"#,
            expect![[r#"https://docs.rs/test/*/test/foo/bar/index.html"#]],
        )
    }

    #[test]
    fn external_docs_reexport_order() {
        check_external_docs(
            r#"
pub mod wrapper {
    pub use module::Item;

    pub mod module {
        pub struct Item;
    }
}

fn foo() {
    let bar: wrapper::It$0em;
}
        "#,
            expect![[r#"https://docs.rs/test/*/test/wrapper/module/struct.Item.html"#]],
        )
    }

    #[test]
    fn test_trait_items() {
        check_doc_links(
            r#"
/// [`Trait`]
/// [`Trait::Type`]
/// [`Trait::CONST`]
/// [`Trait::func`]
trait Trait$0 {
   // ^^^^^ Trait
    type Type;
      // ^^^^ Trait::Type
    const CONST: usize;
       // ^^^^^ Trait::CONST
    fn func();
    // ^^^^ Trait::func
}
        "#,
        )
    }

    #[test]
    fn rewrite_html_root_url() {
        check_rewrite(
            r#"
#![doc(arbitrary_attribute = "test", html_root_url = "https:/example.com", arbitrary_attribute2)]

pub mod foo {
    pub struct Foo;
}
/// [Foo](foo::Foo)
pub struct B$0ar
"#,
            expect![[r#"[Foo](https://example.com/test/foo/struct.Foo.html)"#]],
        );
    }

    #[test]
    fn rewrite_on_field() {
        // FIXME: Should be
        //  [Foo](https://docs.rs/test/*/test/struct.Foo.html)
        check_rewrite(
            r#"
pub struct Foo {
    /// [Foo](struct.Foo.html)
    fie$0ld: ()
}
"#,
            expect![[r#"[Foo](struct.Foo.html)"#]],
        );
    }

    #[test]
    fn rewrite_struct() {
        check_rewrite(
            r#"
/// [Foo]
pub struct $0Foo;
"#,
            expect![[r#"[Foo](https://docs.rs/test/*/test/struct.Foo.html)"#]],
        );
        check_rewrite(
            r#"
/// [`Foo`]
pub struct $0Foo;
"#,
            expect![[r#"[`Foo`](https://docs.rs/test/*/test/struct.Foo.html)"#]],
        );
        check_rewrite(
            r#"
/// [Foo](struct.Foo.html)
pub struct $0Foo;
"#,
            expect![[r#"[Foo](https://docs.rs/test/*/test/struct.Foo.html)"#]],
        );
        check_rewrite(
            r#"
/// [struct Foo](struct.Foo.html)
pub struct $0Foo;
"#,
            expect![[r#"[struct Foo](https://docs.rs/test/*


d.
    ///
    /// # Examples
    ///
    /// A recurrent neural network data descriptor can be used to represent both input and output
    /// sequences for such model.
    ///
    /// ```
    /// # use std::error::Error;
    /// #
    /// # fn main() -> Result<(), Box<dyn Error>> {
    /// use cudnn::{CudnnContext, RnnDataDescriptor, SeqMajorUnpacked};
    ///
    /// let ctx = CudnnContext::new()?;
    ///
    /// let layout = SeqMajorUnpacked;
    /// let max_seq_length = 3;
    /// let batch_size = 5;
    /// let vector_size = 10;
    /// let seq_lengths = [1, 2, 3, 2, 1];
    /// let padding_fill = None; // Should only be set for output sequences.
    ///
    /// let rnn_data_desc = RnnDataDescriptor::<f32, _>::new(
    ///     layout,
    ///     max_seq_length,
    ///     batch_size,
    ///     vector_size,
    ///     &seq_lengths,
    ///     padding_fill,
    /// )?;
    /// # Ok(())
    /// # }
    /// ```
    pub fn new(
        layout: L,
        max_seq_length: i32,
        batch_size: i32,
        vector_size: i32,
        seq_lengths: &[i32],
        padding_fill: impl Into<Option<T>>,
    ) -> Result<Self, CudnnError> {
        assert_eq!(
            seq_lengths.len(),
            batch_size as usize,
            "Found {} sequence lengths, but batch size is {}",
            seq_lengths.len(),
            batch_size
        );
        let mut raw = MaybeUninit::uninit();

        unsafe {
            sys::cudnnCreateRNNDataDescriptor(raw.as_mut_ptr()).into_result()?;

            let mut raw = raw.assume_init();

            let fill: *mut T = padding_fill
                .into()
                .map_or(std::ptr::null_mut(), |mut el| &mut el as *mut T);

            sys::cudnnSetRNNDataDescriptor(
                raw,
                T::into_raw(),
                L::into_raw(),
                max_seq_length,
                batch_size,
                vector_size,
                seq_lengths.as_ptr(),
                fill as *mut std::ffi::c_void,
            )
            .into_result()?;

            Ok(Self {
                raw,
                data_type: PhantomData,
                layout,
            })
        }
    }
}

impl<T, L> Drop for RnnDataDescriptor<T, L>
where
    T: DataType + RnnDataType,
    L: RnnDataLayout,
{
    fn drop(&mut self) {
        unsafe {
            sys::cudnnDestroyRNNDataDescriptor(self.raw);
        }
    }
}
use jsonrpc_core::types::Call;
use jsonrpc_core::Value;

use web3::transports::{http, ipc, ws};
use web3::RequestId;

use graph::prelude::*;
use graph::url::Url;
use std::future::Future;

/// Abstraction over the different web3 transports.
#[derive(Clone, Debug)]
pub enum Transport {
    RPC(http::Http),
    IPC(ipc::Ipc),
    WS(ws::WebSocket),
}

impl Transport {
    /// Creates an IPC transport.
    #[cfg(unix)]
    pub async fn new_ipc(ipc: &str) -> Self {
        ipc::Ipc::new(ipc)
            .await
            .map(|transport| Transport::IPC(transport))
            .expect("Failed to connect to Ethereum IPC")
    }

    /// Creates a WebSocket transport.
    pub async fn new_ws(ws: &str) -> Self {
        ws::WebSocket


 tmplTail = getTStylingRangeNext(tBindings);

  tData[index] = tStylingKeyWithStatic;
  let isKeyDuplicateOfStatic = false;
  let tStylingKey: TStylingKeyPrimitive;
  if (Array.isArray(tStylingKeyWithStatic)) {
    // We are case when the `TStylingKey` contains static fields as well.
    const staticKeyValueArray = tStylingKeyWithStatic as KeyValueArray<any>;
    tStylingKey = staticKeyValueArray[1];  // unwrap.
    // We need to check if our key is present in the static so that we can mark it as duplicate.
    if (tStylingKey === null ||
        keyValueArrayIndexOf(staticKeyValueArray, tStylingKey as string) > 0) {
      // tStylingKey is present in the statics, need to mark it as duplicate.
      isKeyDuplicateOfStatic = true;
    }
  } else {
    tStylingKey = tStylingKeyWithStatic;
  }
  if (isHostBinding) {
    // We are inserting host bindings

    // If we don't have template bindings then `tail` is 0.
    const hasTemplateBindings = tmplTail !== 0;
    // This is important to know because that means that the `head` can't point to the first
    // template bindings (there are none.) Instead the head points to the tail of the template.
    if (hasTemplateBindings) {
      // template head's "prev" will point to last host binding or to 0 if no host bindings yet
      const previousNode = getTStylingRangePrev(tData[tmplHead + 1] as TStylingRange);
      tData[index + 1] = toTStylingRange(previousNode, tmplHead);
      // if a host binding has already been registered, we need to update the next of that host
      // binding to point to this one
      if (previousNode !== 0) {
        // We need to update the template-tail value to point to us.
        tData[previousNode + 1] =
            setTStylingRangeNext(tData[previousNode + 1] as TStylingRange, index);
      }
      // The "previous" of the template binding head should point to this host binding
      tData[tmplHead + 1] = setTStylingRangePrev(tData[tmplHead + 1] as TStylingRange, index);
    } else {
      tData[index + 1] = toTStylingRange(tmplHead, 0);
      // if a host binding has already been registered, we need to update the next of that host
      // binding to point to this one
      if (tmplHead !== 0) {
        // We need to update the template-tail value to point to us.
        tData[tmplHead + 1] = setTStylingRangeNext(tData[tmplHead + 1] as TStylingRange, index);
      }
      // if we don't have template, the head points to template-tail, and needs to be advanced.
      tmplHead = index;
    }
  } else {
    // We are inserting in template section.
    // We need to set this binding's "previous" to the current template tail
    tData[index + 1] = toTStylingRange(tmplTail, 0);
    ngDevMode &&
        assertEqual(
            tmplHead !== 0 && tmplTail === 0, false,
            'Adding template bindings after hostBindings is not allowed.');
    if (tmplHead === 0) {
      tmplHead = index;
    } else {
      // We need to update the previous value "next" to point to this binding
      tData[tmplTail + 1] = setTStylingRangeNext(tData[tmplTail + 1] as TStylingRange, index);
    }
    tmplTail = index;
  }

  // Now we need to update / compute the duplicates.
  // Starting with our location search towards head (least priority)
  if (isKe


F2)
val onPrimaryDarkHighContrast = Color(0xFF000000)
val primaryContainerDarkHighContrast = Color(0xFFD9CD75)
val onPrimaryContainerDarkHighContrast = Color(0xFF000000)
val secondaryDarkHighContrast = Color(0xFFEBFFFA)
val onSecondaryDarkHighContrast = Color(0xFF000000)
val secondaryContainerDarkHighContrast = Color(0xFF86DACC)
val onSecondaryContainerDarkHighContrast = Color(0xFF000000)
val tertiaryDarkHighContrast = Color(0xFFEEFFF2)
val onTertiaryDarkHighContrast = Color(0xFF000000)
val tertiaryContainerDarkHighContrast = Color(0xFFABD4BB)
val onTertiaryContainerDarkHighContrast = Color(0xFF000000)
val errorDarkHighContrast = Color(0xFFFFF9F9)
val onErrorDarkHighContrast = Color(0xFF000000)
val errorContainerDarkHighContrast = Color(0xFFFFBAB1)
val onErrorContainerDarkHighContrast = Color(0xFF000000)
val backgroundDarkHighContrast = Color(0xFF15130C)
val onBackgroundDarkHighContrast = Color(0xFFE7E2D5)
val surfaceDarkHighContrast = Color(0xFF15130C)
val onSurfaceDarkHighContrast = Color(0xFFFFFFFF)
val surfaceVariantDarkHighContrast = Color(0xFF4A473A)
val onSurfaceVariantDarkHighContrast = Color(0xFFFFFAF2)
val outlineDarkHighContrast = Color(0xFFD0CBB9)
val outlineVariantDarkHighContrast = Color(0xFFD0CBB9)
val scrimDarkHighContrast = Color(0xFF000000)
val inverseSurfaceDarkHighContrast = Color(0xFFE7E2D5)
val inverseOnSurfaceDarkHighContrast = Color(0xFF000000)
val inversePrimaryDarkHighContrast = Color(0xFF2F2B00)
val surfaceDimDarkHighContrast = Color(0xFF15130C)
val surfaceBrightDarkHighContrast = Color(0xFF3B3930)
val surfaceContainerLowestDarkHighContrast = Color(0xFF0F0E07)
val surfaceContainerLowDarkHighContrast = Color(0xFF1D1C13)
val surfaceContainerDarkHighContrast = Color(0xFF212017)
val surfaceContainerHighDarkHighContrast = Color(0xFF2C2A21)
val surfaceContainerHighestDarkHighContrast = Color(0xFF37352C)package com.example.tvguide

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import com.example.tvguide.ui.DetailsScreen
import com.example.tvguide.ui.theme.TVGuideTheme

class DetailsActivity : ComponentActivity() {

    companion object {
        const val EXTRA_TITLE = "title"
        const val EXTRA_RELEASE = "release"
        const val EXTRA_OVERVIEW = "overview"
        const val IMAGE_URL = "https://image.tmdb.org/t/p/w500"
        const val EXTRA_POSTER = "poster"
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            TVGuideTheme {
                val extras = intent.extras
                val posterPath = extras?.getString(EXTRA_POSTER).orEmpty()

                DetailsScreen(
                    title = extras?.getString(EXTRA_TITLE).orEmpty(),
                    release = extras?.getString(EXTRA_RELEASE).orEmpty().take(4),
                    overview = extras?.getString(EXTRA_OVERVIEW).orEmpty(),
                    image = "$IMAGE_URL$posterPath",
                    onBackButtonClick = { finish() }
                )
            }
        }
    }
}plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.compose.compiler)
    alias(libs.plugins.jetbrains.kotlin.android)
    id("kotlinx-serialization")
    id("com.google.devtools.ksp")
}

android {


kryo.io.Input
import com.esotericsoftware.kryo.io.Output
import com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer
import org.kodein.db.Options
import org.kodein.db.TypeTable
import org.kodein.db.model.orm.DefaultSerializer
import org.kodein.memory.io.*
import org.kodein.memory.use
import org.objenesis.strategy.StdInstantiatorStrategy
import kotlin.reflect.KClass

@Suppress("unused", "MemberVisibilityCanBePrivate")
public class KryoSerializer @JvmOverloads public constructor(public val kryo: Kryo = createKryo()) : DefaultSerializer {

    override fun serialize(model: Any, output: Writeable, vararg options: Options.Puts) {
        Output(output.asOutputStream()).use {
            kryo.writeObject(it, model)
        }
    }

    override fun deserialize(type: KClass<out Any>, input: CursorReadable, vararg options: Options.Get): Any {
        Input(input.asInputStream()).use {
            return kryo.readObject(it, type.java)
        }
    }

    public companion object {
        public fun createKryo(
                typeTable: TypeTable? = null,
                allowStructureUpdate: Boolean = true,
                allowDeserializationWithoutConstructor: Boolean = true
        ): Kryo = Kryo().apply {
            val registered = typeTable?.getRegisteredClasses()
            if (registered != null && registered.isNotEmpty()) {
                registered.forEach { register(it.java) }
            } else {
                isRegistrationRequired = false
            }

            if (allowStructureUpdate) {
                setDefaultSerializer(CompatibleFieldSerializer::class.java)
            }

            if (allowDeserializationWithoutConstructor) {
                instantiatorStrategy = Kryo.DefaultInstantiatorStrategy(StdInstantiatorStrategy())
            }
        }
    }
}
package org.kodein.db.leveldb.test

import org.kodein.db.leveldb.LevelDB
import org.kodein.db.leveldb.LevelDBFactory
import org.kodein.db.leveldb.default
import org.kodein.db.leveldb.inDir
import org.kodein.db.leveldb.inmemory.inMemory
import org.kodein.db.test.utils.assertBytesEquals
import org.kodein.db.test.utils.array
import org.kodein.memory.file.FileSystem
import org.kodein.memory.use
import kotlin.test.Test
import kotlin.test.assertNull

@Suppress("ClassName")
abstract class LDBTests_02_Batch : LevelDBTests() {

    class LDB : LDBTests_02_Batch() { override val factory: LevelDBFactory = LevelDB.default.inDir(FileSystem.tempDirectory.path) }
    class IM : LDBTests_02_Batch() { override val factory: LevelDBFactory = LevelDB.inMemory }

    @Test
    fun test_00_PutGet() {
        ldb!!.newWriteBatch().use { batch ->
            batch.put(native(1), native("one"))
            batch.put(native(2), native("two"))

            assertNull(ldb!!.get(native(1)))
            assertNull(ldb!!.get(native(2)))

            ldb!!.write(batch)
        }

        val value1 = ldb!!.get(native(1))!!
        val value2 = ldb!!.get(native(2))!!
        assertBytesEquals(array("one"), value1)
        assertBytesEquals(array("two"), value2)
        value1.close()
        value2.close()
    }

    @Test
    fun test_01_DirectPutGet() {
        ldb!!.newWriteBatch().use { batch ->
            batch.put(native(1), native("one"))
            batch.put(native(2), native("two"))
            batc


so!\nAccess Token:\n" + data.access);
                    // Armazena o token no localStorage ou sessionStorage, se quiser
                    // localStorage.setItem("accessToken", data.access);
                    localStorage.setItem("accessToken", data.access);
                } else {
                    console.error("Erro ao registrar:", data);
                    alert("Erro ao registrar: " + (data.detail || JSON.stringify(data)));
                }

            } catch (error) {
                console.error("Erro na requisição:", error);
                alert("Erro inesperado: " + error.message);
            }
        });

        async function accessProtected() {
            const token = localStorage.getItem("accessToken");
            if (!token) {
                document.getElementById("result").innerText = "Você precisa logar antes!";
                return;
            }

            console.log("Testando")
            console.log(token)

            const response = await fetch("http://localhost:8000/api/", {
                method: "GET",
                headers: {
                    "Authorization": "Bearer " + token
                }
            });

            const data = await response.json();
            document.getElementById("result").innerText = JSON.stringify(data, null, 2);
        }
    </script>

<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Algorithm Evaluation Results</title>

Algorithm Evaluation Results

                Algorithm
                Encryption Time (s)
                Encryption Memory (MiB)
                Decryption Time (s)
                Decryption Memory (MiB)
                Ciphertext Size (bytes)

            {% for result in results %}

                {{ result.algorithm }}
                {{ result.enc_time }}
                {{ result.enc_mem }}
                {{ result.dec_time }}
                {{ result.dec_mem }}
                {{ result.ciphertext_size }}

            {% endfor %}

<!doctype html>

    <meta charset="utf-8">
    <title>{% block title %}SecureFlow{% endblock %}</title>


 Postgres: EXP(x) Mssql: EXP(x)
             */
            "exp" -> all
            /**
             *  返回一组值中的最大值
             *  return the largest value
             *  exp: greatest(1, 2, 3) => 3
             *  Mysql: GREATEST(x1, x2, ...) Oracle: GREATEST(x1, x2, ...) Postgres: GREATEST(x1, x2, ...)
             */
            "greatest" -> common
            /**
             *  返回一组值中的最小值
             *  return the smallest value
             *  exp: least(1, 2, 3) => 1
             *  Mysql: LEAST(x1, x2, ...) Oracle: LEAST(x1, x2, ...) Postgres: LEAST(x1, x2, ...)
             */
            "least" -> common
            /**
             *  返回一个数的自然对数
             *  return the natural logarithm of a number
             *  exp: ln(2) => 0.6931471805599453
             *  Mysql: LN(x) SQLite: LN(x) Oracle: LN(x) Postgres: LN(x) Mssql: LOG(x, EXP(1))
             */
            "ln" -> all
            /**
             *  返回一个数的对数
             *  return the logarithm of a number
             *  exp: log(2, 10) => 0.3010299956639812
             *  Mysql: LOG(x, base) SQLite: LOG(x, base) Oracle: LOG(base, x) Postgres: LOG(base, x) Mssql: LOG(base, x)
             */
            "log" -> all
            /**
             *  返回两个数相除的余数
             *  return the remainder of a division operation
             *  exp: mod(5, 2) => 1
             *  Mysql: x % y SQLite: x % y Oracle: MOD(x, y) Postgres: x % y Mssql: x % y
             */
            "mod" -> all
            /**
             *  返回圆周率
             *  return the value of pi
             *  exp: pi() => 3.141592653589793
             *  Mysql: PI() SQLite: PI() Oracle: PI() Postgres: PI() Mssql: PI()
             */
            "pi" -> all
            /**
             *  返回一个随机数
             *  return a random number
             *  exp: rand() => 0.123456789
             *  Mysql: RAND() SQLite: RANDOM() Oracle: DBMS_RANDOM.VALUE Postgres: RANDOM() Mssql: RAND()
             */
            "rand" -> all
            /**
             *  返回一个数四舍五入的值
             *  return the value of a number rounded to the nearest integer
             *  exp: round(12.3) => 12
             *  Mysql: ROUND(x) SQLite: ROUND(x) Oracle: ROUND(x) Postgres: ROUND(x) Mssql: ROUND(x)
             */
            "round" -> all
            /**
             *  返回一个数的符号
             *  return the sign of a number
             *  exp: sign(-12) => -1
             *  Mysql: SIGN(x) SQLite: SIGN(x) Oracle: SIGN(x) Postgres: SIGN(x) Mssql: SIGN(x)
             */
            "sign" -> all
            /**
             *  返回一个数的平方根
             *  return the square root of a number
             *  exp: sqrt(9) => 3
             *  Mysql: SQRT(x) SQLite: SQRT(x) Oracle: SQRT(x) Postgres: SQRT(x) Mssql: SQRT(x)
             */
            "sqrt" -> all
            /**
             *  返回一个数截断到指定的小数位数
             *  return a number truncated to a certain number of decimal places
             *  exp: truncate(12.345, 1) => 12.3
             *  Mysql: TRUNCATE(x, d) SQLite: TRUNC(x, d) Oracle: TRUNC(x, d) Postgres: TRUNC(x, d) Mssq


ls.column.name" value="JasperImage"/>
      <property name="net.sf.jasperreports.export.xls.column.width.metadata" value="200"/>
    </element>
  </element>
  ...
</title>

...

<detail>
  <band height="13">
  ...
    <element kind="textField" x="1" width="35" height="11" hTextAlign="Right" style="OrderIdStyle">
      <expression><![CDATA[$F{OrderID}]] ></expression>
      ...
      <property name="net.sf.jasperreports.export.xls.column.name" value="Order"/>
      <property name="net.sf.jasperreports.export.xls.column.width.metadata" value="50"/>
      ...
    </element>
    <element kind="textField" positionType="Float" x="40" width="110" height="11" textAdjust="StretchHeight">
      <expression><![CDATA[$F{ShipName} + ", " + $F{ShipCity}]] ></expression>
      ...
      <property name="net.sf.jasperreports.export.xls.column.name" value="ShipCity"/>
      ...
      <propertyExpression name="net.sf.jasperreports.export.xls.data"><![CDATA[$F{ShipCity}]] ></propertyExpression>
      ...
    </element>
    <element kind="textField" x="155" width="25" height="11" blankWhenNull="true">
      <expression><![CDATA[$F{ShipRegion}]] ></expression>
      ...
      <property name="net.sf.jasperreports.export.xls.column.name" value="ShipRegion"/>
      <property name="net.sf.jasperreports.export.xls.column.width.metadata" value="60"/>
      ...
    </element>
    <element kind="textField" x="185" width="50" height="11" pattern="dd/MM/yyyy">
      <expression><![CDATA[$F{OrderDate}]] ></expression>
      ...
      <property name="net.sf.jasperreports.export.xls.column.name" value="OrderDate"/>
      <property name="net.sf.jasperreports.export.xls.column.width.metadata" value="100"/>
      <property name="net.sf.jasperreports.export.xls.pattern" value="dd\/MM\/yyyy"/>
      ...
    </element>
    <element kind="textField" x="235" width="35" height="11" hTextAlign="Right" pattern="0.00">
      <expression><![CDATA[$F{Freight}]] ></expression>
      ...
      <property name="net.sf.jasperreports.export.xls.column.name" value="Freight"/>
      <property name="net.sf.jasperreports.export.xls.column.width.metadata" value="60"/>
      ...
    </element>    ...
  </band>
</detail>
```

After running the

```
>mvn clean compile exec:exec@all
```

command the data-centric document exported with the XLSX metadata exporter will be available in the `demo/samples/jasper/build/reports` directory in 2 forms:

- `FirstJasper.singleSheet.metadata.xlsx` - as single sheet document, and
- `FirstJasper.multiSheet.metadata.xlsx` - as multisheet Excel document. Notice the differences in text formatting between these files and the `FirstJasper.metadata.csv` CSV document.

top

---

## Exporting to XLS Format Using Report Metadata

Documented by Sanda Zaharia

**Description / Goal**\
Shows how to export the report to XLS format using metadata associated with report elements at design time, to mark data columns.

**Since:** 4.0.0

### The Excel 2003 Metadata Exporter

This metadata exporter can be used to export data in an older Microsoft Excel format (Excel 2003, or `".xls"`). It is strongly recommended to use the XLSX metadata exporter instead. The XLSX metadata


 = '?|Шаман стаи Речной Лапы|',
  [1068] = '?|Горн|',
  [1069] = '?|Багровый дракончик|',
  [1070] = 'A|Заместитель судьи Фелдон|To the side of the road, next to a big flag pole.',
  [1071] = 'A|Длиннокос Мрачный|Standing next to a barrel cart to the left of the road.',
  [1073] = '?|Ашлан Камнехмыл|',
  [1074] = 'A|Мотли Гармасон|Standing next to a barrel cart to the left of the road.',
  [1075] = 'A|Раг Гармасон|Standing next to a barrel cart to the left of the road.',
  [1076] = 'A|Меррин Камнепряд|In the cave up the hill.',
  [1077] = 'A|Геолог Вельгар|In the cave up the hill.',
  [1078] = 'A|Ормер Сталеплет|He paces out in front of the cave up the hill.',
  [1081] = '?|Хозяин болота|',
  [1082] = '?|Острозубый кроколиск|',
  [1083] = '?|Мурлок-гарпунер|',
  [1084] = '?|Молодой острозубый кроколиск|',
  [1085] = '?|Старый тигр Тернистой долины|',
  [1087] = '?|Острозубый крепкохват|',
  [1088] = '?|Чудовищный краб|',
  [1089] = 'A|Горный пехотинец Кремневик|Standing to the side of the road on a small hill.',
  [1090] = '?|Горный пехотинец Стенолом|',
  [1091] = '?|Горный пехотинец Булыжный Карьер|',
  [1092] = 'A|Капитан Ругельфасс|All the way at the top of the big round building.',
  [1093] = 'A|Главный инженер Плотиннер VII|Under 2 white canopies, next to a long table on the dam.  Get to him by entering the dam from the west, not the east.',
  [1095] = '?|Начальник работ Торговой Компании|',
  [1096] = '?|Геолог Торговой Компании|',
  [1105] = 'A|Джерн Шлеморог|Downstairs in the house, next to some barrels by the fireplace.  He can also be standing in front of the house.',
  [1109] = '?|Шкуродер|',
  [1110] = '?|Скелет-налетчик|',
  [1111] = '?|Ловец-кровопийца|',
  [1112] = '?|Кровавая Вдова|',
  [1115] = '?|Головолом Каменной Челюсти|',
  [11


using CommunityToolkit.Mvvm.ComponentModel;

namespace VoiceCraft.Maui.Models
{
    public partial class SettingsModel : ObservableObject
    {
        [ObservableProperty]
        int inputDevice = 0;
        [ObservableProperty]
        int outputDevice = 0;
        [ObservableProperty]
        int clientPort = 8080;
        [ObservableProperty]
        int jitterBufferSize = 80;
        [ObservableProperty]
        float softLimiterGain = 5.0f;
        [ObservableProperty]
        float microphoneDetectionPercentage = 0.04f;
        [


edef unsigned int uint32;
# ifdef __GNUC__  /* long long is not part of ISO C++ */
__extension__
# endif
typedef long long int64;
typedef unsigned long long uint64;

#define Mask_2	0x07E0	// 00000 111111 00000
#define Mask13	0xF81F	// 11111 000000 11111
#define Mask_1	0x001F	// 00000 000000 11111
#define Mask_3	0xF800	// 11111 000000 00000
#define CONVERT_16_TO_32(pixel) \
        (((((pixel) >> 11)        ) << /*RedShift+3*/  19) | \
         ((((pixel) >> 6)   & 0x1f) << /*GreenShift+3*/11) | \
          (((pixel)         & 0x1f) << /*BlueShift+3*/ 3))

#define Interp01(c1, c2) \
	((((c1) == (c2)) ? (c1) : \
	(((((((c1) & Mask_2) *  3) + ((c2) & Mask_2)) >> 2) & Mask_2) + \
	 ((((((c1) & Mask13) *  3) + ((c2) & Mask13)) >> 2) & Mask13))))

#ifdef LSB_FIRST
	#define TWO_PIX(left,right) ((left) | ((right) << 16))
	#define THREE_PIX(left,middle,right) uint48((left) | ((middle) << 16), (right))
	#define TWO_PIX_32(left,right) (CONVERT_16_TO_32(left) | ((uint64)CONVERT_16_TO_32(right) << 32))
	#define THREE_PIX_32(left,middle,right) uint96(CONVERT_16_TO_32(left) | ((uint64)CONVERT_16_TO_32(middle) << 32), CONVERT_16_TO_32(right))
#else
	#define TWO_PIX(left,right) ((right) | ((left) << 16))
	#define THREE_PIX(left,middle,right) uint48((middle) | ((left) << 16), (right)) // is this right?
//	#define THREE_PIX(left,middle,right) uint48((right) | ((middle) << 16), (left)) // or this?
#endif

// shared EPX-type loop macros
// All of these parameters will be constant values,
// so I hope the compiler is smart enough to optimize away "if(0) ..."

#define DrawRows(scale,diags)            \
	{                                    \
		h = srcHeight - 1;               \
		DoRow(0,1,scale,diags);          \
		for (h = srcHeight - 2; h; h--)  \
			DoRow(1,1,scale,diags);      \
		DoRow(1,0,scale,diags);          \
	}

#define DoRow(topValid,botValid,scale,diags)              \
	{                                                     \
		w = srcWidth - 1;                                 \
		InitLine(topValid,botValid,scale,diags);          \
		DrawPix(0,topValid,0,botValid);                   \
		for (w = srcWidth - 2; w; w--)                    \
		{                                                 \
			NextPixel(topValid,botValid,1,diags);         \
			DrawPix(topValid,topValid,botValid,botValid); \
		}                                                 \
		NextPixel(topValid,botValid,0,diags);             \
		DrawPix(topValid,0,botValid,0);                   \
		srcPtr += srcPitch;                               \
		dstPtr += dstPitch * scale;                       \
	}

#define InitLine(topValid, botValid, scale, diags)                \
	{                                                             \
		if


on(200));
		else if(hBox)
		{
			String tooltip = "\u00a7e[left-click]\u00a7r to select file";
			gui.setTooltip(tooltip);
		}

		// background
		RenderSystem.setShaderColor(bgColor[0], bgColor[1], bgColor[2],
			opacity);
		BufferBuilder bufferBuilder = tessellator
			.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION);
		bufferBuilder.vertex(matrix, x1, y1, 0);
		bufferBuilder.vertex(matrix, x1, y2, 0);
		bufferBuilder.vertex(matrix, x3, y2, 0);
		bufferBuilder.vertex(matrix, x3, y1, 0);
		BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());

		// box
		RenderSystem.setShaderColor(bgColor[0], bgColor[1], bgColor[2],
			hBox ? opacity * 1.5F : opacity);
		bufferBuilder = tessellator.begin(VertexFormat.DrawMode.QUADS,
			VertexFormats.POSITION);
		bufferBuilder.vertex(matrix, x3, y1, 0);
		bufferBuilder.vertex(matrix, x3, y2, 0);
		bufferBuilder.vertex(matrix, x2, y2, 0);
		bufferBuilder.vertex(matrix, x2, y1, 0);
		BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());
		RenderSystem.setShaderColor(acColor[0], acColor[1], acColor[2], 0.5F);
		bufferBuilder = tessellator.begin(
			VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION);
		bufferBuilder.vertex(matrix, x3, y1, 0);
		bufferBuilder.vertex(matrix, x3, y2, 0);
		bufferBuilder.vertex(matrix, x2, y2, 0);
		bufferBuilder.vertex(matrix, x2, y1, 0);
		bufferBuilder.vertex(matrix, x3, y1, 0);
		BufferRenderer.drawWithGlobalProgram(bufferBuilder.end());

		// setting name
		RenderSystem.setShaderColor(1, 1, 1, 1);
		String text = setting.getName() + ": ";
		context.drawText(tr, text, x1, y1 + 2, txtColor, false);
		context.drawText(tr, setting.getSelectedFileName(), x3 + 2, y1 + 2,
			txtColor, false);
		GL11.glEnable(GL11.GL_BLEND);
	}

	@Override
	public int getDefaultWidth()
	{
		TextRenderer fr = WurstClient.MC.textRenderer;

		String text = setting.getName() + ": ";
		int buttonWidth = fr.getWidth(setting.getSelectedFileName());

		return fr.getWidth(text) + buttonWidth + 6;
	}

	@Override
	public int getDefaultHeight()
	{
		return 11;
	}
}
/*
 * Copyright (c) 2014-2024 Wurst-Imperium and contributors.
 *
 * This source code is subject to the terms of the GNU General Public
 * License, version 3. If a copy of the GPL was not distributed with this
 * file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
 */
package net.wurstclient.clickgui.components;

import org.joml.Matrix4f;
import org.lwjgl.opengl.GL11;

import com.mojang.blaze3d.systems.RenderSystem;

import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.render.BufferBuilder;
import net.minecraft.client.render.BufferRenderer;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.render.Tessellator;
import net.minecraft.client.render.VertexFormat;
import net.minecraft.client.render.VertexFormats;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient


from transformers import AutoModelForCausalLM, AutoTokenizer
import time
import json
model_name_or_path='Qwen2-1.5B-Instruct'
device_map = "auto"
small_tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
small_model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True,device_map=device_map)
small_model.eval()

from chunk_rag import extract_by_html2text_db_chongdie
filename = 'chunk_others/corpus_ppl_qwen15B_die_0.json'
save_list=[]
start_time = time.time()
with open('data/corpus/corpus.txt', 'r', encoding='utf-8') as file:

    content = file.read()
sentences_lists=content.split('\n')
# print(len(sentences_lists))
# text=sentences_lists[0]
for text in sentences_lists:
    final_chunks=extract_by_html2text_db_chongdie(text,small_model,small_tokenizer,0,'en')
    save_list=save_list+final_chunks

with open(filename, 'w') as file:
    json.dump(save_list, file)
end_time = time.time()

execution_time = end_time - start_time
print(f"程序执行时间为: {execution_time} 秒")

# CUDA_VISIBLE_DEVICES=1 nohup python multihop_die_batch.py >> chunk_others/corpus_ppl_qwen15B_die_0.log 2>&1 &