typename'}}
  // expected-error@-1 {{cannot combine with previous 'class' declaration specifier}}
}

// PR8380
extern ""      // expected-error {{unknown linkage language}}
test6a { ;// expected-error {{C++ requires a type specifier for all declarations}}
#if __cplusplus <= 199711L
// expected-error@-2 {{expected ';' after top level declarator}}
#else
// expected-error@-4 {{expected expression}}
// expected-note@-5 {{to match this}}
#endif

  int test6b;
#if __cplusplus >= 201103L
// expected-error@+3 {{expected}}
// expected-error@-3 {{expected ';' after top level declarator}}
#endif

// RUN: %clang_cc1 -verify -std=c++11 -fms-extensions %s

8gi///===--- recovery.cpp ---===// // expected-error {{unqualified-id}}
namespace Std { // expected-note {{here}}
  typedef int Important;
}

/ redeclare as an inline namespace // expected-error {{unqualified-id}}
inline namespace Std { // expected-error {{cannot be reopened as inline}}
  Important n;
} / end namespace Std // expected-error {{unqualified-id}}
int x;
Std::Important y;

extenr "C" { // expected-error {{did you mean 'extern'}}
  void f();
}
void g() {
  z = 1; // expected-error {{undeclared}}
  f();
}

struct S {
  int a, b, c;
  S();
  int x // expected-error {{expected ';'}}
  friend void f()
};
8S::S() : a{ 5 }, b{ 6 }, c{ 2 } { // expected-error {{unqualified-id}}
  return;
}
int k;
int l = k // expected-error {{expected ';'}}
constexpr int foo();

5int m = { l }, n = m; // expected-error {{unqualified-id}}

namespace MissingBrace {
  struct S { // expected-error {{missing '}' at end of definition of 'MissingBrace::S'}}
    int f();
  // };

  namespace N { int g(); } // expected-note {{still within definition of 'MissingBrace::S' here}}

  int k1 = S().h(); // expected-error {{no member named 'h' in 'MissingBrace::S'}}
  int k2 = S().f() + N::g();

  template<typename T> struct PR17949 { // expected-error {{missing '}' at end of definition of 'MissingBrace::PR17949'}}

  namespace X { // expected-note {{still within definition of 'MissingBrace::PR17949' here}}
  }
}

namespace N {
  int
} // expected-error {{unqualified-id}}

strcut Uuuu { // expected-error {{did you mean 'struct'}} \
              // expected-note {{'Uuuu' declared here}}
} *u[3];
uuuu v; // expected-error {{did you mean 'Uuuu'}}

struct Redefined { // expected-note {{previous}}
  Redefined() {}
};
struct Redefined { // expected-error {{redefinition}}
  Redefined() {}
};

struct MissingSemi5;
namespace N {
  typedef int afterMissingSemi4;
  extern MissingSemi5 afterMissingSemi5;
}

struct MissingSemi1 {} // expected-error {{expected ';' after struct}}
static int afterMissingSemi1();

class MissingSemi2 {} // expected-error {{expected ';' after class}}
MissingSemi1 *afterMissingSemi2;

enum MissingSemi3 {} // expected-error {{expected ';' after enum}}
::MissingSemi1 afterMissingSemi3;

extern N::afterMissingSemi4 afterMissingSemi4b;
union MissingSemi4 { MissingSemi4(int); } // expected-error {{expected ';' after union}}
N::afterMissingSemi4 (afterMissingSemi4b);

int afterMissingSemi5b;
struct MissingSemi5 { MissingSemi5(int); } // ok, no missing ';' here
N::


per is called. This
// file has at least one this before a super call (in ES5) and cannot be
// automatically upgraded to ES6 as a result. Please fix this if you have a
// chance. Note: This can sometimes be caused by not calling the super
// constructor at all. You can run the conversion tool yourself to see what it
// does on this file: blaze run //javascript/refactoring/es6_classes:convert.

goog.provide('goog.dom.TextRangeIterator');

goog.require('goog.array');
goog.require('goog.dom');
goog.require('goog.dom.NodeType');
goog.require('goog.dom.RangeIterator');
goog.require('goog.dom.TagName');
goog.require('goog.iter.StopIteration');

/**
 * Subclass of goog.dom.TagIterator that iterates over a DOM range.  It
 * adds functions to determine the portion of each text node that is selected.
 *
 * @param {Node} startNode The starting node position.
 * @param {number} startOffset The offset in to startNode.  If startNode is
 *     an element, indicates an offset in to childNodes.  If startNode is a
 *     text node, indicates an offset in to nodeValue.
 * @param {Node} endNode The ending node position.
 * @param {number} endOffset The offset in to endNode.  If endNode is
 *     an element, indicates an offset in to childNodes.  If endNode is a
 *     text node, indicates an offset in to nodeValue.
 * @param {boolean=} opt_reverse Whether to traverse nodes in reverse.
 * @constructor
 * @extends {goog.dom.RangeIterator}
 * @final
 */
goog.dom.TextRangeIterator = function(
    startNode, startOffset, endNode, endOffset, opt_reverse) {
  /**
   * The first node in the selection.
   * @private {?Node}
   */
  this.startNode_ = null;

  /**
   * The last node in the selection.
   * @private {?Node}
   */
  this.endNode_ = null;

  /**
   * The offset within the first node in the selection.
   * @private {number}
   */
  this.startOffset_ = 0;

  /**
   * The offset within the last node in the selection.
   * @private {number}
   */
  this.endOffset_ = 0;

  /**
   * Whether the node iterator is moving in reverse.
   * @private {boolean}
   */
  this.isReversed_ = !!opt_reverse;

  var goNext;

  if (startNode) {
    this.startNode_ = startNode;
    this.startOffset_ = startOffset;
    this.endNode_ = endNode;
    this.endOffset_ = endOffset;

    // Skip to the offset nodes - being careful to special case BRs since these
    // have no children but still can appear as the startContainer of a range.
    if (startNode.nodeType == goog.dom.NodeType.ELEMENT &&
        /** @type {!Element} */ (startNode).tagName != goog.dom.TagName.BR) {
      var startChildren = startNode.childNodes;
      var candidate = startChildren[startOffset];
      if (candidate) {
        this.startNode_ = candidate;
        this.startOffset_ = 0;
      } else {
        if (startChildren.length) {
          this.startNode_ =
              /** @type {Node} */ (goog.array.peek(startChildren));
        }
        goNext = true;
      }
    }

    if (endNode.nodeType == goog.dom.NodeType.ELEMENT) {
      this.endNode_ = endNode.childNodes[endOffset];
      if (this.endNode_) {
        this.endOffset_ = 0;
      } else {
        // The offset was past the last element.
        this.endNode_ = endNode;
      }
    }
  }

  goog.dom.TextRangeIterator.base(
      this


d === \"undefined\") {\n      throw new _client_mjs__WEBPACK_IMPORTED_MODULE_0__.AppwriteException('Missing required parameter: \"subscriberId\"');\n    }\n    const apiPath = \"/messaging/topics/{topicId}/subscribers/{subscriberId}\".replace(\"{topicId}\", topicId).replace(\"{subscriberId}\", subscriberId);\n    const payload = {};\n    const uri = new URL(this.client.config.endpoint + apiPath);\n    const apiHeaders = {\n      \"content-type\": \"application/json\"\n    };\n    return await this.client.call(\n      \"delete\",\n      uri,\n      apiHeaders,\n      payload\n    );\n  }\n};\n\n\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=messaging.mjs.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9ub2RlLWFwcHdyaXRlL2Rpc3Qvc2VydmljZXMvbWVzc2FnaW5nLm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFrRDs7QUFFbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFVBQVU7QUFDdkIsYUFBYSxRQUFRO0FBQ3JCLGNBQWM7QUFDZCxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsUUFBUTtBQUNyQixhQUFhLFFBQVE7QUFDckIsYUFBYSxRQUFRO0FBQ3JCLGFBQWEsVUFBVTtBQUN2QixhQUFhLFVBQVU7QUFDdkIsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsVUFBVTtBQUN2QixhQUFhLFVBQVU7QUFDdkIsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCLGNBQWM7QUFDZCxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDBEQUFpQjtBQUNqQztBQUNBO0FBQ0EsZ0JBQWdCLDBEQUFpQjtBQUNqQztBQUNBO0FBQ0EsZ0JBQWdCLDBEQUFpQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFFBQVE7QUFDekIsaUJBQWlCLFVBQVU7QUFDM0IsaUJBQWlCLFVBQVU7QUFDM0IsaUJBQWlCLFVBQVU7QUFDM0IsaUJBQWlCLFFBQVE7QUFDekIsaUJBQWlCLFFBQVE7QUFDekIsaUJBQWlCLFNBQVM7QUFDMUIsaUJBQWlCLFNBQVM7QUFDMUIsaUJBQWlCLFVBQVU7QUFDM0IsaUJBQWlCLFVBQVU7QUFDM0IsaUJBQWlCLFFBQVE7QUFDekIsaUJBQWlCLFVBQV


/*
 * Copyright (C) 1998, 1999, Jonathan S. Shapiro.
 * Copyright (C) 2005, 2007, Strawberry Development Group
 *
 * This file is part of the CapROS Operating System,
 * and is derived from the EROS Operating System.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2,
 * or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */
/* This material is based upon work supported by the US Defense Advanced
Research Projects Agency under Contract No. W31P4Q-07-C-0070.
Approved for public release, distribution unlimited. */

#include <eros/target.h>
#include <eros/Invoke.h>
#include <domain/domdbg.h>
#include <domain/ConstructorKey.h>
#include <idl/capros/SpaceBank.h>
#include <idl/capros/Process.h>
#include <idl/capros/GPT.h>
#include <idl/capros/SysTrace.h>

#define KR_ZSF      1
#define KR_SELF     2
#define KR_SCHED    3
#define KR_BANK     4
#define KR_OSTREAM  5
#define KR_SYSTRACE 6
#define KR_MYSEG    7
#define KR_VOIDSEG  8
#define KR_SCRATCH  9

#define PPM         256		/* pages per megabyte */
#define MBYTES      128
#define TEST_ADDR   0x08000000

/* MUST use zero stack pages so that seg root doesn't get
   smashed by bootstrap code. */
const uint32_t __rt_stack_pages = 0;
const uint32_t __rt_stack_pointer = 0x10000;

void
setup()
{
  uint32_t result;

  capros_SpaceBank_alloc1(KR_BANK, capros_Range_otGPT, KR_MYSEG);
  capros_GPT_setL2v(KR_MYSEG, 27);

  capros_Process_getAddrSpace(KR_SELF, KR_SCRATCH);

  capros_GPT_setSlot(KR_MYSEG, 0x0, KR_SCRATCH);

  result = constructor_request(KR_ZSF, KR_BANK, KR_SCHED, KR_VOID,
			 KR_VOIDSEG);

  capros_GPT_setSlot(KR_MYSEG, 0x1, KR_VOIDSEG);

  capros_Process_swapAddrSpace(KR_SELF, KR_MYSEG, KR_VOID);
}

void
main()
{
  int i;
  uint32_t *addr = (uint32_t *) TEST_ADDR;
  uint32_t pat_counter = 0;
  uint64_t sum = 0;

  eros_SysTrace_info st;

  setup();

  kprintf(KR_OSTREAM, "Grow the segment\n");

  for (i = 0; i < MBYTES; i++) {
    int pg;
    eros_SysTrace_clearKernelStats(KR_SYSTRACE);
    eros_SysTrace_startCounter(KR_SYSTRACE, eros_SysTrace_mode_cycles);
    for (pg = 0; pg < PPM; pg++) {
      int w;
      /* sum += *addr; */
      for (w = 0; w < (EROS_PAGE_SIZE/sizeof(uint32_t)); w++)
	*addr++ = pat_counter++;
    }
    eros_SysTrace_stopCounter(KR_SYSTRACE);

    kprintf(KR_OSTREAM, "Allocated %d mbytes\n", i+1);
  }

  kprintf(KR_OSTREAM, "Fully allocated; doing sum pass now\n");

  addr = (uint32_t *) TEST_ADDR;
  for (i = 0; i < MBYTES; i++) {
    int pg;
    for (pg = 0; pg < PPM; pg++) {
      int w;
      for (w = 0; w < (EROS_PAGE_SIZE/sizeof(uint32_t)); w++)
	sum = *addr++;
    }
  }

  eros_SysTrace_reportCounter(KR_SYSTRACE, &st);
  eros_SysTrace_stopCounter(KR_SYSTRACE);

  kprintf(KR_OSTREAM, "Done -- %d MB in %U cycles sum %U\n",
	  MBYTES, st.cycles, sum);

  kprintf(KR_OSTREAM, "Starting stress tests...\n");

  for(;;) {
    addr = (uint32_t *) TEST_ADDR;
    pat_counter = 0;
    for (i = 0; i < MBYTES; i++) {
      int pg;
      eros_SysTrace_startCounter(KR_SYSTRACE, eros_SysTrace_mode_cycles);
      for (pg = 0; pg < PPM; pg++) {
	int w;
	/* sum += *addr; */
	for (w = 0; w < (EROS_PAGE_SIZE/sizeof(uint32_t)); w++)
	  *addr++ = pat_counter++;
      }
      eros_SysTrace_stopCounter(KR_SYSTRACE);
      kprintf(KR_OSTREAM, "Touched %d mbytes\n", i+1);
    }
  }
}


.aff",
    "es_SV.zip",                 "es_SV.dic",           "es_SV.aff",
    "es_UY.zip",                 "es_UY.dic",           "es_UY.aff",
    "es_VE.zip",                 "es_VE.dic",           "es_VE.aff",
    "et_EE.zip",                 "et_EE.dic",           "et_EE.aff",
    "fo_FO.zip",                 "fo_FO.dic",           "fo_FO.aff",
    "fr_FR-1990_1-3-2.zip",      "fr_FR-1990.dic",      "fr_FR-1990.aff",
    "fr_FR-classique_1-3-2.zip", "fr_FR-classique.dic", "fr_FR-classique.aff",
    "fr_FR_1-3-2.zip",           "fr_FR.dic",           "fr_FR.aff",
    "fy_NL.zip",                 "fy_NL.dic",           "fy_NL.aff",
    "ga_IE.zip",                 "ga_IE.dic",           "ga_IE.aff",
    "gd_GB.zip",                 "gd_GB.dic",           "gd_GB.aff",
    "gl_ES.zip",                 "gl_ES.dic",           "gl_ES.aff",
    "gsc_FR.zip",                "gsc_FR.dic",          "gsc_FR.aff",
    "gu_IN.zip",                 "gu_IN.dic",           "gu_IN.aff",
    "he_IL.zip",                 "he_IL.dic",           "he_IL.aff",
    "hi_IN.zip",                 "hi_IN.dic",           "hi_IN.aff",
    "hil_PH.zip",                "hil_PH.dic",          "hil_PH.aff",
    "hr_HR.zip",                 "hr_HR.dic",           "hr_HR.aff",
    "hu_HU.zip",                 "hu_HU.dic",           "hu_HU.aff",
    "hu_HU_comb.zip",            "hu_HU.dic",           "hu_HU.aff",
    "ia.zip",                    "ia.dic",              "ia.aff",
    "id_ID.zip",                 "id_ID.dic",           "id_ID.aff",
    "it_IT.zip",                 "it_IT.dic",           "it_IT.aff",
    "ku_TR.zip",                 "ku_TR.dic",           "ku_TR.aff",
    "la.zip",                    "la.dic",              "la.aff",
    "lt_LT.zip",                 "lt_LT.dic",           "lt_LT.aff",
    "lv_LV.zip",                 "lv_LV.dic",           "lv_LV.aff",
    "mg_MG.zip",                 "mg_MG.dic",           "mg_MG.aff",
    "mi_NZ.zip",                 "mi_NZ.dic",           "mi_NZ.aff",
    "mk_MK.zip",                 "mk_MK.dic",           "mk_MK.aff",
    "mos_BF.zip",                "mos_BF.dic",          "mos_BF.aff",
    "mr_IN.zip",                 "mr_IN.dic",           "mr_IN.aff",
    "ms_MY.zip",                 "ms_MY.dic",           "ms_MY.aff",
    "nb_NO.zip",                 "nb_NO.dic",           "nb_NO.aff",
    "ne_NP.zip",                 "ne_NP.dic",           "ne_NP.aff",
    "nl_NL.zip",                 "nl_NL.dic",           "nl_NL.aff",
    "nl_med.zip",                "nl_med.dic",          "nl_med.aff",
    "nn_NO.zip",                 "nn_NO.dic",           "nn_NO.aff",
    "nr_ZA.zip",


          }
            }
        }
        else {  /* 1 is a leaf node, 2 is inner node */
            tracker->push_less_of(2, node2);
            traverse_checking(self, results, node1, node2->less, tracker);
            tracker->pop();

            tracker->push_greater_of(2, node2);
            traverse_checking(self, results, node1, node2->greater, tracker);
            tracker->pop();
        }
    }
    else {  /* 1 is an inner node */
        if (node2->split_dim == -1) { /* 1 is an inner node, 2 is a leaf node */
            tracker->push_less_of(1, node1);
            traverse_checking(self, results, node1->less, node2, tracker);
            tracker->pop();

            tracker->push_greater_of(1, node1);
            traverse_checking(self, results, node1->greater, node2, tracker);
            tracker->pop();
        }
        else { /* 1 and 2 are inner nodes */
            tracker->push_less_of(1, node1);
            tracker->push_less_of(2, node2);
            traverse_checking(self, results, node1->less, node2->less, tracker);
            tracker->pop();

            tracker->push_greater_of(2, node2);
            traverse_checking(self, results, node1->less, node2->greater,
                tracker);
            tracker->pop();
            tracker->pop();

            tracker->push_greater_of(1, node1);
            if (node1 != node2) {
                /*
                 * Avoid traversing (node1->less, node2->greater) and
                 * (node1->greater, node2->less) (it's the same node pair
                 * twice over, which is the source of the complication in
                 * the original KDTree.query_pairs)
                 */
                tracker->push_less_of(2, node2);
                traverse_checking(self, results, node1->greater, node2->less,
                    tracker);
                tracker->pop();
            }
            tracker->push_greater_of(2, node2);
            traverse_checking(self, results, node1->greater, node2->greater,
                tracker);
            tracker->pop();
            tracker->pop();
        }
    }
}

#include <iostream>

int
query_pairs(const ckdtree *self,
            const double r, const double p, const double eps,
            std::vector<ordered_pair> *results)
{

#define HANDLE(cond, kls) \
    if(cond) { \
        RectRectDistanceTracker<kls> tracker(self, r1, r2, p, eps, r);\
        traverse_checking(self, results, self->ctree, self->ctree, \
            &tracker); \
    } else

    Rectangle r1(self->m, self->raw_mins, self->raw_maxes);
    Rectangle r2(self->m, self->raw_mins, self->raw_maxes);

    if(CKDTREE_LIKELY(self->raw_boxsize_data == NULL)) {
        HANDLE(CKDTREE_LIKELY(p == 2), MinkowskiDistP2)
        HANDLE(p == 1, MinkowskiDistP1)
        HANDLE(ckdtree_isinf(p), MinkowskiDistPinf)
        HANDLE(1, MinkowskiDistPp)
        {}
    } else {
        HANDLE(CKDTREE_LIKELY(p == 2), BoxMinkowskiDistP2)
        HANDLE(p == 1, BoxMinkowskiDistP1)
        HANDLE(ckdtree_isinf(p), BoxMinkowskiDistPinf)
        HANDLE(1, BoxMinkowskiDistPp)
        {}
    }

    return 0;
}

#include "AssetProcess.h"

#include "util.h"

nstool::AssetProcess::AssetProcess() :
	mModuleName("n


-B,
-- 	CTRL-F, "G", "H", "M", "L", gg, and to the commands "d", "<<" and ">>"
-- 	with a linewise operator, with "%" with a count and to buffer changing
-- 	commands (CTRL-^, :bnext, :bNext, etc.).  Also for an Ex command that
-- 	only has a line number, e.g., ":25" or ":+".
-- 	In case of buffer changing commands the cursor is placed at the column
-- 	where it was the last time the buffer was edited.
vim.go.startofline = false
vim.go.sol = vim.go.startofline
-- `'suffixes'`  `'su'` 		string	(default ".bak,~,.o,.h,.info,.swp,.obj")
-- 			global
-- 	Files with these suffixes get a lower priority when multiple files
-- 	match a wildcard.  See |suffixes|.  Commas can be used to separate the
-- 	suffixes.  Spaces after the comma are ignored.  A dot is also seen as
-- 	the start of a suffix.  To avoid a dot or comma being recognized as a
-- 	separator, precede it with a backslash (see |option-backslash| about
-- 	including spaces and backslashes).
-- 	See `'wildignore'`  for completely ignoring files.
-- 	The use of |:set+=| and |:set-=| is preferred when adding or removing
-- 	suffixes from the list.  This avoids problems when a future version
-- 	uses another default.
vim.go.suffixes = ".bak,~,.o,.h,.info,.swp,.obj"
vim.go.su = vim.go.suffixes
-- `'switchbuf'`  `'swb'` 	string	(default "uselast")
-- 			global
-- 	This option controls the behavior when switching between buffers.
-- 	Mostly for |quickfix| commands some values are also used for other
-- 	commands, as mentioned below.
-- 	Possible values (comma-separated list):
-- 	   useopen	If included, jump to the first open window that
-- 			contains the specified buffer (if there is one).
-- 			Otherwise: Do not examine other windows.
-- 			This setting is checked with |quickfix| commands, when
-- 			jumping to errors (":cc", ":cn", "cp", etc.).  It is
-- 			also used in all buffer related split commands, for
-- 			example ":sbuffer", ":sbnext", or ":sbrewind".
-- 	   usetab	Like "useopen", but also consider windows in other tab
-- 			pages.
-- 	   split	If included, split the current window before loading
-- 			a buffer for a |quickfix| command that display errors.
-- 			Otherwise: do not split, use current window (when used
-- 			in the quickfix window: the previously used window or
-- 			split if there is no other window).
-- 	   vsplit	Just like "split" but split vertically.
-- 	   newtab	Like "split", but open a new tab page.  Overrules
-- 			"split" when both are present.
-- 	   uselast	If included, jump to the previously used window when
-- 			jumping to errors with |quickfix| commands.
vim.go.switchbuf = "uselast"
vim.go.swb = vim.go.switchbuf
-- `'tabline'`  `'tal'` 		string	(default empty)
-- 			global
-- 	When non-empty, this option determines the content of the tab pages
-- 	line at the top of the Vim window.  When empty Vim will use a default
-- 	tab pages line.  See |setting-tabline| for more info.
--
-- 	The tab pages line only appears as specified with the `'showtabline'`
-- 	option and only when there is no GUI tab line


/*
    This file is part of the HeavenMS MapleStory Server, commands OdinMS-based
    Copyleft (L) 2016 - 2019 RonanLana

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation version 3 as published by
    the Free Software Foundation. You may not use, modify or distribute
    this program under any other version of the GNU Affero General Public
    License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GN


   	halt
   62218:	08 00 00 00 	cvtps $0x0,$0x0,$0x0,-(r2)
   6221c:	72
   6221d:	00          	halt
   6221e:	00          	halt
   6221f:	00          	halt
   62220:	6e 00 00    	cvtld $0x0,$0x0 [d-float]
   62223:	00          	halt
   62224:	2c 00 00 00 	movc5 $0x0,$0x0,$0x0,$0x0,$0x0
   62228:	00 00
   6222a:	00          	halt
   6222b:	00          	halt
   6222c:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   6222f:	00          	halt
   62230:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   62233:	00          	halt
   62234:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   62237:	00          	halt
   62238:	04          	ret
   62239:	00          	halt
   6223a:	00          	halt
   6223b:	00          	halt
   6223c:	72 00 00    	mnegd $0x0 [d-float],$0x0 [d-float]
   6223f:	00          	halt
   62240:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   62243:	00          	halt
   62244:	1c 00       	bvc 62246 <op+0x33ea>
   62246:	00          	halt
   62247:	00          	halt
   62248:	10 00       	bsbb 6224a <op+0x33ee>
   6224a:	00          	halt
   6224b:	00          	halt
   6224c:	6e 00 00    	cvtld $0x0,$0x0 [d-float]
   6224f:	00          	halt
   62250:	72 00 00    	mnegd $0x0 [d-float],$0x0 [d-float]
   62253:	00          	halt
   62254:	1c 00       	bvc 62256 <op+0x33fa>
   62256:	00          	halt
   62257:	00          	halt
   62258:	fc          	xfc
   62259:	ff ff       	.word 0xffff
   6225b:	ff 72       	.word 0xff72
   6225d:	00          	halt
   6225e:	00          	halt
   6225f:	00          	halt
   62260:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   62263:	00          	halt
   62264:	1c 00       	bvc 62266 <op+0x340a>
   62266:	00          	halt
   62267:	00          	halt
   62268:	f8 ff ff ff 	ashp *78226d <_end+0x712845>,$0x0,$0x0,-(r1),$0x0,$0x0
   6226c:	71 00 00 00
   62270:	71 00 00
   62273:	00          	halt
   62274:	71 00 00    	cmpd $0x0 [d-float],$0x0 [d-float]
   62277:	00          	halt
   62278:	08 00 00 00 	cvtps $0x0,$0x0,$0x0,-(r2)
   6227c:	72


(null, OnValueChanged));
    public TextToBrushWrapper SecondaryTextToBrushWrapper
    {
        get { return (TextToBrushWrapper)GetValue(SecondaryTextToBrushWrapperProperty); }
        set { SetValue(SecondaryTextToBrushWrapperProperty, value); }
    }

    public static readonly DependencyProperty TertiaryTextToBrushWrapperProperty =
        DependencyProperty.Register(nameof(TertiaryTextToBrushWrapper), typeof(TextToBrushWrapper), typeof(TextGlitchEffect3), new PropertyMetadata(null, OnValueChanged));
    public TextToBrushWrapper TertiaryTextToBrushWrapper
    {
        get { return (TextToBrushWrapper)GetValue(TertiaryTextToBrushWrapperProperty); }
        set { SetValue(TertiaryTextToBrushWrapperProperty, value); }
    }

    public static readonly DependencyProperty BlendEffectProperty =
        DependencyProperty.Register(nameof(BlendEffect), typeof(BlendEffectMode), typeof(TextGlitchEffect3), new PropertyMetadata(BlendEff


 code is set for all tree elements of non
  ///     zero code length.
  static void _genCodes(Uint16List tree, int maxCode, Uint16List blCount) {
    final nextCode = Uint16List(maxBits + 1);
    var code = 0; // running code value
    int bits; // bit index
    int n; // code index

    // The distribution counts are first used to generate the code values
    // without bit reversal.
    for (bits = 1; bits <= maxBits; bits++) {
      nextCode[bits] = code = (code + blCount[bits - 1]) << 1;
    }

    for (n = 0; n <= maxCode; n++) {
      final len = tree[n * 2 + 1];
      if (len == 0) {
        continue;
      }

      // Now reverse the bits
      tree[n * 2] = _reverseBits(nextCode[len]++, len);
    }
  }

  /// Reverse the first len bits of a code, using straightforward code (a faster
  /// method would use a table)
  /// IN assertion: 1 <= len <= 15
  static int _reverseBits(int code, int len) {
    var res = 0;
    do {
      res |= code & 1;
      code = _rshift(code, 1);
      res <<= 1;
    } while (--len > 0);
    return _rshift(res, 1);
  }

  /// Mapping from a distance to a distance code. dist is the distance - 1 and
  /// must not have side effects. _dist_code[256] and _dist_code[257] are never
  /// used.
  static int _dCode(int dist) =>
      dist < 256 ? _distCode[dist] : _distCode[256 + (_rshift(dist, 7))];
}

class _StaticTree {
  // max bit length for the codes

  _StaticTree(this.staticTree, this.extraBits, this.extraBase, this.numElements,
      this.maxLength);
  static const maxBits = 15;

  static const blCodes = 19;
  static const dCodes = 30;
  static const literals = 256;
  static const lengthCodes = 29;
  static const lCodes = literals + 1 + lengthCodes;

  // Bit length codes must not exceed MAX_BL_BITS bits
  static const maxBLBits = 7;

  static const List<int> staticLTree = [
    12,
    8,
    140,
    8,
    76,
    8,
    204,
    8,
    44,
    8,
    172,
    8,
    108,
    8,
    236,
    8,
    28,
    8,
    156,
    8,
    92,
    8,
    220,
    8,
    60,
    8,
    188,
    8,
    124,
    8,
    252,
    8,
    2,
    8,
    130,
    8,
    66,
    8,
    194,
    8,
    34,
    8,
    162,
    8,
    98,
    8,
    226,
    8,
    18,
    8,
    146,
    8,
    82,
    8,
    210,
    8,
    50,
    8,
    17


is.top()?e.top<=o.top?(h.debug("Fixed element reached top of container"),h.setInitialPosition()):o.height+e.top-l>=r.bottom?(h.debug("Fixed element reached bottom of container"),h.bindBottom()):c&&(h.set.scroll(l),h.save.lastScroll(e.top),h.save.elementScroll(l)):h.is.bottom()&&(e.bottom-o.height<=o.top?(h.debug("Bottom fixed rail has reached top of container"),h.setInitialPosition()):e.bottom>=r.bottom?(h.debug("Bottom fixed rail has reached bottom of container"),h.bindBottom()):c&&(h.set.scroll(l),h.save.lastScroll(e.top),h.save.elementScroll(l))):h.is.bottom()&&(e.top<=o.top?(h.debug("Jumped from bottom fixed to top fixed, most likely used home/end button"),h.setInitialPosition()):v.pushing?h.is.bound()&&e.bottom<=r.bottom&&(h.debug("Fixing bottom attached element to bottom of browser."),h.fixBottom()):h.is.bound()&&e.top<=r.bottom-o.height&&(h.debug("Fixing bottom attached element to top of browser."),h.fixTop())))},bindTop:function(){h.debug("Binding element to top of parent container"),h.remove.offset(),k.css({left:"",top:"",marginBottom:""}).removeClass(b.fixed).removeClass(b.bottom).addClass(b.bound).addClass(b.top),v.onTop.call(P),v.onUnstick.call(P)},bindBottom:function(){h.debug("Binding element to bottom of parent container"),h.remove.offset(),k.css({left:"",top:""}).removeClass(b.fixed).removeClass(b.top).addClass(b.bound).addClass(b.bottom),v.onBottom.call(P),v.onUnstick.call(P)},setInitialPosition:function(){h.debug("Returning to initial position"),h.unfix(),h.unbind()},fixTop:function(){h.debug("Fixing element to top of page"),h.set.minimumSize(),h.set.offset(),k.css({left:h.cache.element.left,bottom:"",marginBottom:""}).removeClass(b.bound).removeClass(b.bottom).addClass(b.fixed).addClass(b.top),v.onStick.call(P)},fixBottom:function(){h.debug("Sticking element to bottom of page"),h.set.minimumSize(),h.set.offset(),k.css({left:h.cache.element.left,bottom:"",marginBottom:""}).removeClass(b.bound).removeClass(b.top).addClass(b.fixed).addClass(b.bottom),v.onStick.call(P)},unbind:function(){h.is.bound()&&(h.debug("Removing container bound position on element"),h.remove.offset(),k.removeClass(b.bound).removeClass(b.top).removeClass(b.bottom))},unfix:function(){h.is.fixed()&&(h.debug("Removing fixed position on element"),h.remove.offset(),k.removeClass(b.fixed).removeClass(b.top).removeClass(b.bottom),v.onUnstick.call(P))},reset:function(){h.debug("Resetting elements position"),h.unbind(),h.unfix(),h.resetCSS(),h.remove.offset(),h.remove.lastScroll()},resetCSS:function(){k.css({width:"",height:""}),r.css({height:""})},setting:function(t,n){if(e.isPlainObject(t))e.extend(!0,v,t);else{if(n===i)return v[t];v[t]=n}},internal:function(t,n){if(e.isPlainObject(t))e.extend(!0,h,t);else{if(n===i)return h[t];h[t]=n}},debug:function(){!


import 'package:path/path.dart' as path;

import 'base_code_gen.dart';
import 'constants.dart';
import 'logical_key_data.dart';
import 'physical_key_data.dart';
import 'utils.dart';

const List<String> kModifiersOfInterest = <String>[
  'ShiftLeft',
  'ShiftRight',
  'ControlLeft',
  'ControlRight',
  'AltLeft',
  'AltRight',
  'MetaLeft',
  'MetaRight',
];

// The name of keys that require special attention.
const List<String> kSpecialPhysicalKeys = <String>['CapsLock'];
const List<String> kSpecialLogicalKeys = <String>['CapsLock'];

/// Generates the key mapping for macOS, based on the information in the key
/// data structure given to it.
class MacOSCodeGenerator extends PlatformCodeGenerator {
  MacOSCodeGenerator(super.keyData, super.logicalData, this._layoutGoals);

  /// This generates the map of macOS key codes to physical keys.
  String get _scanCodeMap {
    final OutputLines<int> lines = OutputLines<int>('macOS scancode map');
    for (final PhysicalKeyEntry entry in keyData.entries) {
      if (entry.macOSScanCode != null) {
        lines.add(entry.macOSScanCode!, '  @${toHex(entry.macOSScanCode)} : @${toHex(entry.usbHidCode)},  // ${entry.constantName}');
      }
    }
    return lines.sortedJoin().trimRight();
  }

  String get _keyCodeToLogicalMap {
    final OutputLines<int> lines = OutputLines<int>('macOS keycode map');
    for (final LogicalKeyEntry entry in logicalData.entries) {
      zipStrict(entry.macOSKeyCodeValues, entry.macOSKeyCodeNames, (int macOSValue, String macOSName) {
        lines.add(macOSValue,
            '  @${toHex(macOSValue)} : @${toHex(entry.value, digits: 11)},  // $macOSName -> ${entry.constantName}');
      });
    }
    return lines.sortedJoin().trimRight();
  }

  /// This generates the mask values for the part of a key code that defines its plane.
  String get _maskConstants {
    final StringBuffer buffer = StringBuffer();
    const List<MaskConstant> maskConstants = <MaskConstant>[
      kValueMask,
      kUnicodePlane,
      kMacosPlane,
    ];
    for (final MaskConstant constant in maskConstants) {
      buffer.writeln('const uint64_t k${constant.upperCamelName} = ${toHex(constant.value, digits: 11)};');
    }
    return buffer.toString().trimRight();
  }

  /// This generates a map from the key code to a modifier flag.
  String get _keyToModifierFlagMap {
    final StringBuffer modifierKeyMap = StringBuffer();
    for (final String name in kModifiersOfInterest) {
      modifierKeyMap.writeln('  @${toHex(logicalData.entryByName(name).macOSKeyCodeValues[0])} : @(kModifierFlag${lowerCamelToUpperCamel(name)}),');
    }
    return modifierKeyMap.toString().trimRight();
  }

  /// This generates a map from the modifier flag to the key code.
  String get _modifierFlagToKeyMap {
    final StringBuffer modifierKeyMap = StringBuffer();
    for (final String name in kModifiersOfInterest) {
      modifierKeyMap.writeln('  @(kModifierFlag${lowerCamelToUpperCamel(name)}) : @${toHex(logicalData.entryByName(name).macOSKeyCodeValues[0])},');
    }
    return modifierKeyMap.toString().trimRight();
  }

  /// This generates some keys that needs special attention.
  String get _specialKeyConst


l,175,70,0,4,6},
[30315] = {'Draenethyst Mine Crystal',{21238},{184689},nil,nil,nil,nil,nil,1,0,0,12,0},
[30316] = {'Devastation',{21269},nil,nil,nil,nil,100352,nil,175,70,0,2,1},
[30317] = {'Cosmic Infuser',{21270},nil,nil,nil,nil,100352,nil,175,70,0,2,4},
[30318] = {'Netherstrand Longbow',{21268},nil,nil,nil,nil,100480,nil,175,70,2,2,2},
[30319] = {'Nether Spike',nil,nil,nil,nil,nil,65536,nil,175,70,0,6,2},
[30320] = {'Bundle of Nether Spikes',nil,nil,nil,nil,nil,65540,nil,175,70,0,15,0},
[30321] = {'Plans: Belt of the Guardian',{20031,20032,20033,20035,20036,20037,20039,20040,20041,20042,20043,20044,20045,20047,20048,20049,20050,20052,21218,21220,21221,21225,21226,21227,21228,21229,21230,21231,21232,21246,21251,21263,21298,21299,21301,21339,21863},nil,nil,nil,nil,64,nil,75,0,0,9,4},
[30322] = {'Plans: Red Belt of Battle',{4096,20031,20032,20033,20035,20036,20040,20041,20042,20043,20044,20047,20048,20049,20052,21218,21220,21221,21224,21225,21227,21228,21229,21230,21231,21232,21246,21251,21263,21298,21301,21339,21863},nil,nil,nil,nil,64,nil,75,0,0,9,4},
[30323] = {'Plans: Boots of the Protector',{20031,20032,20033,20039,20040,20041,20043,20044,20047,20049,20050,20052},nil,nil,nil,nil,64,nil,75,0,0,9,4},
[30324] = {'Plans: Red Havoc Boots',{20031,20035,20036,20039,20041,20043,20044,20048,20052},nil,nil,nil,nil,64,nil,75,0,0,9,4},
[30326] = {'Bonechewer Blood Samples',nil,nil,nil,nil,nil,nil,nil,1,0,0,12,0},
[30327] = {'Bonechewer Blood',{16875,16876,16925,18952,19701},nil,nil,nil,nil,nil,nil,1,0,0,12,0},
[30328] = {'Protectorate Assassin\'s Tunic',nil,nil,nil,nil,{10353},nil,nil,114,0,0,4,2},
[30329] = {'Flesh Handler\'s Headpiece',nil,nil,nil,nil,{10353},nil,nil,114,0,0,4,3},
[30330] = {'Starcaller\'s Plated Belt',nil,nil,nil,nil,{10353},nil,nil,114,0,0,4,4},
[30331] = {'Diviner\'s Cinch',nil,nil,nil,nil,{10425},nil,nil,114,0,0,4,1},
[30332] = {'Ferocious Bands',nil,nil,nil,nil,{10425},nil,nil,114,0,0,4,2},
[30333] = {'Spaulders of the Protectorate',nil,nil,nil,nil,{10425},nil,nil,114,0,0,4,3},


',	'',	'2',	'',	'希瓦',	'Siva',	'[{"id":3012001,"pos":2,"enter":2}]',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'2000414',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	''},
{'2000414',	'',	'不过说起前哨基地的异常，你们有没有听说过，生活区域半夜会出现鬼影的事情？',	'',	'',	'',	'',	'',	'',	'',	'',	'3012001',	'',	'',	'2',	'',	'希瓦',	'Siva',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'2000415',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	''},
{'2000415',	'',	'唔？',	'',	'',	'',	'',	'',	'',	'',	'',	'3042001',	'',	'',	'2',	'',	'绯猁',	'Lynx',	'[{"id":3042001,"pos":2,"enter":2}]',	'',	'5',	'',	'',	'',	'',	'',	'',	'',	'',	'2000416',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	''},
{'2000416',	'',	'那是一名负责标本室夜间值班的研究员告诉我的故事。',	'',	'',	'Bg_9065.jpg',	'',	'',	'0.5,0.25',	'1',	'',	'3012001',	'',	'',	'2',	'',	'希瓦',	'Siva',	'[{"id":3042001,"pos":2,"out":2}]',	'',	'',	'',	'',	'',	'',	'',	'',	'Plot_Suspense',	'',	'2000417',	'',	'',	'',	'1',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	''},
{'2000417',	'',	'要是去过位于生活区域的标本室，你们应该都知道，夜间的那里绝对不是什么有趣的地方。',	'',	'',	'',	'',	'',	'',	'',	'',	'3012001',	'',	'',	'2',	'',	'希瓦',	'Siva',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'2000418',	'',	'',	'',	'1',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',	'',


                            *
 * GNARL was developed by the GNARL team at Florida State University.       *
 * Extensive contributions were provided by Ada Core Technologies, Inc.     *
 * The  executive  was developed  by the  Real-Time  Systems  Group  at the *
 * Technical University of Madrid.                                          *
 *                                                                          *
 ****************************************************************************/

/* This file is a SPARC specific implementation */

/*
   Interrupt enabling/disabling primitives.

   These routines are responsible for changing the value of the PIL field
   in the PSR for enabling and disabling interrupts (asynchronous traps).

   The reason why the PIL is changed within a trap is to guarantee atomic
   changes to the PSR. In a context switch, the content of the PSR may vary
   just after the context switch (the EF bit is reset to disable the FP
   unit and hence implement the lazy FP context switch). If we try to change
   the PIL by simply reading the current PSR, changing the PIL, and writing
   back the PSR, a context switch may arrive between reading and writing
   the PSR, and hence an incorrect PSR may be written (unexpected value in
   the EF bit).

   We use trap 8 to avoid traps 0x1n and 0x5n that cause unexpected clearing
   of interrupts on AT697F (see Atmel AT697F errata sheet 41003B-AERO-4).
 */

#include "sparc.h"

	.text
	.align 4

/* procedure disable_interrupts */

	.global disable_interrupts
	.type   disable_interrupts,@function
disable_interrupts:
	mov	0xF, %o0			! set maximum PIL
	ta	8				! call the trap handler in
						! charge of changing PIL
	retl					! return from leaf subroutine
	 nop

	.size disable_interrupts, . - disable_interrupts

/* procedure enable_interrupts (interrupt_level).
   The first and only argument (passed through o0) determines the interrupt
   level above which interrupts will be acknowledged. */

	.global enable_interrupts
	.type   enable_interrupts,@function
enable_interrupts:
	ta	8				! call the trap handler in
						! charge of changing PIL
	retl					! return from leaf subroutine
	 nop

	.size enable_interrupts, . - enable_interrupts


FieldWorker )

function AIVehicleExtension:AIFieldWorkerOnUpdate( superFunc, dt, ... )
	self.aiveUpdate1Called = false
	self.aiveUpdate2Called = false
	superFunc( self, dt, ... )
	if self:getIsFieldWorkActive() and self.isServer and self.aiveIsStarted then
		local spec = self.spec_aiFieldWorker
		if not self.aiveUpdate1Called then
			self:updateAIFieldWorkerLowFrequency(spec.aiUpdateLowFrequencyDt)
			spec.aiUpdateLowFrequencyDt = 0
		end
		if not self.aiveUpdate2Called then
			self:updateAIFieldWorker(spec.aiUpdateDt)
			spec.aiUpdateDt = 0
		end
	end
end
AIFieldWorker.onUpdate = Utils.overwrittenFunction( AIFieldWorker.onUpdate, AIVehicleExtension.AIFieldWorkerOnUpdate )

function AIVehicleExtension:onUpdate( dt, isActiveForInput, isActiveForInputIgnoreSelection, isSelected )

	if self.aiveIsStarted and not ( self:getIsFieldWorkActive() ) then
		self.aiveIsStarted = false
	end

	if      self.acParameters ~= nil
			and self.acParameters.enabled
			and ( self.aiveIsStarted or self:getCanStartAIVehicle() ) then
		AIVehicleExtension.checkState( self, false, true )
	end

	if self.aiveToolsDirty then
		AIVehicleExtension.invalidateState( self )
		self.aiveToolsDirty = nil
	end

	if atDump and self:getIsActiveForInput(false) then
		AIVehicleExtension.acDump2(self)
	end

	if self.isServer then
-- in MP on server only

		if      AIVEGlobals.otherAIColli > 0
				and self.aiveIsStarted
				and self.acParameters ~= nil
				and self.acParameters.collision
				and not self.acParameters.upNDown then
			AIVehicleExtension.enableCollisionTriggers( self )
		else
			AIVehicleExtension.disableCollisionTriggers( self )
		end

		if      ( self.aiveIsStarted or self.aiveAutoSteer )
				and self.acDimensions              ~= nil
				and self.acDimensions.acRefNodeZ   ~= nil
				and self.acDimensions.wheelBase    ~= nil
				and self.acDimensions.wheelParents ~= nil then

			if AutoSteeringEngine.hasArticulatedAxis( self, true ) then
				local node = getParent( self.acRefNode )
				local dx = 0
				local dz = 0
				local dn = 0
				for n,i in pairs( self.acDimensions.wheelParents ) do
					local x,_,z	=AutoSteeringEngine.getRelativeTranslation( node, n )
					dx = dx + x
					dz = dz + z
					dn = dn + i
				end
				dx = dx / dn
				dz = dz / dn
				local _,angle,_ = getRotation( self.spec_articulatedAxis.rotationNode )
				self.acDimensions.artAxisR = angle
				angle = 0.5 * angle
				self.acDimensions.artAxisX = dx
				self.acDimensions.artAxisZ = dz
				self.acDimensions.refNodeAngle = angle
			else
				self.acDimensions.artAxisX = 0
				self.acDimensions.artAxisZ = 0
				self.acDimensions.refNodeAngle = 0
			end

			if self.acParameters.inverted then
				self.acDimensions.refNodeAngle = self.acDimensions.refNodeAngle + math.pi
			end
			local _,y,_ = getRotation( self.acRefNode )
			if math.abs( y - self.acDimensions.refNodeAngle ) > 0.01 then
				setRotation( self.acRefNode, 0, self.acDimensions.refNodeAngle, 0 )
			end

			if self.acDimensions.refNodeTranslation == nil then
				self.acDimensions.refNodeTranslation = { 0, 0,


n += encodeURIComponent(e.substring(r, o));\n              r = -1;\n            }\n            if (undefined !== n) {\n              n += e.charAt(o);\n            }\n          } else {\n            if (undefined === n) {\n              n = e.substr(0, o);\n            }\n            var s = _[i];\n            if (undefined !== s) {\n              if (-1 !== r) {\n                n += encodeURIComponent(e.substring(r, o));\n                r = -1;\n              }\n              n += s;\n            } else {\n              if (-1 === r) {\n                r = o;\n              }\n            }\n          }\n        }\n        if (-1 !== r) {\n          n += encodeURIComponent(e.substring(r));\n        }\n        return undefined !== n ? n : e;\n      }\n      function v(e) {\n        for (t = undefined, n = 0, undefined; n < e.length; n++) {\n          var t;\n          var n;\n          var r = e.charCodeAt(n);\n          if (35 === r || 63 === r) {\n            if (undefined === t) {\n              t = e.substr(0, n);\n            }\n            t += _[r];\n          } else {\n            if (undefined !== t) {\n              t += e[n];\n            }\n          }\n        }\n        return undefined !== t ? t : e;\n      }\n      function b(e, t) {\n        var n;\n        n =\n          e.authority && e.path.length > 1 && \"file\" === e.scheme\n            ? \"//\" + e.authority + e.path\n            : 47 === e.path.charCodeAt(0) &&\n              ((e.path.charCodeAt(1) >= 65 && e.path.charCodeAt(1) <= 90) ||\n                (e.path.charCodeAt(1) >= 97 && e.path.charCodeAt(1) <= 122)) &&\n              58 === e.path.charCodeAt(2)\n            ? t\n              ? e.path.substr(1)\n              : e.path[1].toLowerCase() + e.path.substr(2)\n            : e.path;\n        if (r) {\n          n = n.replace(/\\//g, \"\\\\\");\n        }\n        return n;\n      }\n      function w(e, t) {\n        var n = t ? v : y;\n        var r = \"\";\n        var o = e.scheme;\n        var i = e.authority;\n        var s = e.path;\n        var a = e.query;\n        var c = e.fragment;\n        if (o) {\n          r += o;\n          r += \":\";\n        }\n        if (i || \"file\" === o) {\n          r += p;\n          r += p;\n        }\n        if (i) {\n          var l = i.indexOf(\"@\");\n          if (-1 !== l) {\n            var u = i.substr(0, l);\n            (i = i.substr(l + 1)),\n              -1 === (l = u.indexOf(\":\"))\n                ? (r += n(u, !1))\n                : ((r += n(u.substr(0, l), !1)),\n                  (r += \":\"),\n                  (r += n(u.substr(l + 1), !1))),\n              (r += \"@\");\n          }\n          -1 === (l = (i = i.toLowerCase()).indexOf(\":\"))\n            ? (r += n(i, !1))\n            : ((r += n(i.substr(0, l), !1)), (r += i.substr(l)));\n        }\n        if (s) {\n          if (\n            s.length >= 3 &&\n            47 === s.charCodeAt(0) &&\n            58 === s.charCodeAt(2)\n          ) {\n            if ((d = s.


":"fragments of lava less than 2 millimeters across."}],"markDefs":[],"style":"normal"}],"displayName":"volcanic-ash","partOfSpeech":"noun","phonetic":"(vohl-KAN-ihk ASH)","word":"volcanic ash"},{"_createdAt":"2022-05-09T10:40:46Z","_id":"f3af0e55-3f6b-4c2c-bb58-dd38bc3239dd","_rev":"coLQB43m6xeYDxgzOpN1Rh","_type":"ngs.rl.vocabularyItem","_updatedAt":"2022-05-13T06:29:53Z","definition":[{"_key":"727bd0278663","_type":"block","children":[{"_key":"727bd02786630","_type":"span","marks":[],"text":"gas such as water vapor or carbon dioxide that is released into the atmosphere by a volcano."}],"markDefs":[],"style":"normal"}],"displayName":"volcanic-gas","partOfSpeech":"noun","phonetic":"(vawl-KAN-ihk GAS)","word":"volcanic gas"},{"_createdAt":"2022-05-09T10:40:46Z","_id":"efae901f-4142-4d58-bbff-84184c94d4bd","_rev":"L1x6OoCeBFQajmzry3zu1R","_type":"ngs.rl.vocabularyItem","_updatedAt":"2022-05-23T14:51:33Z","definition":[{"_key":"c77192cbfd14","_type":"block","children":[{"_key":"c77192cbfd140","_type":"span","marks":[],"text":"an opening in the Earth's crust, through which lava, ash, and gases erupt, and also the cone built by eruptions."}],"markDefs":[],"style":"normal"}],"displayName":"volcano","partOfSpeech":"noun","phonetic":"vawl-KAY-noh","word":"volcano"},{"_createdAt":"2022-05-09T10:40:46Z","_id":"423bfc6f-b864-4d51-b56f-18dba32d8a99","_rev":"coLQB43m6xeYDxgzOpN1Rh","_type":"ngs.rl.vocabularyItem","_updatedAt":"2022-05-13T06:29:53Z","definition":[{"_key":"c2beb9d5253d","_type":"block","children":[{"_key":"c2beb9d5253d0","_type":"span","marks":[],"text":"introduction of harmful materials into a body of water."}],"markDefs":[],"style":"normal"}],"displayName":"water pollution","partOfSpeech":"noun","phonetic":"(WAH-tur puh-LOO-shun)","word":"water pollution"},{"_createdAt":"2022-05-09T10:40:46Z","_id":"d02659d5-2ac5-4d8f-9758-8cdb34f76788","_rev":"coLQB43m6xeYDxgzOpN1Rh","_type":"ngs.rl.vocabularyItem","_updatedAt":"2022-05-13T06:29:53Z","definition":[{"_key":"3b7d540df444","_type":"block","children":[{"_key":"3b7d540df4440","_type":"span","marks":[],"text":"body of water that serves as a route for transportation."}],"markDefs":[],"style":"normal"}],"displayName":"waterway","partOfSpeech":"noun","phonetic":"(WAH-tur-way)","word":"waterway"},{"_createdAt":"2022-05-09T10:40:46Z","_id":"8d000ddf-bcb7-42b8-8178-719a6747dad7","_rev":"coLQB43m6xeYDxgzOpN1Rh","_type":"ngs.rl.vocabularyItem","_updatedAt":"2022-05-13T06:29:53Z","definition":[{"_key":"7f6ef09532c8","_type":"block","children":[{"_key":"7f6ef09532c80","_type":"span","marks":[],"text":"area of land covered by shallow water or saturated by water."}],"markDefs":[],"style":"normal"}],"displayName":"wetland","partOfSpeech":"noun","phonetic":"(WEHT-lund)","word


 code is governed by a BSD-style
// license that can be found in the LICENSE file.

package types

import (
	"fmt"
	"internal/goversion"
	"internal/lazyregexp"
	"log"
	"strconv"

	"cmd/compile/internal/base"
)

// A lang is a language version broken into major and minor numbers.
type lang struct {
	major, minor int
}

// langWant is the desired language version set by the -lang flag.
// If the -lang flag is not set, this is the zero value, meaning that
// any language version is supported.
var langWant lang

// AllowsGoVersion reports whether local package is allowed
// to use Go version major.minor.
func AllowsGoVersion(major, minor int) bool {
	if langWant.major == 0 && langWant.minor == 0 {
		return true
	}
	return langWant.major > major || (langWant.major == major && langWant.minor >= minor)
}

// ParseLangFlag verifies that the -lang flag holds a valid value, and
// exits if not. It initializes data used by AllowsGoVersion.
func ParseLangFlag() {
	if base.Flag.Lang == "" {
		return
	}

	var err error
	langWant, err = parseLang(base.Flag.Lang)
	if err != nil {
		log.Fatalf("invalid value %q for -lang: %v", base.Flag.Lang, err)
	}

	if def := currentLang(); base.Flag.Lang != def {
		defVers, err := parseLang(def)
		if err != nil {
			log.Fatalf("internal error parsing default lang %q: %v", def, err)
		}
		if langWant.major > defVers.major || (langWant.major == defVers.major && langWant.minor > defVers.minor) {
			log.Fatalf("invalid value %q for -lang: max known version is %q", base.Flag.Lang, def)
		}
	}
}

// parseLang parses a -lang option into a langVer.
func parseLang(s string) (lang, error) {
	if s == "go1" { // cmd/go's new spelling of "go1.0" (#65528)
		s = "go1.0"
	}

	matches := goVersionRE.FindStringSubmatch(s)
	if matches == nil {
		return lang{}, fmt.Errorf(`should be something like "go1.12"`)
	}
	major, err := strconv.Atoi(matches[1])
	if err != nil {
		return lang{}, err
	}
	minor, err := strconv.Atoi(matches[2])
	if err != nil {
		return lang{}, err
	}
	return lang{major: major, minor: minor}, nil
}

// currentLang returns the current language version.
func currentLang() string {
	return fmt.Sprintf("go1.%d", goversion.Version)
}

// goVersionRE is a regular expression that matches the valid
// arguments to the -lang flag.
var goVersionRE = lazyregexp.New(`^go([1-9]\d*)\.(0|[1-9]\d*)$`)
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package s390x

import (
	"math"

	"cmd/compile/internal/base"
	"cmd/compile/internal/ir"
	"cmd/compile/internal/logopt"
	"cmd/compile/internal/ssa"
	"c


87 25 14v-1h-3v-.219c.023-.008.04.008.063 0 .402-.156.87-.43 1.312-.812C24.254 11.207 25 9.887 25 8V7h-3V4zm2 2h8v3h2.813c-.172.672-.418 1.184-.75 1.469-.243.21-.508.355-.72.437-.21.082-.425.094-.343.094h-1v4h2.813c-.172.672-.418 1.184-.75 1.469-.243.21-.508.355-.72.437-.21.082-.425.094-.343.094h-1v4h2.813c-.172.672-.418 1.184-.75 1.469-.243.21-.508.355-.72.437-.21.082-.425.094-.343.094h-1v3h-8v-3h-1c.082 0-.133-.012-.344-.094a2.515 2.515 0 01-.719-.437c-.332-.285-.578-.797-.75-1.469H12v-4h-1c.082 0-.133-.012-.344-.094a2.515 2.515 0 01-.719-.437c-.332-.285-.578-.797-.75-1.469H12v-4h-1c.082 0-.133-.012-.344-.094a2.515 2.515 0 01-.719-.437c-.332-.285-.578-.797-.75-1.469H12zm4 2a1.999 1.999 0 100 4 1.999 1.999 0 100-4zm0 6a1.999 1.999 0 100 4 1.999 1.999 0 100-4zm0 6a1.999 1.999 0 100 4 1.999 1.999 0 100-4z"/></svg>';
  static const String train =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path fill="currentColor" d="M14 3c-1.258 0-2.152.89-2.594 2H10c-2.75 0-5 2.25-5 5v11a6.012 6.012 0 003.531 5.469L6 29h2.344l2.031-2.031c.2.02.418.031.625.031h10c.207 0 .426-.012.625-.031L23.656 29H26l-2.531-2.531A6.012 6.012 0 0027 21V10c0-2.75-2.25-5-5-5h-1.406C20.152 3.89 19.258 3 18 3zm0 2h4c.566 0 1 .434 1 1v1h3c1.32 0 2.438.828 2.844 2H7.156A2.992 2.992 0 0110 7h3V6c0-.566.434-1 1-1zm-7 6h18v5H7zm0 7h18v3c0 2.219-1.781 4-4 4H11c-2.219 0-4-1.781-4-4zm9 1a1.999 1.999 0 100 4 1.999 1.999 0 100-4z"/></svg>';
  static const String tram =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path fill="currentColor" d="M10.75 2 8.562 3.094l.876 1.812L11.25 4h9.5l1.813.906.875-1.812L21.25 2zM15 5v1h-3c-3.3 0-6 2.7-6 6v12c0 1.645 1.355 3 3 3l-2 2h2.344l2-2h9.312l2 2H25l-2-2c1


me="biw" type="hidden"><input name="bih" type="hidden">
<input class="lst" style="margin:0;padding:5px 8px 0 6px;vertical-align:top;color:#000" autocomplete="off" value="" title="Google Search" maxlength="2048" name="q" size="57">

<input class="lsb" value="Google Search" name="btnG" type="submit"><input class="lsb" id="tsuid1" value="I'm Feeling Lucky" name="btnI" type="submit"><input value="ALs-wAMAAAAAYeh5C4MXSyXHsAr5eW45v-yNNul8U7SD" name="iflsig" type="hidden">	Advanced search

<input id="gbv" name="gbv" type="hidden" value="1"></form>

Google offered in:  Français

Advertising ProgramsBusiness Solutions<a href="/


,-0.344 0.98236,-0.866 0.26387,-0.13 0.68284,-0.168 2.56376,0.401 0.90748,0.344 0.2817,0.22 0.0874,0.68719 0.89134,0.21081"},"47041":{"name":"DeKalb, TN","path":"m 710.87834,345.51914 0.81967,0.59 -0.0488,0.47553 0.4236,0.35307 0.4761,-0.45171 0.91347,0.33558 0.13737,0.67747 0.55725,0.38006 0.25343,0.38209 -0.32072,0.89994 0.48984,2.46476 -0.26443,0.66353 -2.44957,-0.44825 -1.69505,0.55593 -0.18693,-0.60674 -2.48916,-1.93226 -1.13212,-2.797 4.51601,-1.542"},"47141":{"name":"Putnam, TN","path":"m 711.11903,343.02114 2.67609,0.191 1.15886,-0.353 0.56874,-0.275 0.12123,-0.175 0.52952,-0.909 0,-0.531 0.69805,-0.0527 0.85304,1.41973 1.84901,0.29439 0.0139,0.41844 2.30008,0.76717 1.56715,0 0.36905,0.102 -0.85934,1.005 -1.53505,0.03 -0.18364,0.136 -0.0107,2.836 -0.89134,-0.21081 -0.0874,-0.68719 -0.2817,-0.22 -0.90748,-0.344 -2.56376,-0.401 -0.68284,0.168 -0.26387,0.13 -0.98236,0.866 -0.32983,0.344 -0.0802,0.17 -0.007,0.135 -0.55725,-0.38006 -0.13737,-0.67747 -0.91347,-0.33558 -0.47609,0.45171 -0.42361,-0.35307 0.0488,-0.47553 -0.81968,-0.59 0.24069,-2.498"},"47169":{"name":"Trousdale, TN","path":"m 707.20862,339.07414 -0.0522,0.68528 -1.31193,0.52975 -0.7987,1.1363 -0.59651,0.94967 -0.63858,-0.6639 -0.25862,0.16151 -0.42894,-0.49358 -0.52066,0.0829 -0.1014,0.94763 -0.44204,-0.0874 -0.0621,-0.74252 -0.35033,-0.11362 0.352,-0.61451 -0.20391,-1.79369 0.60468,-0.0754 -0.086,-0.85035 0.91275,0.08 0.3684,0.8265 0.39951,0.12664 3.21453,-0.0911"},"47111":{"name":"Macon, TN","path":"m 706.57093,334.40614 3.43915,-0.21 -0.16045,2.87 -0.0374,2.038 -2.60357,-0.03 -3.21453,0.0911 -0.39951,-0.12664 -0.3684,-0.8265 -0.91275,-0.08 0.32888,-0.66951 -0.29323,-0.29625 0.0357,-2.58324 4.18618,-0.177"},"47159":{"name":"Smith, TN","path":"m 707.20862,339.07414 2.60357,0.03 0.25268,3.24087 1.05


211/typescript-overriding-interface-property-type-defined-in-d-ts
        getBalances( pair: string ): Promise< TBinanceBalance >;
    }
}
export interface PopulationResponse {
  error: boolean,
  msg: string,
  data: {
    city: string,
    country: string,
    populationCounts: Array<PopulationRecord>
  }
}

export interface PopulationRecord {
  year: string;
  value: string;
  sex: string;
  reliabilty: string;
}
import { Component } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { TableDataService } from '../data.service';
import { Page } from '../table';

@Component({
  template: `
    <shark-table-code-sample pageTitle="Observable Data" [htmlSample]="htmlSample" [tsSample]="tsSample" #parent>
      <shark-table
        [data]="dataObservable"
        [columns]="parent.tableColumns"
        [filterable]="false"
        [localPaging]="false"
        [hideCaption]="true"
      >
      </shark-table>
      <button (click)="refreshData()">Update Observable</button>
    </shark-table-code-sample>
  `
})
export class ObservableComponent {

  private dataSubject = new BehaviorSubject<Page>({});
  dataObservable = this.dataSubject.asObservable();

  htmlSample = `
    <shark-table
      [data]="dataObservable"
      [columns]="tableColumns"
      [filterable]="false"
      [localPaging]="false"
      [hideCaption]="true"
    >
    </shark-table>
    &ltbutton (click)="refreshData()">Update Observable&lt/button>
  `;

  tsSample = `
    private dataSubject = new BehaviorSubject<Page>({});
    dataObservable = this.dataSubject.asObservable();

    tableColumns: SharkColumn[] = [
      { header: 'Year', property: 'year' },
      { header: 'Make', property: 'make' },
      { header: 'Model', property: 'model' }
    ];

    refreshData(): void {
      const newPage: Page = {
        content: /* Populate with array of data */,
        first: true,
        last: true,
        number: 0,
        totalPages: 1,
        numberOfElements: 29,
        size: 29
      };
      this.dataSubject.next(newPage);
    }
  `;

  constructor(private tableDataService: TableDataService) {}

  refreshData(): void {
    const newPage: Page = {
      content: this.tableDataService.getTestData(),
      first: true,
      last: true,
      number: 0,
      totalPages: 1,
      numberOfElements: 29,
      size: 29
    };
    this.dataSubject.next(newPage);
  }

}
import { Field, InputType, ID } from '@nestjs/graphql';

import {
  Length,
  IsEmail,
  Matches,
  IsOptional,
  IsMongoId,
  IsNotEmpty,
} from 'class-validator';

import { IsMatchPassword } from 'src/lib/decorators/match.decorator';
import { UpdateRoleUserInput } from 'src/role/dto/inputs/role-update.input';

@InputType()
export class UserUpdateInput {
  @Field(() => ID)
  @IsMongoId({ message: 'El ID del usuario no es válido' })
  @IsNotEmpty({ message: 'El ID del usuario no existe' })
  id: string;

  @Field({ nullable: true })


st.insert('D', 3)  # Lista: A -> B -> C -> D

print("Lista antes da remoção:")
current = circular_linked_list.get_head()
for _ in range(circular_linked_list.size()):
    print(current.element)
    current = current.next

# Removendo o elemento na posição 1 (índice 1 - começando do 0)
removed_element = circular_linked_list.remove_at(1)
print(f"Elemento removido: {removed_element}")

print("Lista após a remoção:")
current = circular_linked_list.get_head()
for _ in range(circular_linked_list.size()):
    print(current.element)
    current = current.next


  }
                        }
                      ]
                    },
                    async: false,
                    generator: false,
                    id: null
                  }
                }
              ]
            }
          }
        ]
      }
    ],
    [
      'class x extends y { constructor() { f(x); super(); } }',
      Context.None,
      {
        type: 'Program',
        sourceType: 'script',
        body: [
          {
            type: 'ClassDeclaration',
            id: {
              type: 'Identifier',
              name: 'x'
            },
            superClass: {
              type: 'Identifier',
              name: 'y'
            },
            body: {
              type: 'ClassBody',
              body: [
                {
                  type: 'MethodDefinition',
                  kind: 'constructor',
                  static: false,
                  computed: false,
                  key: {
                    type: 'Identifier',
                    name: 'constructor'
                  },
                  value: {
                    type: 'FunctionExpression',
                    params: [],
                    body: {
                      type: 'BlockStatement',
                      body: [
                        {
                          type: 'ExpressionStatement',
                          expression: {
                            type: 'CallExpression',
                            callee: {
                              type: 'Identifier',
                              name: 'f'
                            },
                            arguments: [
                              {
                                type: 'Identifier',
                                name: 'x'
                              }
                            ]
                          }
                        },
                        {
                          type: 'ExpressionStatement',
                          expression: {
                            type: 'CallExpression',
                            callee: {
                              type: 'Super'
                            },
                            arguments: []
                          }
                        }
                      ]
                    },
                    async: false,
                    generator: false,
                    id: null
                  }
                }
              ]
            }
          }
        ]
      }
    ]
  ]);
});
export const REACT_APP_API_KEY = 9973533;
export const REACT_APP_CORS_PROXY_URL =
  "https://fierce-mountain-04762.herokuapp.com/";

export const capitalizeString = (s: string): string =>
  (s && s[0].toUpperCase() + s.slice(1)) || "";

export const capitalizeEveryWord = (s: string): string =>
  s
    .split(" ")
    .map((s) => capitalizeString(s))
    .join(" ");

export const replaceSpaceWithUnderscore = (s: string): string =>
  s
    .split("")
    .map((char) => (char === " " ? "_" : char))
    .join("");

export const listInEnglish = (items: string[]): string => {
  if (items.length === 0) {
    return "";
  }

  let itemsUpper = items.map(capitalizeEveryWord);

  const recursiveFormat = (innerItems: string[]): string => {
    let string;

    if (innerItems.length === 1) {
      string = innerItems[0];
    } else if (innerItems.length === 2) {
      string = `${recursiveFormat(
        in


_BUSY

/// A message containing a fault was received from the remote endpoint.
pub const E_ENDPOINT_FAULT_RECEIVED : HResultError = HResultError::from_constant(0x803D0013); // WS_E_ENDPOINT_FAULT_RECEIVED

/// The connection with the remote endpoint was terminated.
pub const E_ENDPOINT_DISCONNECTED : HResultError = HResultError::from_constant(0x803D0014); // WS_E_ENDPOINT_DISCONNECTED

/// The HTTP proxy server could not process the request.
pub const E_PROXY_FAILURE : HResultError = HResultError::from_constant(0x803D0015); // WS_E_PROXY_FAILURE

/// Access was denied by the HTTP proxy server.
pub const E_PROXY_ACCESS_DENIED : HResultError = HResultError::from_constant(0x803D0016); // WS_E_PROXY_ACCESS_DENIED

/// The requested feature is not available on this platform.
pub const E_NOT_SUPPORTED : HResultError = HResultError::from_constant(0x803D0017); // WS_E_NOT_SUPPORTED

/// The HTTP proxy server requires HTTP authentication scheme 'basic'.
pub const E_PROXY_REQUIRES_BASIC_AUTH : HResultError = HResultError::from_constant(0x803D0018); // WS_E_PROXY_REQUIRES_BASIC_AUTH

/// The HTTP proxy server requires HTTP authentication scheme 'digest'.
pub const E_PROXY_REQUIRES_DIGEST_AUTH : HResultError = HResultError::from_constant(0x803D0019); // WS_E_PROXY_REQUIRES_DIGEST_AUTH

/// The HTTP proxy server requires HTTP authentication scheme 'NTLM'.
pub const E_PROXY_REQUIRES_NTLM_AUTH : HResultError = HResultError::from_constant(0x803D001A); // WS_E_PROXY_REQUIRES_NTLM_AUTH

/// The HTTP proxy server requires HTTP authentication scheme 'negotiate'.
pub const E_PROXY_REQUIRES_NEGOTIATE_AUTH : HResultError = HResultError::from_constant(0x803D001B); // WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH

/// The remote endpoint requires HTTP authentication scheme 'basic'.
pub const E_SERVER_REQUIRES_BASIC_AUTH : HResultError = HResultError::from_constant(0x803D001C); // WS_E_SERVER_REQUIRES_BASIC_AUTH

/// The remote endpoint requires HTTP authentication scheme 'digest'.
pub const E_SERVER_REQUIRES_DIGEST_AUTH : HResultError = HResultError::from_constant(0x803D001D); // WS_E_SERVER_REQUIRES_DIGEST_AUTH

/// The remote endpoint requires HTTP authentication scheme 'NTLM'.
pub const E_SERVER_REQUIRES_NTLM_AUTH : HResultError = HResultError::from_constant(0x803D001E); // WS_E_SERVER_REQUIRES_NTLM_AUTH

/// The remote endpoint requires HTTP authentication scheme 'negotiate'.
pub const E_SERVER_REQUIRES_NEGOTIATE_AUTH : HResultError = HResultError::from_constant(0x803D001F); // WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH

/// The endpoint address URL is invalid.
pub const E_INVALID_ENDPOINT_URL : HResultError = HResultError::from_constant(0x803D0020); // WS_E_INVALID_ENDPOINT_URL

/// Unrecognized error occurred in the Windows Web Services framework.
pub const E_OTHER : HResultError = HResultError::from_constant(0x803D0021); // WS_E_OTHER

/// A security token was rejected by the


�](/examples#statistics-gauge)

### 基础用法

<Playground path="/statistics/gauge/demo/gauge.js" rid="gauge-basic"></playground>

### 自定义颜色

<Playground path="/statistics/gauge/demo/gauge-color.js" rid="gauge-color"></playground>

### 自定义样式

<Playground path="/statistics/gauge/demo/custom-style.js" rid="gauge-custom-style"></playground>

### 自定义指针

<Playground path="/statistics/gauge/demo/custom-pointer.js" rid="gauge-custom-pointer"></playground>

## 配置项

通用属性参考：[通用配置](/components/plots/overview#通用配置项)

### 概览

|配置项|说明|类型|默认值|
|-----|---|----|-----|
| data | [数据](#data) | object | [] |
| style | 视觉[样式](#style) | object（可选） | - |
| title | 用于指定图表的标题内容，详见[标题](/options/plots/title) | object（可选） | - |
| legend | 图表的辅助元素，使用颜色、大小、形状区分不同的数据类型，用于图表中数据的筛选，详见[图例](/options/plots/legend) | object（可选） | - |
| label | 数据标签是给图表添加标注的手段之一，详见[标签](/options/plots/label) | object（可选） | - |
| tooltip | 用于动态展示数据点的详细信息，详见[提示](/options/plots/tooltip) | object（可选） | - |
| theme | 用于控制图表的整体外观，包括颜色、字体、边距等视觉属性，详见[主题](/options/plots/theme/overview) | string \| object（可选） | `light` |
| onReady | 图表加载回调，用于后续的事件[事件](/options/plots/event)绑定 | Function（可选） | - |
| scale | 将抽象数据映射为视觉数据，详见[比例尺](/options/plots/scale/overview) | object（可选） | - |
| animate | 动画作为可视化的重要组成部分，能显著提高数据可视化的表现力，详见[动画](/options/plots/animate/overview) | object（可选） | - |
| interaction | 提供了按需探索数据的能力，详见[交互](/options/plots/interaction/overview) | object（可选） | - |
| state | 实现交互反馈、高亮、选中等效果，详见[状态](/options/plots/state)，不同交互下图表样式 | object（可选） | - |
| annotations | 视图好比一个画板，`Funnel` 组件默认在其上绘制了一个仪表盘，我们可以通过 annotations 在上面叠加更多的图层，详见[标注](/examples#statistics-annotation-shape) | Array（可选） | - |

### data

`data`定义仪表盘的数值、目标值及分类信息，通过数据绑定驱动表盘指针位置、颜色映射及多仪表分面展示。

| 属性       | 描述   | 类型       | 默认值 | 必选 |
| -------- | -------- | -------- | -------- | -------- |
| target     | 设置仪表盘指针的目标值   | `number`   | -      |      |
| total      | 设置仪表盘刻度的最大范围值   | `number`   | -      |      |
| percent    |


"bd5n4", "bsrw7", "bkh35", "b6n0h", "bfbwh", "bgf97", "bsjnx", "be3dn", "bdzgj", "bsrny", "bf8r1", "b7gbz", "be65j", "b7z87", "bd09g", "be7jy", "bs3cz", "bd06z", "b3ugm", "b7ydc", "bet8c", "bsj60", "b7nx4", "bd7q2", "bdu82", "bs513", "bd1u4", "b6frr", "bswcs", "befx4", "befe9", "b6ws9", "bdgd7", "b9bpj", "be0kr", "begf5", "bkrpt", "bds6q", "b7h0m", "bd07s", "bgdyf", "b6fg1", "bdu27", "bs1m1", "bsmhf", "bkmng", "b6fq5", "c40hj", "bdfxn", "bu0v3", "bs436", "bu0s8", "bddvj", "bdy1z", "b7bbm", "b3z6m", "b7xsh", "bffnw", "beqns", "b7sjb", "bu6nu", "bu22w", "bkq1z", "bs4m9", "bs7m4", "bss6p", "b7upd", "bes1q", "b6u8f", "bsw06", "bs6ee", "bkqqw", "bd0fq", "bss87", "b7jcq", "b7xfs", "b7s6c", "bfs9s", "c1fkd", "beu86", "b6xx3", "bsqbr", "bexxx", "b6mt9", "bsnwe", "bevk3", "bksbp", "bef0q", "bkqb1", "bemgu", "b1rxj", "bdxwe", "c415c", "b6zez", "be48m", "b6v5u", "be54k", "bd8vs", "bs1wy", "bd872", "c42es", "bk33j", "bkmvw", "b6gjp", "bd164", "b7t1v", "bkxfj", "b6ev8", "bgdgj", "bekhr", "b3u2u", "bg6w0", "be2x1", "bd1ut", "bkjjw", "bs3g5", "c1f48", "c42j5", "bs7fz", "bfbwb", "b78e9", "bepxd", "b76bh", "b78tb", "be664", "bgcms", "b7xkk", "b6vqg", "b3vhn", "b7ebu", "bs8qt", "bg8n0", "bu74m", "bkkyb", "b6ywj", "begnm", "bgg3t", "b6ecd", "b7f38", "bgcsz", "bk5sb", "b7yfk", "bejvc", "b6p9x", "b6n81", "bkjgx", "be0rm", "bd3kt", "b6rb9", "bkq53", "bd7zd", "beh29", "b6fry", "b6sf4", "bkhqk", "bdbk4", "bs7wu", "bd0bj", "b6tvj", "be3vn", "bemk9", "c1c42", "b7dp1", "bep9u", "be376", "bem55", "bdzxw", "bd2jn", "b6978", "bu7my", "bu1u6", "bfce3", "b7ntu", "b7uc7", "b7s8q", "bfc4p", "bkm8m", "bkh25", "bk4tc", "bdb5m", "bg5mz", "bk7e


rtEquals(3, els.size());
    assertEquals("Hello", els.get(0).text());
    assertEquals("Hello", els.get(1).text());
    assertEquals("", els.get(2).text());

    Nodes<Structure> none =
        createStructure("

Hello

").select("Style");
    assertEquals(0, none.size());
  }

  @Test
  public void testByAttribute() throws UIMAException {
    String h =
        "12345"
            + "";
    Node<Structure> doc = createStructure(h);

    Nodes<Structure> withTitle = doc.select("[target]");
    assertEquals(5, withTitle.size());

    Nodes<Structure> foo = doc.select("[TARGET=foo]");
    assertEquals(1, foo.size());

    Nodes<Structure> foo2 = doc.select("[target=\"foo\"]");
    assertEquals(1, foo2.size());

    Nodes<Structure> foo3 = doc.select("[target=\"Foo\"]");
    assertEquals(1, foo3.size());

    Nodes<Structure> dataName = doc.select("[target=\"with spaces\"]");
    assertEquals(1, dataName.size());
    assertEquals("with spaces", dataName.first().attr("target"));

    Nodes<Structure> not = doc.select("Link[target!=bar]");
    assertEquals(4, not.size());
    assertEquals("Foo", not.first().attr("target"));

    Nodes<Structure> starts = doc.select("[target^=ba]");
    assertEquals(2, starts.size());
    assertEquals("Bar", starts.first().attr("target"));
    assertEquals("Bam", starts.last().attr("target"));

    Nodes<Structure> ends = doc.select("[target$=am]");
    assertEquals(2, ends.size());
    assertEquals("Bam", ends.first().attr("target"));
    assertEquals("SLAM", ends.last().attr("target"));

    Nodes<Structure> contains = doc.select("[target*=a]");
    assertEquals(4, contains.size());
    assertEquals("Bar", contains.first().attr("target"));
    assertEquals("with spaces", contains.last().attr("target"));
  }

  @Test
  public void testByAttributeStarting() throws UIMAException {
    Node<Structure> doc =
        createStructure("HelloThereNo");
    Nodes<Structure> withData = doc.select("[^tar]");
    assertEquals(2, withData.size());
    assertEquals("Hello", withData.first().text());
    assertEquals("No", withData.last().text());

    withData = doc.select("Style[^decor]");
    assertEquals(1, withData.size());
    assertEquals("There", withData.first().text());
  }

  @Test
  public void testByAttributeRegex() throws UIMAException {
    Node<Structure> doc =
        createStructure(
            "
12345
");
    Nodes<Structure> imgs = doc.select("Figure[target~=(?i)\\.(png|jpe?g)]");
    assertEquals(3, imgs.size());
    assertEquals("foo.png", imgs.get(0).attr("target"));
    assertEquals("bar.jpg", imgs.get(1).attr("target"));
    assertEquals("qux.JPEG", imgs.get(2).attr("target"));
  }

  @Test
  public void testByAttributeRegexCharacterClass() throws UIMAException {
    Node<Structure> doc =
        createStructure(
            "

");
    Nodes<Structure> imgs = doc.select("Figure[target~=[


ox.Log("change motion for die")

	if gameObjectId == nil then
		Fox.Warning("gameObjectId is nil")
		return
	end

	if gameObjectId == GameObject.GetGameObjectId( ENEMY_2100 ) then
		svars.numEvent2F3 = this.event2F3Enum.DEAD
		Fox.Log("2f3 is dead")

	elseif gameObjectId == GameObject.GetGameObjectId( ENEMY_2200 ) then
		this.StopTimer("Timer_ShootPlayer")
		GkEventTimerManager.Start("Timer_ShootPlayer",2)
		GkEventTimerManager.Start("Timer_ShootSay2210",7)
		s10240_enemy02.CallVoice(ENEMY_2210, EnemyVoiceParam, "DDD207")

	elseif gameObjectId == GameObject.GetGameObjectId( ENEMY_2210 ) then
		this.StopTimer("Timer_ShootPlayer")
		GkEventTimerManager.Start("Timer_ShootPlayer",2)
		GkEventTimerManager.Start("Timer_ShootSay2200",7)
		s10240_enemy02.CallVoice(ENEMY_2200, EnemyVoiceParam, "DDD207")

	elseif gameObjectId == GameObject.GetGameObjectId( ENEMY_1200 ) then

		if TppSequence.GetCurrentSequenceIndex( ) == TppSequence.GetSequenceIndex("Seq_Game_MainGame") then
			s10240_enemy02.DeadEvent2F4()
		elseif svars.numDoEventLast == 1 then
			svars.numDoEventLast = 2

			s10240_radio.SorryBoss()
			if svars.isAllClear == false then
				s10240_radio.ORadioSet04()
			end
			s10240_enemy02.SetNodoLastMan(false)
			s10240_enemy02.SetDeadMotionLastMan()
		end

	elseif gameObjectId == GameObject.GetGameObjectId( ENEMY_1000 ) or
	 gameObjectId == GameObject.GetGameObjectId( ENEMY_1001 ) or
	 gameObjectId == GameObject.GetGameObjectId( ENEMY_1002 ) or
 	 gameObjectId == GameObject.GetGameObjectId( ENEMY_1003 ) or
	 gameObjectId == GameObject.GetGameObjectId( ENEMY_1004 ) then

		s10240_enemy02.SetDeadMotionSong(gameObjectId)
	else

		s10240_enemy02.SetDeadMotionHanyou(gameObjectId)
	end
end

this.SetObieFlag = function(num)
	if num == 1 then svars.isObieLoop01 = true
	elseif num == 2 then svars.isObieLoop02 = true
	elseif num == 3 then svars.isObieLoop03 = true
	elseif num == 4 then svars.isObieLoop04 = true
	elseif num == 5 then svars.isObieLoop05 = true
	elseif num == 6 then svars.isObieLoop06 = true
	elseif num == 7 then svars.isObieLoop07 = true
	elseif num == 8 then svars.isObieLoop08 = true
	elseif num == 9 then svars.isObieLoop09 = true
	elseif num == 10 then svars.isObieLoop10 = true
	elseif num == 11 then svars.isObieLoop11 = true
	elseif num == 12 then svars.isObieLoop12 = true
	end
end

this.ResetObieFlag = function()
	svars.isObieLoop01	= false
	svars.isObieLoop02	= false
	svars.isObieLoop03	= false
	svars.isObieLoop04	= false
	svars.isObieLoop05	= false
	svars.isObieLoop06	= false
	svars.isObieLoop07	= false
	svars.isObieLoop08	= false
	svars.isOb


/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 *
 * From: @(#)s_floor.c 5.1 93/09/24
 */

#include "cdefs-compat.h"
//__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.8 2008/02/14 15:10:34 bde Exp $");

/*
 * floorl(x)
 * Return x rounded toward -inf to integral value
 * Method:
 *	Bit twiddling.
 * Exception:
 *	Inexact flag raised if x not equal to floorl(x).
 */

#include <float.h>
#include <openlibm_math.h>
#include <stdint.h>

#include "fpmath.h"
#include "math_private.h"

#ifdef LDBL_IMPLICIT_NBIT
#define	MANH_SIZE	(LDBL_MANH_SIZE + 1)
#define	INC_MANH(u, c)	do {					\
	uint64_t _o = u.bits.manh;				\
	u.bits.manh += (c);					\
	if (u.bits.manh < _o)					\
		u.bits.exp++;					\
} while (0)
#else
#define	MANH_SIZE	LDBL_MANH_SIZE
#define	INC_MANH(u, c)	do {					\
	uint64_t _o = u.bits.manh;				\
	u.bits.manh += (c);					\
	if (u.bits.manh < _o) {					\
		u.bits.exp++;					\
		u.bits.manh |= 1llu << (LDBL_MANH_SIZE - 1);	\
	}							\
} while (0)
#endif

static const long double huge = 1.0e300;

OLM_DLLEXPORT long double
floorl(long double x)
{
	union IEEEl2bits u = { .e = x };
	int e = u.bits.exp - LDBL_MAX_EXP + 1;

	if (e < MANH_SIZE - 1) {
		if (e < 0) {			/* raise inexact if x != 0 */
			if (huge + x > 0.0)
				if (u.bits.exp > 0 ||
				    (u.bits.manh | u.bits.manl) != 0)
					u.e = u.bits.sign ? -1.0 : 0.0;
		} else {
			uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
			if (((u.bits.manh & m) | u.bits.manl) == 0)
				return (x);	/* x is integral */
			if (u.bits.sign) {
#ifdef LDBL_IMPLICIT_NBIT
				if (e == 0)
					u.bits.exp++;
				else
#endif
				INC_MANH(u, 1llu << (MANH_SIZE - e - 1));
			}
			if (huge + x > 0.0) {	/* raise inexact flag */
				u.bits.manh &= ~m;
				u.bits.manl = 0;
			}
		}
	} else if (e < LDBL_MANT_DIG - 1) {
		uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
		if ((u.bits.manl & m) == 0)
			return (x);	/* x is integral */
		if (u.bits.sign) {
			if (e == MANH_SIZE - 1)
				INC_MANH(u, 1);
			else {
				uint64_t o = u.bits.manl;
				u.bits.manl += 1llu << (LDBL_MANT_DIG - e - 1);
				if (u.bits.manl < o)	/* got a carry */
					INC_MANH(u, 1);
			}
		}
		if (huge + x > 0.0)		/* raise inexact flag */
			u.bits.manl &= ~m;
	}
	return (u.e);
}


tooltip = FishingBuddy.CONFIG_SKILL_INFO;
      FishingOutfitStyle.tooltip = FishingBuddy.CONFIG_STYLISH_INFO;
      FishingOutfitSwitchButton:SetText(FishingBuddy.SWITCHOUTFIT);
      FishingOutfitFrame.OutfitChanged = FishingBuddy.OutfitFrame.OutfitChanged;
   else
      FishingBuddy.DisableSubFrame("FishingOutfitFrame");
   end
end

FishingBuddy.OutfitFrame.OnShow = function()
   if ( not this.valid ) then
      local outfit = FishingBuddy.GetOutfit();
      OutfitDisplayFrame_SetOutfit(FishingOutfitFrame, outfit);
      FishingBuddy.OutfitFrame.OutfitChanged();
   end
end

FishingBuddy.OutfitFrame.OnHide = function()
   -- FishingOutfitFrame_OutfitChanged();
end

FishingBuddy.OutfitFrame.Button_OnClick = function()
   -- make sure we have the current state
   FishingBuddy.SetOutfit(OutfitDisplayFrame_GetOutfit(FishingOutfitFrame));
   FishingBuddy.OutfitFrame.Switch();
end

-- only have one outfit at the moment
-- don't switch if
-- we can't find everything in the outfit
-- we have saved stuff but we're not wearing everything in the outfit
-- We don't have the outfit display frame!
FishingBuddy.OutfitFrame.Switch = function()
   if (CursorHasItem()) then
      FishingBuddy.UIError(FishingBuddy.CURSORBUSYMSG);
      return false;
   end
   if ( OutfitDisplayFrame_IsSwapping() ) then
      FishingBuddy.UIError(OUTFITDISPLAYFRAME_TOOFASTMSG);
      return false;
   end

   local isfishing = FishingBuddy.IsFishingPole();
   local outfit = FishingBuddy.GetOutfit();
   local waswearing = FishingBuddy.GetWasWearing();
   if ( waswearing ) then
      local msg;

      if ( isfishing ) then
	 msg = OutfitDisplayFrame_SwitchWillFail(FishingOutfitFrame, waswearing);
      else
	 msg = FishingBuddy.CANTSWITCHBACK;
	 FishingBuddy.SetWasWearing(nil);
	 StartedFishing = nil;
      end

      if ( msg ) then
	 FishingBuddy.UIError(msg);
	 return false;
      end
      local check = OutfitDisplayFrame_SwitchOutfit(waswearing);
      if ( check ) then
	 FishingBuddy.SetWasWearing(nil);
	 FishingBuddy.OutfitManager.CheckSwitch(false);
      end
   elseif ( outfit ) then
      local msg;
      if ( not isfishing ) then
	 msg = OutfitDisplayFrame_SwitchWillFail(FishingOutfitFrame, outfit);
      else
	 msg = FishingBuddy.POLEALREADYEQUIPPED;
      end
      if ( msg ) then
	 FishingBuddy.UIError(msg);
	 return false;
      end
      local waswearing = OutfitDisplayFrame_SwitchOutfit(outfit);
      if ( waswearing ) then
	 FishingBuddy.SetWasWearing(waswearing);
	 FishingBuddy.OutfitManager.CheckSwitch(true);
      end
   else
      FishingBuddy.UIError(FishingBuddy.NOOUTFITDEFINED);
   end
   return true;
end


硌镙瘰蜾跞雒",
    "lv": "驴吕铝侣旅履屡缕虑氯律率滤绿闾榈膂稆褛",
    "lve": "掠略锊",
    "m": "呒",
    "ma": "妈麻玛码蚂马骂嘛吗么摩抹犸嬷杩蟆",
    "mai": "埋买麦卖迈脉美劢荬唛霾",
    "man": "埋瞒馒蛮满蔓曼慢漫谩墁幔缦熳镘颟螨鳗鞔",
    "mang": "芒茫盲氓忙莽邙瞢漭硭蟒",
    "mao": "猫茅锚毛矛铆卯茂冒帽貌贸侔袤勖茆峁泖瑁昴牦耄旄懋瞀蛑蝥蟊髦",
    "me": "么末麽",
    "mei": "玫枚梅酶霉煤没眉媒镁每美昧寐妹媚谜坶莓嵋猸浼湄楣镅鹛袂魅",
    "men": "门闷们扪焖懑钔鞔",
    "meng": "氓萌蒙檬盟锰猛梦孟勐甍瞢懵朦礞虻蜢蠓艋艨黾",
    "mi": "眯醚靡糜迷谜弥米秘觅泌蜜密幂芈冖谧蘼咪嘧猕汨宓弭脒祢敉糸縻麋",
    "mian": "棉眠绵冕免勉娩缅面沔渑湎宀腼眄黾",
    "miao": "苗描瞄藐秒渺庙妙喵邈缈杪淼眇鹋",
    "mie": "蔑灭乜咩蠛篾",
    "min": "民抿皿敏悯闽苠岷闵泯缗珉愍黾鳘",
    "ming": "明螟鸣铭名命冥茗溟暝瞑酩",
    "miu": "谬缪",
    "mo": "脉么没摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌万无谟茉蓦馍嫫嬷殁镆秣瘼耱貊貘麽",
    "mou": "谋牟某侔厶哞缪眸蛑鍪",
    "mu": "姥模牟拇牡亩姆母墓暮幕募慕木目睦牧穆仫坶苜沐毪钼",
    "na": "拿哪呐钠那娜纳南捺肭镎衲箬",
    "nai": "氖乃奶耐奈鼐佴艿萘柰",
    "nan": "南男难喃囡楠腩罱蝻赧",
    "nang": "囊攮囔馕曩",
    "nao": "挠脑恼闹淖孬垴呶猱瑙硇


atch_1');

    //recommend scratch level 3 since level 2 is taken
    next = await getRecommendation(
      0,
      ClassModel.bulkBuild([{ courseId: 'scratch_2' }])
    );
    expect(next.id).toBe('scratch_3');
    //recommend ai-explorers level 1 since you are done with scratch
    next = await getRecommendation(
      0,
      ClassModel.bulkBuild([{ courseId: 'scratch_4' }])
    );
    expect(next.id).toBe('ai-explorers_1');

    // you are all done
    next = await getRecommendation(
      0,
      ClassModel.bulkBuild([
        { courseId: 'scratch_3' },
        { courseId: 'ai-explorers_3' }
      ])
    );
    expect(next).toBeFalsy();
  });

  test('for 12 years old', async () => {
    //recommend ascratch level 1
    next = await getRecommendation(
      12,
      ClassModel.bulkBuild([{ courseId: 'ascratch_0' }])
    );
    expect(next.id).toBe('ascratch_1');

    //recommend data-science level 1, skip minecraft
    next = await getRecommendation(
      12,
      ClassModel.bulkBuild([
        { courseId: 'ascratch_3' },
        { courseId: 'ai-explorers_3' },
        { courseId: 'robots_3' }
      ])
    );
    expect(next.id).toBe('design_1');

    //recommend robots level 1, skip scratch
    next = await getRecommendation(
      12,
      ClassModel.bulkBuild([
        { courseId: 'ai-explorers_3' },
        { courseId: 'minecraft_3' }
      ])
    );

    //skip scratch after done accelerated scratch
    next = await getRecommendation(
      0,
      ClassModel.bulkBuild([
        { courseId: 'ai-explorers_0' },
        { courseId: 'scratch_0' },
        { courseId: 'data-science_0' },
        { courseId: 'ascratch_1' },
        { courseId: 'ascratch_2' },
        { courseId: 'ascratch_3' }
      ])
    );
    expect(next.id).toBe('ai-explorers_1');
  });
});
'use strict';

const canvas = document.querySelector('.main-canvas') as HTMLCanvasElement;
const ctx = canvas.getContext('2d');

function mySquare(size: number) {

    ctx.beginPath();
    ctx.strokeStyle = "red";
    ctx.strokeRect(canvas.width / 2, canvas.height / 2, size, size);
    ctx.stroke();
}
for (let i : number = 0; i <= 3; i++) {
    mySquare(12 * i);
}

// Create a square drawing function that takes 1 parameter:
// The square size
// and draws a square of that size to the center of the canvas.
// Draw 3 squares with that function.
// Avoid code duplication.
import { ArrayUtils } from '../../src/polyfill/ArrayUtils';

import { assert, describe, it } from 'vitest';
const { ok, equal, deepEqual } = assert;

describe('Array', () =>
{
    it('equal', () =>
    {
        ok(ArrayUtils.equal([1, 2, 3], [1, 2, 3]));

        ok(!ArrayUtils.equal([{}, 2, 3], [{}, 2, 3]));

        const obj = {};
        ok(ArrayUtils.equal([obj, 2, 3], [obj, 2, 3]));
    });

    it('isUnique', () =>
    {
        deepEqual(ArrayUtils.isUnique([1, 2, 3]), true);
        deepEqual(ArrayUtils.isUnique([1, 2, 2]), false);
    });

    it('unique', () =>
    {
        const arr1 = Array(10000).fill(0).map((_v, _i) => (Math.random() < 0.1 ? nu


from rest_framework import routers
from django.urls import path
from .views import (
    OrdemServicoViewSet, OrdemServicoPecasViewSet, OrdemServicoServicosViewSet,
    ImagemAntesViewSet, ImagemDuranteViewSet, ImagemDepoisViewSet,
    WorkflowSetorViewSet, OrdemServicoFaseSetorViewSet
)
from .views_financeiro import (
    GerarTitulosOSView,
    RemoverTitulosOSView,
    ConsultarTitulosOSView,
    RelatorioFinanceiroOSView
)

from .view_historico import HistoricoWorkflowViewSet

from .view_dash import OrdensEletroViewSet

router = routers.DefaultRouter()
router.register(r'ordens', OrdemServicoViewSet, basename='ordens')
router.register(r'pecas', OrdemServicoPecasViewSet, basename='pecas')
router.register(r'servicos', OrdemServicoServicosViewSet, basename='servicos')
router.register(r'imagens-antes', ImagemAntesViewSet, basename='imagens-antes')
router.register(r'imagens-durante', ImagemDuranteViewSet, basename='imagens-durante')
router.register(r'imagens-depois', ImagemDepoisViewSet, basename='imagens-depois')
router.register(r'fase-setor', OrdemServicoFaseSetorViewSet, basename='fase-setor')
router.register(r'workflow-setor', WorkflowSetorViewSet, basename='workflow-setor')
router.register(r'historico-workflow', HistoricoWorkflowViewSet, basename='historico-workflow')
router.register(r'ordens-eletro', OrdensEletroViewSet, basename='ordens-eletro')

urlpatterns = router.urls

# Rotas Financeiras
urlpatterns += [
    path('financeiro/gerar-titulos/', GerarTitulosOSView.as_view(), name='gerar_titulos'),
    path('financeiro/remover-titulos/', RemoverTitulosOSView.as_view(), name='remover_titulos'),
    path('financeiro/consultar-titulos/<int:orde_nume>/', ConsultarTitulosOSView.as_view(), name='consultar_titulos'),
    path('financeiro/relatorio/', RelatorioFinanceiroOSView.as_view(), name='relatorio_financeiro'),
    # Novos end points
    path('ordens/<int:id>/avancar-setor/', OrdemServicoViewSet.as_view({'post': 'avancar_setor'}), name='avancar_setor'),
    path('ordens/<int:id>/proximos-setores/', OrdemServicoViewSet.as_view({'get': 'proximos_setores'}), name='proximos_setores'),
    path('ordens/<int:id>/historico-workflow/', OrdemServicoViewSet.as_view({'get': 'historico_workflow'}), name='historico_workflow'),
]


*
     *     public static void stack(Context ctx) {
     *         final var exampleWorkersScriptSubdomain = CloudflareFunctions.getWorkersScriptSubdomain(GetWorkersScriptSubdomainArgs.builder()
     *             .accountId("023e105f4ecef8ad9ca31a8372d0c353")
     *             .scriptName("this-is_my_script-01")
     *             .build());
     *
     *     }
     * }
     * }
     *

     *
     */
    public static Output<GetWorkersScriptSubdomainResult> getWorkersScriptSubdomain(GetWorkersScriptSubdomainArgs args) {
        return getWorkersScriptSubdomain(args, InvokeOptions.Empty);
    }
    /**
     * ## Example Usage
     *
     *

     * {@code
     * package generated_program;
     *
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.cloudflare.CloudflareFunctions;
     * import com.pulumi.cloudflare.inputs.GetWorkersScriptSubdomainArgs;
     * import java.util.List;
     * import java.util.ArrayList;
     * import java.util.Map;
     * import java.io.File;
     * import java.nio.file.Files;
     * import java.nio.file.Paths;
     *
     * public class App {
     *     public static void main(String[] args) {
     *         Pulumi.run(App::stack);
     *     }
     *
     *     public static void stack(Context ctx) {
     *         final var exampleWorkersScriptSubdomain = CloudflareFunctions.getWorkersScriptSubdomain(GetWorkersScriptSubdomainArgs.builder()
     *             .accountId("023e105f4ecef8ad9ca31a8372d0c353")
     *             .scriptName("this-is_my_script-01")
     *             .build());
     *
     *     }
     * }
     * }
     *

     *
     */
    public static CompletableFuture<GetWorkersScriptSubdomainResult> getWorkersScriptSubdomainPlain(GetWorkersScriptSubdomainPlainArgs args) {
        return getWorkersScriptSubdomainPlain(args, InvokeOptions.Empty);
    }
    /**
     * ## Example Usage
     *
     *

     * {@code
     * package generated_program;
     *
     * import com.pulumi.Context;
     * import com.pulumi.Pulumi;
     * import com.pulumi.core.Output;
     * import com.pulumi.cloudflare.CloudflareFunctions;
     * import com.pulumi.cloudflare.inputs.GetWorkersScriptSubdomainArgs;
     * import java.util.List;
     * import java.util.ArrayList;
     * import java.util.Map;
     * import java.io.File;
     * import java.nio.file.Files;
     * import java.nio.file.Paths;
     *
     * public class App {
     *     public static void main(String[] args) {
     *         Pulumi.run(App::stack);
     *     }
     *
     *     public static void stack(Context ctx) {
     *         final var exampleWorkersScriptSubdomain = CloudflareFunctions.getWorkersScriptSubdomain(GetWorkersScriptSubdomainArgs.builder()
     *             .accountId("023e105f4ecef8ad9ca31a8372d0c353")
     *             .scriptName("this-is_my_script-01")
     *             .build());
     *
     *     }
     * }
     * }
     *

     *
     */
    public static Output<GetWorkersScriptSubdomainResult> getWorkersScriptSubdomain(GetWorkersScriptSubdomainArgs args, InvokeOptions options) {
        return Deployment.getInstance().invoke("cloudflare:index/getWorkersScriptSubdo


ence_1_1host_1_1detail_1_1TensorFillLinearFunc.html">cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >

TensorFillLinearFunc()	cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >	inline

TensorFillLinearFunc(TensorView const &view_, Array< Element, Layout::kRank > const &v_, Element s_=Element(0))	cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >	inline

TensorView typedef	cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >

v	cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >

view	cutlass::reference::host::detail::TensorFillLinearFunc< Element, Layout >

<address class="footer">
Generated by

 1.8.11
</address>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="


        val leftMostElementOfLeftSubtree = rootElement.leftMostElementOfLeftSubtree
        return this == if (leftMostElementOfLeftSubtree is KtStringTemplateExpression) {
            leftMostElementOfLeftSubtree
        } else {
            rootElement.rightMostElementOfRightSubtree
        }
    }

    private fun KtElement.getStringSequenceExcludingRawString(): Sequence<String> {
        fun KtElement.getStringSequence(): Sequence<KtStringTemplateExpression> = sequence {
            if (this@getStringSequence is KtStringTemplateExpression) {
                yield(this@getStringSequence)
            } else if (this@getStringSequence is KtBinaryExpression) {
                left?.let {
                    yieldAll(KtPsiUtil.safeDeparenthesize(it).getStringSequence())
                }
                right?.let {
                    yieldAll(KtPsiUtil.safeDeparenthesize(it).getStringSequence())
                }
            }
        }
        return this.getStringSequence().filter {
            (it.text.startsWith("\"\"\"") && it.text.endsWith("\"\"\"")).not()
        }.map {
            it.text
        }
    }

    private fun KtElement.getRootExpression(): KtElement? =
        this.getParentOfTypesAndPredicate(
            false,
            KtBinaryExpression::class.java,
            KtParenthesizedExpression::class.java,
            KtStringTemplateExpression::class.java,
        ) {
            val parent = (it as KtExpression).parent
            parent !is KtBinaryExpression && parent !is KtParenthesizedExpression
        }?.let { KtPsiUtil.safeDeparenthesize(it) }

    companion object {
        private val REGEX_FOR_ESCAPE_CHARS = """\\[t"\\n]""".toRegex()
        private val listOfAllowedMethod = listOf(
            "replaceIndent",
            "prependIndent",
        )
        private val regexForOnlyQuotes = """"(?:\\")*"""".toRegex()
    }
}
package dev.detekt.rules.style

import dev.detekt.api.ActiveByDefault
import dev.detekt.api.Config
import dev.detekt.api.Entity
import dev.detekt.api.Finding
import dev.detekt.api.Rule
import dev.detekt.psi.isInternal
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtEnumEntry

/**
 * Nested classes inherit their visibility from the parent class
 * and are often used to implement functionality local to the class it is nested in.
 * These nested classes can't have a higher visibility than their parent.
 * However, the visibility can be further restricted by using a private modifier for instance.
 * In internal classes the _explicit_ public modifier for nested classes is misleading and thus unnecessary,
 * because the nested class still has an internal visibility.
 *
 * <noncompliant>
 * internal class Outer {
 *     // explicit public modifier still results in an internal nested class
 *     public class Nested
 * }
 * </noncompliant>
 *
 * <compliant>
 * internal class Outer {
 *     class Nested1
 *     internal class Nested2
 * }
 * </compliant>
 */
@ActiveByDefault(since = "1.16.0")
class NestedClassesVisibility(config: Config) : Rule(
    config,
    "The explicit public modifier still results in an internal nested class."
) {

    override fun visitClass(klass: KtClass) {
        if (!klass.isInterface() && klass.isTopLevel() && klass.isInternal()) {
            checkDeclarations(klass)
        }
    }

    private fun checkDeclarations(klass: KtClass) {
        klass.declarations
            .filterIsInstance<KtClassOrObject>()


::new().title("Scene").build();
    let mut context = pollster::block_on(Context::init().build(&window));
    let mut scene = Scene::new();

    let camera = Camera {
        projection: Projection::Perspective { fov_y: 45.0 },
        depth: 1.0..10.0,
        node: scene
            .add_node()
            .position([-2.0, 2.5, 5.0].into())
            .look_at([0f32; 3].into(), [0f32, 1.0, 0.0].into())
            .build(),
        background: Color::BLACK_OPAQUE,
    };

    scene
        .add_point_light()
        .position([4.0, 8.0, 4.0].into())
        .color(Color(0x00AAAAAA))
        .build();
    scene
        .add_entity(&Geometry::plane(5.0).bake(&mut context))
        .position([0.0, 0.0, 0.0].into())
        .component(Color(0xFF006400))
        .component(Shader::Phong { glossiness: 100 })
        .build();
    scene
        .add_entity(&Geometry::cuboid(Streams::NORMAL, [0.5, 0.5, 0.5].into()).bake(&mut context))
        .position([0.0, 0.25, 0.0].into())
        .component(Color::new(0.8, 0.7, 0.6, 1.0))
        .component(Shader::Phong { glossiness: 100 })
        .build();

    let mut pass = Phong::new(
        &PhongConfig {..Default::default()},
        &context,
    );

    window.run(move |event| match event {
        Event::Resize { width, height } => {
            context.resize(width, height);
        }
        Event::Draw => {
            context.present(&mut pass, &scene, &camera);
        }
        _ => {}
    })
}
/*
Copyright ⓒ 2016 rust-custom-derive contributors.

Licensed under the MIT license (see LICENSE or <http://opensource.org
/licenses/MIT>) or the Apache License, Version 2.0 (see LICENSE of
<http://www.apache.org/licenses/LICENSE-2.0>), at your option. All
files in the project carrying such notice may not be copied, modified,
or distributed except according to those terms.
*/
#[doc(hidden)]
#[macro_export]
macro_rules! parse_type_item {
    (
        then $cb:ident!$cb_arg:tt,
        $(#[$($attrs:tt)*])* pub type $name:ident $($tail:tt)*
    ) => {
        parse_generics_shim! {
            { constr, params, ltimes, tnames },
            then parse_type_item! {
                @with_generics
                (($cb!$cb_arg), [$(#[$($attrs)*])*], (pub), $name),
            },
            $($tail)*
        }
    };

    (
        then $cb:ident!$cb_arg:tt,
        $(#[$($attrs:tt)*])* type $name:ident $($tail:tt)*
    ) => {
        parse_generics_shim! {
            { constr, params, ltimes, tnames },
            then parse_type_item! {
                @with_generics
                (($cb!$cb_arg), [$(#[$($attrs)*])*], (), $name),
            },
            $($tail)*
        }
    };

    (
        @with_generics
        $prefix:tt,
        $generics:tt,
        $($tail:tt)*
    ) => {
        parse_where_shim! {
            { preds }, then parse_type_item! {
                @with_where
                $prefix, $generics,
            },
            $($tail)*
        }
    };

    (
        @with_where
        ($cb:tt, $attrs:tt, $vis:tt, $name:ident),
        $generics:


dentials final : public grpc_server_credentials {
 public:
  grpc_fake_server_credentials()
      : grpc_server_credentials(
            GRPC_CHANNEL_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY) {}
  ~grpc_fake_server_credentials() override = default;

  grpc_core::RefCountedPtr<grpc_server_security_connector>
  create_security_connector(const grpc_channel_args* /*args*/) override {
    return grpc_fake_server_security_connector_create(this->Ref());
  }
};
}  // namespace

grpc_channel_credentials* grpc_fake_transport_security_credentials_create() {
  return new grpc_fake_channel_credentials();
}

grpc_server_credentials*
grpc_fake_transport_security_server_credentials_create() {
  return new grpc_fake_server_credentials();
}

grpc_arg grpc_fake_transport_expected_targets_arg(char* expected_targets) {
  return grpc_channel_arg_string_create(
      const_cast<char*>(GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS),
      expected_targets);
}

const char* grpc_fake_transport_get_expected_targets(
    const grpc_channel_args* args) {
  const grpc_arg* expected_target_arg =
      grpc_channel_args_find(args, GRPC_ARG_FAKE_SECURITY_EXPECTED_TARGETS);
  return grpc_channel_arg_get_string(expected_target_arg);
}

/* -- Metadata-only test credentials. -- */

bool grpc_md_only_test_credentials::get_request_metadata(
    grpc_polling_entity* /*pollent*/, grpc_auth_metadata_context /*context*/,
    grpc_core::CredentialsMetadataArray* md_array,
    grpc_closure* on_request_metadata, grpc_error_handle* /*error*/) {
  md_array->emplace_back(key_.Ref(), value_.Ref());
  if (is_async_) {
    grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_request_metadata,
                            GRPC_ERROR_NONE);
    return false;
  }
  return true;
}

void grpc_md_only_test_credentials::cancel_get_request_metadata(
    grpc_core::CredentialsMetadataArray* /*md_array*/,
    grpc_error_handle error) {
  GRPC_ERROR_UNREF(error);
}

grpc_call_credentials* grpc_md_only_test_credentials_create(
    const char* md_key, const char* md_value, bool is_async) {
  return new grpc_md_only_test_credentials(md_key, md_value, is_async);
}
/*
 *
 * Copyright 2018 gRPC authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * 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.
 *
 */

#include <grpc/support/port_platform.h>

#include "src/core/lib/security/security_connector/alts/alts_security_connector.h"

#include <stdbool.h>
#include <string.h>

#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util