_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{box-shadow:0 0 1px rgba(0,0,0,.3) inset;background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;border-bottom-color:#979797;border-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.5),0 0 2px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.15) inset;background:#e4e4e4;background-image:linear-gradient(to bottom,#fff,#e4e4e4);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#ffffff',endColorstr='#e4e4e4')}.cke_toolbox_collapser:hover{background:#ccc;background-image:linear-gradient(to bottom,#f2f2f2,#ccc);filter:progid:DXImageTransform.Microsoft.gradient(gradientType=0,startColorstr='#f2f2f2',endColorstr='#cccccc')}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid


      wrap('Del', () {
        inputModel.inputKey('VK_DELETE');
      }),
      wrap('PgUp', () {
        inputModel.inputKey('VK_PRIOR');
      }),
      wrap('PgDn', () {
        inputModel.inputKey('VK_NEXT');
      }),
      // to-do: support PrtScr on Mac
      if (isWin || isLinux)
        wrap('PrtScr', () {
          inputModel.inputKey('VK_SNAPSHOT');
        }),
      if (isWin || isLinux)
        wrap('ScrollLock', () {
          inputModel.inputKey('VK_SCROLL');
        }),
      if (isWin || isLinux)
        wrap('Pause', () {
          inputModel.inputKey('VK_PAUSE');
        }),
      if (isWin || isLinux)
        // Maybe it's better to call it "Menu"
        // https://en.wikipedia.org/wiki/Menu_key
        wrap('Menu', () {
          inputModel.inputKey('Apps');
        }),
      wrap('Enter', () {
        inputModel.inputKey('VK_ENTER');
      }),
      SizedBox(width: 9999),
      wrap('', () {
        inputModel.inputKey('VK_LEFT');
      }, icon: Icons.keyboard_arrow_left),
      wrap('', () {
        inputModel.inputKey('VK_UP');
      }, icon: Icons.keyboard_arrow_up),
      wrap('', () {
        inputModel.inputKey('VK_DOWN');
      }, icon: Icons.keyboard_arrow_down),
      wrap('', () {
        inputModel.inputKey('VK_RIGHT');
      }, icon: Icons.keyboard_arrow_right),
      wrap(isMac ? 'Cmd+C' : 'Ctrl+C', () {
        sendPrompt(isMac, 'VK_C');
      }),
      wrap(isMac ? 'Cmd+V' : 'Ctrl+V', () {
        sendPrompt(isMac, 'VK_V');
      }),
      wrap(isMac ? 'Cmd+S' : 'Ctrl+S', () {
        sendPrompt(isMac, 'VK_S');
      }),
    ];
    final space = size.width > 320 ? 4.0 : 2.0;
    // 500 ms is long enough for this widget to be built!
    Future.delayed(Duration(milliseconds: 500), () {
      _updateRect();
    });
    return Container(
        key: _key,
        color: Color(0xAA000000),
        padding: EdgeInsets.only(
            top: _keyboardVisibilityController.isVisible ? 24 : 4, bottom: 8),
        child: Wrap(
          spacing: space,
          runSpacing: space,
          children: <Widget>[SizedBox(width: 9999)] +
              modifiers +
              keys +
              (_fn ? fn : []) +
              (_more ? more : []),
        ));
  }
}

class ImagePaint extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final m = Provider.of<ImageModel>(context);
    final c = Provider.of<CanvasModel>(context);
    var s = c.scale;
    final adjust = c.getAdjustY();
    return CustomPaint(
      painter: ImagePainter(
          image: m.image, x: c.x / s, y: (c.y + adjust) / s, scale: s),
    );
  }
}

class CursorPaint extends StatelessWidget {
  late final String id;
  CursorPaint(this.id);

  @override
  Widget build(BuildContext context) {
    final m = Provider.of<CursorModel>(context);
    final c = Provider.of<CanvasModel>(context);
    final ffiModel = Provider.of<FfiModel>(context);
    final s = c.scale;
    double hotx = m.hotx;
    double hoty = m.hoty;
    var image = m.image;
    if (image == null) {
      if (preDefaultCursor.image != null) {
        image = preDefaultCursor.image;
        hotx =


 martialartist

import (
	"fmt"

	"github.com/genshinsim/gcsim/pkg/core"
	"github.com/genshinsim/gcsim/pkg/core/attacks"
	"github.com/genshinsim/gcsim/pkg/core/attributes"
	"github.com/genshinsim/gcsim/pkg/core/event"
	"github.com/genshinsim/gcsim/pkg/core/info"
	"github.com/genshinsim/gcsim/pkg/core/keys"
	"github.com/genshinsim/gcsim/pkg/core/player/character"
	"github.com/genshinsim/gcsim/pkg/modifier"
)

func init() {
	core.RegisterSetFunc(keys.MartialArtist, NewSet)
}

type Set struct {
	Index int
	Count int
}

func (s *Set) SetIndex(idx int) { s.Index = idx }
func (s *Set) GetCount() int    { return s.Count }
func (s *Set) Init() error      { return nil }

func NewSet(c *core.Core, char *character.CharWrapper, count int, param map[string]int) (info.Set, error) {
	s := Set{Count: count}

	// 2 Piece: Increases Normal Attack and Charged Attack DMG by 15%.
	if count >= 2 {
		m := make([]float64, attributes.EndStatType)
		m[attributes.DmgP] = 0.15
		char.AddAttackMod(character.AttackMod{
			Base: modifier.NewBase("martialartist-2pc", -1),
			Amount: func(atk *info.AttackEvent, t info.Target) ([]float64, bool) {
				if atk.Info.AttackTag != attacks.AttackTagNormal && atk.Info.AttackTag != attacks.AttackTagExtra {
					return nil, false
				}
				return m, true
			},
		})
	}
	// 4 Piece: After using Elemental Skill, increases Normal Attack and Charged Attack DMG by 25% for 8s.
	if count >= 4 {
		m := make([]float64, attributes.EndStatType)
		m[attributes.DmgP] = 0.25
		c.Events.Subscribe(event.OnSkill, func(args ...any) bool {
			// don't proc if someone else used a skill
			if c.Player.Active() != char.Index() {
				return false
			}
			// add buff
			char.AddAttackMod(character.AttackMod{
				Base: modifier.NewBaseWithHitlag("martialartist-4pc", 480), // 8s
				Amount: func(atk *info.AttackEvent, t info.Target) ([]float64, bool) {
					if atk.Info.AttackTag != attacks.AttackTagNormal && atk.Info.AttackTag != attacks.AttackTagExtra {
						return nil, false
					}
					return m, true
				},
			})
			return false
		}, fmt.Sprintf("martialartist-4pc-%v", char.Base.Key.String()))
	}

	return &s, nil
}
package huskofopulentdreams

import (
	"fmt"

	"github.com/genshinsim/gcsim/pkg/core"
	"github.com/genshinsim/gcsim/pkg/core/attributes"
	"github.com/genshinsim/gcsim/pkg/core/event"
	"github.com/genshinsim/gcsim/pkg/core/glog"
	"github.com/genshinsim/gcsim/pkg/core/info"
	"github.com/genshinsim/gcsim/pkg/core/keys"
	"github.com/genshinsim/gcsim/pkg/core/player/character"
	"github.com/genshinsim/gcsim/pkg/modifier"
)

func init() {
	core.RegisterSetFunc(keys.HuskOfOpulentDreams, NewSet)
}

type Set struct {
	stacks int
	// Required to chec


"""Uzupełnienie braków Zad 8 - 11 Lab2"""
# # Zadanie 8: Wyświetlanie wartości funkcji y = 2x^2 - 5x - 8 dla x ∈ [-4, 4] z krokiem 0.5
# def calculate_function():
#     x = -4
#     while x <= 4:
#         y = 2 * (x ** 2) - 5 * x - 8
#         print(f"x = {x:.1f}, y = {y:.2f}")
#         x += 0.5
#
# # Test
# calculate_function()

# # Zadanie 9: Pętla nieskończona z warunkiem zakończenia przy liczbie ujemnej
# def infinite_loop():
#     while True:
#         number = int(input("Podaj liczbę całkowitą (liczba ujemna zakończy pętlę): "))
#         if number < 0:
#             print("Podano liczbę ujemną. Zakończenie programu.")
#             break
#         print(f"Podano liczbę: {number}")
#
# # Test
# infinite_loop()

# # Zadanie 10: Wypisywanie liczb w przedziale od mniejszej do większej
# def print_numbers_in_range():
#     a = int(input("Podaj pierwszą liczbę: "))
#     b = int(input("Podaj drugą liczbę: "))
#
#     start = min(a, b)
#     end = max(a, b)
#
#     for i in range(start, end + 1):
#         print(i)
#
# # Test
# print_numbers_in_range()
#
# # Zadanie 11: Wypisywanie tylko liczb parzystych w przedziale, pomijanie nieparzystych
# def print_even_numbers_in_range():
#     a = int(input("Podaj pierwszą liczbę: "))
#     b = int(input("Podaj drugą liczbę: "))
#
#     start = min(a, b)
#     end = max(a, b)
#
#     for i in range(start, end + 1):
#         if i % 2 != 0:
#             continue
#         print(i)
#
# # Test
# print_even_numbers_in_range()


sr = IOIN(); return r.pdn_uart;	}
bool TMC2208Stepper::step()			{ TMC2208_n::IOIN_t r{0}; r.sr = IOIN(); return r.step;		}
bool TMC2208Stepper::sel_a()		{ TMC2208_n::IOIN_t r{0}; r.sr = IOIN(); return r.sel_a;	}
bool TMC2208Stepper::dir()			{ TMC2208_n::IOIN_t r{0}; r.sr = IOIN(); return r.dir;		}
uint8_t TMC2208Stepper::version() 	{ TMC2208_n::IOIN_t r{0}; r.sr = IOIN(); return r.version;	}

uint32_t TMC2224Stepper::IOIN() {
	return read(TMC2224_n::IOIN_t::address);
}
bool TMC2224Stepper::enn()			{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.enn;		}
bool TMC2224Stepper::ms1()			{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.ms1;		}
bool TMC2224Stepper::ms2()			{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.ms2;		}
bool TMC2224Stepper::pdn_uart()		{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.pdn_uart;	}
bool TMC2224Stepper::spread()		{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.spread;	}
bool TMC2224Stepper::step()			{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.step;		}
bool TMC2224Stepper::sel_a()		{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.sel_a;	}
bool TMC2224Stepper::dir()			{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.dir;		}
uint8_t TMC2224Stepper::version() 	{ TMC2224_n::IOIN_t r{0}; r.sr = IOIN(); return r.version;	}

uint16_t TMC2208Stepper::FACTORY_CONF() {
	return read(FACTORY_CONF_register.address);
}
void TMC2208Stepper::FACTORY_CONF(uint16_t input) {
	FACTORY_CONF_register.sr = input;
	write(FACTORY_CONF_register.address, FACTORY_CONF_register.sr);
}
void TMC2208Stepper::fclktrim(uint8_t B){ FACTORY_CONF_register.fclktrim = B; write(FACTORY_CONF_register.address, FACTORY_CONF_register.sr); }
void TMC2208Stepper::ottrim(uint8_t B)	{ FACTORY_CONF_register.ottrim = B; write(FACTORY_CONF_register.address, FACTORY_CONF_register.sr); }
uint8_t TMC2208Stepper::fclktrim()		{ FACTORY_CONF_t r{0}; r.sr = FACTORY_CONF(); return r.fclktrim; }
uint8_t TMC2208Stepper::ottrim()		{ FACTORY_CONF_t r{0}; r.sr = FACTORY_CONF(); return r.ottrim; }

void TMC2208Stepper::VACTUAL(uint32_t input) {
	VACTUAL_register.sr = input;
	write(VACTUAL_register.address, VACTUAL_register.sr);
}
uint32_t TMC2208Stepper::VACTUAL() {
	return VACTUAL_register.sr;
}

uint32_t TMC2208Stepper::PWM_SCALE() {
	return read(TMC2208_n::PWM_SCALE_t::address);
}
uint8_t TMC2208Stepper::pwm_scale_sum() {
	TMC2208_n::PWM_SCALE_t r{0};
	r.sr = PWM_SCALE();
	return r.pwm_scale_sum;
}

int16_t TMC2208Stepper::pwm_scale_a


       src: url(/_astro/inter-cyrillic-ext-wght-normal.B2xhLi22.woff2) format("woff2-variations");
                unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-cyrillic-wght-normal.CMZtQduZ.woff2) format("woff2-variations");
                unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-greek-ext-wght-normal.CGAr0uHJ.woff2) format("woff2-variations");
                unicode-range: U+1F00-1FFF
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-greek-wght-normal.CaVNZxsx.woff2) format("woff2-variations");
                unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");
                unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-latin-ext-wght-normal.CFHvXkgd.woff2) format("woff2-variations");
                unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF
            }

            @font-face {
                font-family: Inter Variable;
                font-style: normal;
                font-display: swap;
                font-weight: 100 900;
                src: url(/_astro/inter-latin-wght-normal.C2S99t-D.woff2) format("woff2-variations");
                unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
            }
        </style>
        <link rel="stylesheet" href="/_astro/globals.DGmvWQXX.css">
        <style>
            .sun[data-astro-cid-oemx5le4] {
                fill: #000
            }

            .moon[data-astro-cid-oemx5le4],.dark .sun[data-astro-cid-oemx5le4] {
                fill: transparent
            }

            .dark .moon[data-astro-cid-o


# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.

from aliyunsdkcore.request import RpcRequest
from aliyunsdkdyvmsapi.endpoint import endpoint_data

class CreateSipAccountRequest(RpcRequest):

	def __init__(self):
		RpcRequest.__init__(self, 'Dyvmsapi', '2017-05-25', 'CreateSipAccount','dyvms')
		self.set_method('POST')
		if hasattr(self, "endpoint_map"):
			setattr(self, "endpoint_map", endpoint_data.getEndpointMap())
		if hasattr(self, "endpoint_regional"):
			setattr(self, "endpoint_regional", endpoint_data.getEndpointRegional())

	def get_ResourceOwnerId(self):
		return self.get_query_params().get('ResourceOwnerId')

	def set_ResourceOwnerId(self,ResourceOwnerId):
		self.add_query_param('ResourceOwnerId',ResourceOwnerId)

	def get_BusinessKey(self):
		return self.get_query_params().get('BusinessKey')

	def set_BusinessKey(self,BusinessKey):
		self.add_query_param('BusinessKey',BusinessKey)

	def get_PartnerId(self):
		return self.get_query_params().get('PartnerId')

	def set_PartnerId(self,PartnerId):
		self.add_query_param('PartnerId',PartnerId)

	def get_ResourceOwnerAccount(self):
		return self.get_query_params().get('ResourceOwnerAccount')

	def set_ResourceOwnerAccount(self,ResourceOwnerAccount):
		self.add_query_param('ResourceOwnerAccount',ResourceOwnerAccount)

	def get_OwnerId(self):
		return self.get_query_params().get('OwnerId')

	def set_OwnerId(self,OwnerId):
		self.add_query_param('OwnerId',OwnerId)


)
	}
	if objectRaw["AccessPointName"] != nil {
		d.Set("access_point_name", objectRaw["AccessPointName"])
	}
	if objectRaw["Bucket"] != nil {
		d.Set("bucket", objectRaw["Bucket"])
	}

	publicAccessBlockConfigurationMaps := make([]map[string]interface{}, 0)
	publicAccessBlockConfigurationMap := make(map[string]interface{})
	publicAccessBlockConfiguration1Raw := make(map[string]interface{})
	if objectRaw["PublicAccessBlockConfiguration"] != nil {
		publicAccessBlockConfiguration1Raw = objectRaw["PublicAccessBlockConfiguration"].(map[string]interface{})
	}
	if len(publicAccessBlockConfiguration1Raw) > 0 {
		publicAccessBlockConfigurationMap["block_public_access"] = publicAccessBlockConfiguration1Raw["BlockPublicAccess"]

		publicAccessBlockConfigurationMaps = append(publicAccessBlockConfigurationMaps, publicAccessBlockConfigurationMap)
	}
	if objectRaw["PublicAccessBlockConfiguration"] != nil {
		if err := d.Set("public_access_block_configuration", publicAccessBlockConfigurationMaps); err != nil {
			return err
		}
	}
	vpcConfigurationMaps := make([]map[string]interface{}, 0)
	vpcConfigurationMap := make(map[string]interface{})
	vpcConfiguration1Raw := make(map[string]interface{})
	if objectRaw["VpcConfiguration"] != nil {
		vpcConfiguration1Raw = objectRaw["VpcConfiguration"].(map[string]interface{})
	}
	if len(vpcConfiguration1Raw) > 0 {
		vpcConfigurationMap["vpc_id"] = vpcConfiguration1Raw["VpcId"]

		vpcConfigurationMaps = append(vpcConfigurationMaps, vpcConfigurationMap)
	}
	if objectRaw["VpcConfiguration"] != nil {
		if err := d.Set("vpc_configuration", vpcConfigurationMaps); err != nil {
			return err
		}
	}

	return nil
}

func resourceAliCloudOssAccessPointUpdate(d *schema.ResourceData, meta interface{}) error {
	client := meta.(*connectivity.AliyunClient)
	var request map[string]interface{}
	var response map[string]interface{}
	var query map[string]*string
	var body map[string]interface{}
	update := false

	parts := strings.Split(d.Id(), ":")
	action := fmt.Sprintf("/?publicAccessBlock")
	var err error
	request = make(map[string]interface{})
	query = make(map[string]*string)
	body = make(map[string]interface{})
	hostMap := make(map[string]*string)
	hostMap["bucket"] = StringPointer(parts[0])
	query["x-oss-access-point-name"] = StringPointer(parts[1])

	if d.HasChange("public_access_block_configuration") {
		update = true
	}
	objectDataLocalMap := make(map[string]interface{})

	if v := d.Get("public_access_block_configuration"); v != nil {
		blockPublicAccess1, _ := jsonpath.Get("$[0].block_public_access", v)
		if blockPublicAccess1 != nil && (d.HasChange("public_access_block_configuration.0.block_public_access") || blockPublicAccess1 != "") {
			objectDataLocalMap["BlockPublicAccess"] = blockPublicAccess1
		}

		request["PublicAccessBlockConfiguration"] = objectDataLocalMap
	}

	body = request
	if update {
		wait := incrementalWait(3*time.Second, 5*time.Second)
		err = resource.Retry(d.Timeout(schema.TimeoutUpdate), func() *resource.RetryError {
			response, err = client.Do("Oss", xmlParam("PUT", "2019-05-17", "PutAccessPointPublicAccessBlock", action), query, body, nil, hostMap, false)
			if


VolumeClaim{Status: v1.PersistentVolumeClaimStatus{Phase: v1.ClaimPending}}
	heathyUnkown := v1.PersistentVolumeClaim{Status: v1.PersistentVolumeClaimStatus{}}
	testCases := map[string]struct {
		input v1.PersistentVolumeClaim
		res   types.HealthStatus
	}{
		"health": {
			input: heathyPVC,
			res:   types.HealthStatus{Status: types.HealthStatusHealthy},
		},
		"progressing": {
			input: progressingPVC,
			res:   types.HealthStatus{Status: types.HealthStatusProgressing},
		},
		"unHealthy": {
			input: unHeathyPVC,
			res:   types.HealthStatus{Status: types.HealthStatusUnHealthy},
		},
		"unknown": {
			input: heathyUnkown,
			res:   types.HealthStatus{Status: types.HealthStatusUnKnown},
		},
	}
	for _, s := range testCases {
		pvc := s.input.DeepCopy()
		u, err := runtime.DefaultUnstructuredConverter.ToUnstructured(&pvc)
		assert.NoError(t, err)
		res, err := checkPVCHealthStatus(unstructured.Unstructured{Object: u})
		assert.NoError(t, err)
		assert.NotNil(t, res)
		assert.Equal(t, s.res, *res)
	}
}

func TestGetReplicaSetCondition(t *testing.T) {
	rs := v12.ReplicaSet{Status: v12.ReplicaSetStatus{
		Conditions: []v12.ReplicaSetCondition{{
			Type: v12.ReplicaSetReplicaFailure,
		}},
	}}
	c := getAppsv1ReplicaSetCondition(rs.Status, v12.ReplicaSetReplicaFailure)
	assert.NotNil(t, c)
}

func TestReplicaSetStatus(t *testing.T) {
	unhealthyReplicaSet := v12.ReplicaSet{
		ObjectMeta: metav1.ObjectMeta{
			Generation: 2,
		},
		Status: v12.ReplicaSetStatus{ObservedGeneration: 2,
			Conditions: []v12.ReplicaSetCondition{{
				Type:   v12.ReplicaSetReplicaFailure,
				Status: v1.ConditionTrue,
			}}},
	}
	progressingPodReplicaSet := v12.ReplicaSet{
		ObjectMeta: metav1.ObjectMeta{
			Generation: 2,
		},
		Spec: v12.ReplicaSetSpec{Replicas: ptr.To(int32(3))},
		Status: v12.ReplicaSetStatus{
			ObservedGeneration: 2,
			ReadyReplicas:      2,
			AvailableReplicas:  2,
		},
	}
	progressingRollingReplicaSet := v12.ReplicaSet{
		ObjectMeta: metav1.ObjectMeta{
			Generation: 2,
		},
		Spec: v12.ReplicaSetSpec{Replicas: ptr.To(int32(3))},
		Status: v12.ReplicaSetStatus{
			ObservedGeneration: 1,
		},
	}
	testCases := map[string]struct {
		input v12.ReplicaSet
		res   types.HealthStatus
	}{
		"unHealth": {
			input: unhealthyReplicaSet,
			res:   types.HealthStatus{Status: types.HealthStatusUnHealthy},
		},
		"progressing": {
			input: progressingPodReplicaSet,
			res:   types.HealthStatus{Status: types.HealthStatusProgressing, Message: "Waiting for rollout to finish: 2 out of 3 new replicas are available..."},
		},
		"rolling": {
			input: progressingRollingReplicaSet,
			res:   types.HealthStatus{Status: types.HealthStatusProgressing, Message: "Waiting for rollout to finish: observed replica set generation less then desired generation"},
		},
	}
	for


var pattern = null;
        var patterns = urlpatterns[name];

        // If there is only one pattern and the user
        // didn't specify an app, return the first one
        if (patterns.length === 1 && !app) {
            pattern = patterns[0];
        }
        else {
            for(var i = 0; i < patterns.length; i++) {
                if (patterns[i].app === app) {
                    pattern = patterns[i];
                }
            }
        }

        if (!pattern) {
            throw new Error("No URL path with name '" + name + "' in app '" + app + "' exists.");
        }

        var path = "/" + mount + pattern.pattern;
        args = _.extend(_.clone(pattern.kwargs), args);
        _.each(args, function(value, key) {
            if (!path.match("<" + key + ">")) {
                throw new Error("Key '" + key + "' does not exist in path: '" + path + "'");
            }

            path = path.replace("<" + key + ">", value);
        });

        var re = new RegExp("<[a-zA-Z0-9-_]{1,}>", "g");
        var missingArgs = path.match(re);
        if (missingArgs) {
            throw("Missing arguments (" + missingArgs.join(", ") + ") for path '" + path + "'");
        }

        return path;
    };

    return {
        reverse: reverse
    };
});
{% if USE_BUILT_FILES %}

{% else %}

{% endif %}
{% load i18n %}

    {% for field in action_form %}{% if field.label %}{{ field.label }} {% endif %}{{ field }}{% if field.label %}{% endif %}{% endfor %}
    <button type="submit" class="button" title="{% trans "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">{% trans "Go" %}</button>
    {% if actions_selection_counter %}

        {{ selection_note }}
        {% if cl.result_count != cl.result_list|length %}
        {{ selection_note_all }}

            {% blocktrans with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktrans %}

        {% trans "Clear selection" %}
        {% endif %}
    {% endif %}
</


_current_dir("./src")?;
/// embed_plist::embed_info_plist!("Info.plist");
///
/// let embedded_plist = embed_plist::get_info_plist();
/// let read_plist = std::fs::read("Info.plist")?;
///
/// assert_eq!(embedded_plist, read_plist.as_slice());
/// # Ok(())
/// # }
/// ```
///
/// If `embed_info_plist!` has not been called, this function creates a
/// compile-time error by failing to reference the symbol defined by that macro:
///
/// ```compile_fail
/// # #[cfg(pass_reuse_doctest)]
/// # compile_error!("hack to force a doctest compile error pre 1.43");
/// let embedded_plist = embed_plist::get_info_plist();
/// ```
///
/// # Safety
///
/// This function relies on `_EMBED_INFO_PLIST` being defined within the
/// `__TEXT,__info_plist` section. You **should not** define this symbol outside
/// of using the macros provided by this library.
///
/// [`Info.plist`]: https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html
#[inline]
pub fn get_info_plist() -> &'static [u8] {
    extern "C" {
        // Using this symbol instead of section start to force a linker error if
        // `embed_info_plist!` has not been called.
        #[link_name = "_EMBED_INFO_PLIST"]
        static START: [u8; 0];

        #[link_name = "\x01section$end$__TEXT$__info_plist"]
        static END: [u8; 0];
    }
    unsafe {
        let start = START.as_ptr();
        let end = END.as_ptr();
        let len = end as usize - start as usize;
        core::slice::from_raw_parts(start, len)
    }
}

/// Returns the contents of the embedded [`launchd.plist`] file.
///
/// # Examples
///
/// We can verify that the result is correct by checking it against the file at
/// runtime:
///
/// ```rust
/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
/// # std::env::set_current_dir("./src")?;
/// embed_plist::embed_launchd_plist!("launchd.plist");
///
/// let embedded_plist = embed_plist::get_launchd_plist();
/// let read_plist = std::fs::read("launchd.plist")?;
///
/// assert_eq!(embedded_plist, read_plist.as_slice());
/// # Ok(())
/// # }
/// ```
///
/// If `embed_launchd_plist!` has not been called, this function creates a
/// compile-time error by failing to reference the symbol defined by that macro:
///
/// ```compile_fail
/// # #[cfg(pass_reuse_doctest)]
/// # compile_error!("hack to force a doctest compile error pre 1.43");
/// let embedded_plist = embed_plist::get_launchd_plist();
/// ```
///
/// # Safety
///
/// This function relies on `_EMBED_LAUNCHD_PLIST` being defined within the
/// `__TEXT,__launchd_plist` section. You **should not** define this symbol
/// outside of using the macros provided by this library.
///
/// [`embed_launchd_plist!`]: macro.embed_launchd_plist.html
/// [`launchd.plist`]: https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html#//apple_ref/doc/uid/TP40001762-1


le cx,
    required double cy,
    required double r,
    required double startTheta,
    required double endTheta,
    required double px,
    required double py,
    bool testArea = false,
    double epsilon = 5,
  }) {
    if (testArea) {
      return isInside(cx, cy, r, startTheta, endTheta, px, py);
    }
    return distanceTo(cx, cy, r, startTheta, endTheta, px, py) < epsilon;
  }
}
import '../../components/marker/axis_marker_theme.dart';
import '../../components/marker/overlay_marker_theme.dart';
import '../../style/paint_style.dart';
import '../../components/graph/graph_theme.dart';

/// Theme for OHLC graph
class GGraphOhlcTheme extends GGraphTheme {
  final double barWidthRatio;

  final PaintStyle barStylePlus;
  final PaintStyle barStyleMinus;

  const GGraphOhlcTheme({
    required this.barStylePlus,
    required this.barStyleMinus,
    this.barWidthRatio = 0.8,
    super.axisMarkerTheme,
    super.overlayMarkerTheme,
    super.highlightMarkerTheme,
  }) : assert(barWidthRatio > 0 && barWidthRatio <= 1);

  GGraphOhlcTheme copyWith({
    PaintStyle? barStylePlus,
    PaintStyle? barStyleMinus,
    double? barWidthRatio,
    GAxisMarkerTheme? axisMarkerTheme,
    GOverlayMarkerTheme? overlayMarkerTheme,
    GGraphHighlightMarkerTheme? highlightMarkerTheme,
  }) {
    return GGraphOhlcTheme(
      barStylePlus: barStylePlus ?? this.barStylePlus,
      barStyleMinus: barStyleMinus ?? this.barStyleMinus,
      barWidthRatio: barWidthRatio ?? this.barWidthRatio,
      axisMarkerTheme: axisMarkerTheme ?? this.axisMarkerTheme,
      overlayMarkerTheme: overlayMarkerTheme ?? this.overlayMarkerTheme,
      highlightMarkerTheme: highlightMarkerTheme ?? this.highlightMarkerTheme,
    );
  }
}
import 'dart:math';
import 'dart:typed_data';
import 'dart:ui';

import '../../../financial_chart.dart';

class GGraphBarRender extends GGraphRender<GGraphBar, GGraphBarTheme> {
  @override
  void doRenderGraph({
    required Canvas canvas,
    required GChart chart,
    required GPanel panel,
    required GGraphBar graph,
    required Rect area,
    required GGraphBarTheme theme,
    required GPointViewPort pointViewPort,
    required GValueViewPort valueViewPort,
  }) {
    final dataSource = chart.dataSource;
    final barWidth = pointViewPort.pointSize(area.width) * theme.barWidthRatio;
    final baseValue = min(
      max(
        graph.baseValue ?? valueViewPort.startValue,
        valueViewPort.startValue,
      ),
      valueViewPort.endValue,
    );
    double barBottom = valueViewPort.valueToPosition(area, baseValue);
    _hitTestRectangles.clear();
    final List<Vector2> highlightMarks = <Vector2>[];
    double highlightInterval = theme.highlightMarkerTheme?.interval ?? 1000.0;
    int highlightIntervalPoints =
        (highlightInterval / pointViewPort.pointSize(area.width)).round();
    List<Rect> graphValuesAbove = [];
    List<Rect> graphValuesBelow = [];
    for (
      int point = pointViewPort.startPoint.floor();
      point <= pointViewPort.endPoint.ceil();
      point++
    ) {
      double? value = dataSource.getSeriesValue(
        point: point,
        key: graph.valueKey,
      );
      if (value == null) {
        continue;
      }
      double x = pointViewPort.pointToPosition(area, point.toDouble());
      double barTop = value


ize = true;
            listLabel.TabIndex = 0;
            listLabel.Text = "&Contacts:";
            this.Controls.Add(listLabel);

            // Create an instance of the custom control.
            customList = new CustomListControl();
            customList.Name = "customList";

            // Add it to the form's controls. Among other things, this makes it possible for
            // UIAutomation to discover it, as it will become a child of the application window.
            this.Controls.Add(customList);

            // Set some properties.
            customList.Location = new System.Drawing.Point(20, 30);
            // Text becomes the Name property for the custom control.
            customList.Text = listLabel.Text;
            customList.TabIndex = 3;

            // Add list items.
            customList.Add("Prakash",CustomControls.Availability.Online);
            customList.Add("James", CustomControls.Availability.Online);
            customList.Add("Lisa", CustomControls.Availability.Offline);
            customList.Add("Kim", CustomControls.Availability.Online);
            customList.Add("Bailey", CustomControls.Availability.Offline);
         }

        /// <summary>
        /// Handles Add button clicks.
        /// </summary>
        /// <param name="sender">Object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (this.txtItem.Text.Length != 0)
            {
                if (this.radioOn.Checked)
                {
                    this.customList.Add(this.txtItem.Text, Availability.Online);
                }
                else
                {
                    this.customList.Add(this.txtItem.Text, Availability.Offline);
                }
                this.txtItem.Clear();
            }
        }

       /// <summary>
       /// Handles Remove button clicks.
       /// </summary>
       /// <param name="sender">Object that raised the event.</param>
       /// <param name="e">Event arguments.</param>
        private void btnRemove_Click(object sender, EventArgs e)
        {
            bool success = customList.Remove(this.customList.SelectedIndex);
        }

        /// <summary>
        /// Handles Exit button clicks.
        /// </summary>
        /// <param name="sender">Object that raised the event.</param>
        /// <param name="e">Event arguments.</param>
        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}


m9

// CHECK: vcmpeqps 64(%rdx,%rax,4), %ymm9, %ymm9
// CHECK: encoding: [0xc5,0x34,0xc2,0x4c,0x82,0x40,0x00]
vcmpeqps 64(%rdx,%rax,4), %ymm9, %ymm9

// CHECK: vcmpeqps 64(%rdx,%rax), %xmm15, %xmm15
// CHECK: encoding: [0xc5,0x00,0xc2,0x7c,0x02,0x40,0x00]
vcmpeqps 64(%rdx,%rax), %xmm15, %xmm15

// CHECK: vcmpeqps 64(%rdx,%rax), %xmm6, %xmm6
// CHECK: encoding: [0xc5,0xc8,0xc2,0x74,0x02,0x40,0x00]
vcmpeqps 64(%rdx,%rax), %xmm6, %xmm6

// CHECK: vcmpeqps 64(%rdx,%rax), %ymm7, %ymm7
// CHECK: encoding: [0xc5,0xc4,0xc2,0x7c,0x02,0x40,0x00]
vcmpeqps 64(%rdx,%rax), %ymm7, %ymm7

// CHECK: vcmpeqps 64(%rdx,%rax), %ymm9, %ymm9
// CHECK: encoding: [0xc5,0x34,0xc2,0x4c,0x02,0x40,0x00]
vcmpeqps 64(%rdx,%rax), %ymm9, %ymm9

// CHECK: vcmpeqps 64(%rdx), %xmm15, %xmm15
// CHECK: encoding: [0xc5,0x00,0xc2,0x7a,0x40,0x00]
vcmpeqps 64(%rdx), %xmm15, %xmm15

// CHECK: vcmpeqps 64(%rdx), %xmm6, %xmm6
// CHECK: encoding: [0xc5,0xc8,0xc2,0x72,0x40,0x00]
vcmpeqps 64(%rdx), %xmm6, %xmm6

// CHECK: vcmpeqps 64(%rdx), %ymm7, %ymm7
// CHECK: encoding: [0xc5,0xc4,0xc2,0x7a,0x40,0x00]
vcmpeqps 64(%rdx), %ymm7, %ymm7

// CHECK: vcmpeqps 64(%rdx), %ymm9, %ymm9
// CHECK: encoding: [0xc5,0x34,0xc2,0x4a,0x40,0x00]
vcmpeqps 64(%rdx), %ymm9, %ymm9

// CHECK: vcmpeqps (%rdx), %xmm15, %xmm15
// CHECK: encoding: [0xc5,0x00,0xc2,0x3a,0x00]
vcmpeqps (%rdx), %xmm15, %xmm15

// CHECK: vcmpeqps (%rdx), %xmm6, %xmm6
// CHECK: encoding: [0xc5,0xc8,0xc2,0x32,0x00]
vcmpeqps (%rdx), %xmm6, %xmm6

// CHECK: vcmpeqps (%rdx), %ymm7, %ymm7
// CHECK: encoding: [0xc5,0xc4,0xc2,0x3a,0x00]
vcmpeqps (%rdx), %ymm7, %ymm7

// CHECK: vcmpeqps (%rdx), %ymm9, %ymm9
// CHECK: encoding: [0xc5,0x34,0xc2,0x0a,0x00]
vcmpeqps (%rdx), %


from unittest.mock import Mock

import pytest

from tempor.exc import UnsupportedSetupException
from tempor.methods.time_to_event.helper_embedding import DDHEmbedding, DynamicDeepHitModel

def test_merge_data_no_static(pbc_data_full):
    emb = DDHEmbedding(emb_model=DynamicDeepHitModel())
    data = pbc_data_full
    (_, temporal, observation_times, *_) = emb._convert_data(data)  # pylint: disable=protected-access
    emb._merge_data(None, temporal, observation_times)  # pylint: disable=protected-access

def test_convert_data_no_static_no_targets(pbc_data_full):
    emb = DDHEmbedding(emb_model=DynamicDeepHitModel())
    data = pbc_data_full
    data._validate = Mock()  # pylint: disable=protected-access
    data.static = None
    data.predictive.targets = None
    (static, _, _, event_times, event_values) = emb._convert_data(data)  # pylint: disable=protected-access
    assert event_times is None
    assert event_values is None
    assert static.shape[1] == 0  # type: ignore

def test_validate_data(pbc_data_full):
    emb = DDHEmbedding(emb_model=DynamicDeepHitModel())
    data = pbc_data_full

    data._validate = Mock()  # pylint: disable=protected-access
    data.predictive.targets = Mock(return_value=100, num_features=100)

    with pytest.raises(UnsupportedSetupException):
        emb._validate_data(data)  # pylint: disable=protected-access


dex		: "ពាក្យនៅក្នុងឯកសារ (ផ្តាច់ពីគ្នាដោយក្បៀស)",
DlgDocMeDescr		: "សេចក្តីអត្ថាធិប្បាយអំពីឯកសារ",
DlgDocMeAuthor		: "អ្នកនិពន្ធ",
DlgDocMeCopy		: "រក្សាសិទ្ធិ៏",
DlgDocPreview		: "មើលសាកល្បង",

// Templates Dialog
Templates			: "ឯកសារគំរូ",
DlgTemplatesTitle	: "ឯកសារគំរូ របស់អត្ថន័យ",
DlgTemplatesSelMsg	: "សូមជ្រើសរើសឯកសារគំរូ ដើម្បីបើកនៅក្នុងកម្មវិធីតាក់តែងអត្ថបទ<br>(អត្ថបទនឹងបាត់បង់):",
DlgTemplatesLoading	: "កំពុងអានបញ្ជីឯកសារគំរូ ។ សូមរងចាំ...",
DlgTemplatesNoTpl	: "(ពុំមានឯកសារគំរូត្រូវបានកំណត់)",
DlgTemplatesReplace	: "Replace actual contents",	//MISSING

// About Dialog
DlgAboutAboutTab	: "អំពី",
DlgAboutBrowserInfoTab	: "ព៌តមានកម្មវិធីរុករក",
DlgAboutLicenseTab	: "License",	//MISSING
DlgAboutVersion		: "ជំនាន់",
DlgAboutInfo		: "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង",

// Div Dialog
DlgDivGeneralTab	: "General",	//MISSING
DlgDivAdvancedTab	: "Advanced",	//MISSING
DlgDivStyle		: "Style",	//MISSING
DlgDivInlineStyle	: "Inline Style",	//MISSING

ScaytTitle			: "SCAYT",	//MISSING
ScaytTitleOptions	: "Options",	//MISSING
ScaytTitleLangs		: "Languages",	//MISSING
ScaytTitleAbout		: "About"	//MISSING
};
/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2010


/*
 * This file contains miscellaneous low-level functions.
 *    Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
 *
 * Largely rewritten by Cort Dougan (cort@cs.nmt.edu)
 * and Paul Mackerras.
 *
 * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com)
 * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com)
 *
 * setjmp/longjmp code by Paul Mackerras.
 *
 * 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 of the License, or (at your option) any later version.
 */
#include <asm/ppc_asm.h>
#include <asm/unistd.h>
#include <asm/asm-compat.h>
#include <asm/asm-offsets.h>

	.text

/*
 * Returns (address we are running at) - (address we were linked at)
 * for use before the text and data are mapped to KERNELBASE.
 */

_GLOBAL(reloc_offset)
	mflr	r0
	bl	1f
1:	mflr	r3
	PPC_LL	r4,(2f-1b)(r3)
	subf	r3,r4,r3
	mtlr	r0
	blr

	.align	3
2:	PPC_LONG 1b

/*
 * add_reloc_offset(x) returns x + reloc_offset().
 */
_GLOBAL(add_reloc_offset)
	mflr	r0
	bl	1f
1:	mflr	r5
	PPC_LL	r4,(2f-1b)(r5)
	subf	r5,r4,r5
	add	r3,r3,r5
	mtlr	r0
	blr

	.align	3
2:	PPC_LONG 1b

_GLOBAL(kernel_execve)
	li	r0,__NR_execve
	sc
	bnslr
	neg	r3,r3
	blr

_GLOBAL(setjmp)
	mflr	r0
	PPC_STL	r0,0(r3)
	PPC_STL	r1,SZL(r3)
	PPC_STL	r2,2*SZL(r3)
	mfcr	r0
	PPC_STL	r0,3*SZL(r3)
	PPC_STL	r13,4*SZL(r3)
	PPC_STL	r14,5*SZL(r3)
	PPC_STL	r15,6*SZL(r3)
	PPC_STL	r16,7*SZL(r3)
	PPC_STL	r17,8*SZL(r3)
	PPC_STL	r18,9*SZL(r3)
	PPC_STL	r19,10*SZL(r3)
	PPC_STL	r20,11*SZL(r3)
	PPC_STL	r21,12*SZL(r3)
	PPC_STL	r22,13*S


{{- $pageurl := .Permalink }}
{{- $title := .Title }}

{{- $.Scratch.Set "tags" ""}}

{{- with .Params.Tags }}
{{- $hashtags := newScratch}}
{{- range . }}{{ $hashtags.Add "tags" (slice (replaceRE "(\\s)" "" . ))}}{{end}}
{{- $.Scratch.Set "tags" (delimit ($hashtags.Get "tags") ",") }}
{{- end -}}

{{- $custom := false }}
{{- $ShareButtons := (.Param "ShareButtons")}}
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}

    {{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}

            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
            </svg>

    {{- end }}
    {{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}

            <svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
                <path
                    d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.8


 { return x + 1; };
        assertTrue(4 == s_i_i.m(3));
        S_int_Integer s_i_I = (int x) -> { return x + 1; };
        assertTrue(4 == s_i_I.m(3));
        S_Integer_int s_I_i = (Integer x) -> { return x.intValue() + 1; };
        assertTrue(4 == s_I_i.m(3));
        S_Integer_Integer s_I_I = (Integer x) -> { return x.intValue() + 1; };
        assertTrue(4 == s_I_I.m(3));
    }

    void test2() {
        S_int s_i = ()-> { return 3; };
        assertTrue(3 == s_i.m());
        S_Integer s_I = ()-> { return 3; };
        assertTrue(3 == s_I.m());
        S_int_int s_i_i = (int x) -> { return x + 1; };
        assertTrue(4 == s_i_i.m(3));
        S_int_Integer s_i_I = (int x) -> { return x + 1; };
        assertTrue(4 == s_i_I.m(3));
        S_Integer_int s_I_i = (Integer x) -> { return x.intValue() + 1; };
        assertTrue(4 == s_I_i.m(3));
        S_Integer_Integer s_I_I = (Integer x) -> { return x.intValue() + 1; };
        assertTrue(4 == s_I_I.m(3));
    }

    public static void main(String[] args) {
        test1();
        new LambdaExpr02().test2();
        assertTrue(assertionCount == 24);
    }
}
/*
 * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code 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
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/*
 * @test
 * @bug 8005244
 * @summary Implement overload resolution as per latest spec EDR
 *          smoke test for combinator-like stuck analysis
 * @author  Maurizio Cimadamore
 * @compile TargetType51.java
 */

import java.util.Comparator;

class TargetType51 {

    interface SimpleMapper<T, U> {
       T map(U t);
    }

    interface SimpleList<X> {
        SimpleList<X> sort(Comparator<? super X> c);
    }

    static class Person {
        String getName() { return ""; }
    }

    <T, U extends Comparable<? super U>> Comparator<T> comparing(SimpleMapper<U, T> mapper) {  return null; }

    static class F<U extends Comparable<? super U>, T> {
        F(SimpleMapper<U, T> f) { }
    }

    void testAssignmentContext(SimpleList<Person> list, boolean cond) {
        SimpleList<Person> p1 = list.sort(comparing(Person::getName));
        SimpleList<Person> p2 = list.sort(comparing(x->x.getName()));
        SimpleList<Person> p3 = list.sort(cond ? comparing(Person::getName) : comparing(x->x.getName()));
        SimpleList<Person> p4 = list.sort((cond ? comparing(Person::getName) : comparing(x->x.getName())));
    }

    void testMethodContext(SimpleList<Person> list, boolean cond) {
        testMethodContext(list.sort(comparing(Person::getName)), true);


号，this.password.value => 当前用户的密码，直接用this.引用了。
    this.fire.auth.signInWithEmailAndPassword(this.uname.value, this.password.value)
    .then( data => {
      console.log('got some data', this.fire.auth.currentUser); //在console传出当前账号用户的信息.
      this.alert('Welcome to NetMusic ' + this.fire.auth.currentUser.email);   //套用当前文件的alert()function中的message,弹窗信息.
      this.navCtrl.setRoot( TabsPage ); // 定向导航到LoggedinPage,且不可返回。如想要返回: 改用navCtrl.push()
      // 设置当前导航堆栈的根目录.可以把LoggedinPage更改为播放器主界面.
      // setRoot(): 只是view之间的切换，不带有任何返回button之类的东西。 不能返回的
      // user is logged in
      let loader = this.loadingCtrl.create({
        content: "Please wait...",
        duration: 500
      });
      loader.present();
    })
    .catch( error => {
      console.log('got an error', error); // if登录信息不匹配，then 在这里报错，并弹出alert信息.error 信息自动生成。
      this.alert1(error.message); // email error: message: "The email address is badly formatted."
                                // password error: message: "The password is invalid or the user does not have a password"

    })
    // 登录成功后在console.log中显示 would sign in with + 登录的帐号和密码。
    console.log('Would sign in with ', this.uname.value, this.password.value);
    //console.log(this.uname.value, this.password.value);//Add console.log
    // if(this.uname.value == "admin" && this.password.value == "admin") {}
    // //Copy ionic document Components-Alerts-Basic Usage(警告弹窗)
    // let alert = this.alertCtrl.create({  //下面是弹窗内容
    //   title: '😄  Login Successful !',
    //   subTitle: 'Happy Day !',
    //   buttons: ['OK']
    // });
    // alert.present();
  }
  ionViewDidLoad() {
    console.log('ionViewDidLoad LoginPage');
  }

}
/**
 * D3Q: translation of Camera class of Chapter 10 learnOpenGL book from C -> typescript.
 * major differences: the glMatrix lib is used; only one constructor is translated.
 *
 * The Camera holds the View matrix but not the projection matrix. However, the Zoom, used
 * in the projection, is updated in ProcessMouseScroll. This Camera does no roll, only pitch
 * and yaw. We can make rotations about the Side (Z) and Up (X) axis.
 */

import { glMatrix, vec3, mat4, quat } from "../../../math/glmatrix/index.js";

// Defines several possible options for camera movement. Used as abstraction to stay away from window-system specific input methods
export enum CameraMovement {
    FORWARD,
    BACKWARD,
    LEFT,
    RIGHT
};

// Default camera values
const YAW = -90.0;
const PITCH = 0.0;
const SPEED = 0.00025;
const SENSITIVITY = 0.1;
const ZOOM = 60.0;
const ZOOMDIFFERENCE = 1;

// camera class that processes input and calculates the corresponding Euler Angles, Vectors and Matrices for use in OpenGL
export class Camera {

    // Camera Attributes
    Position: vec3;
    Front: vec3;
    Up: vec3;
    Right: vec3;
    WorldUp: vec3;
    // Euler Angles
    Yaw: number;
    Pitch: number;
    //Roll: number; no Roll...

    // Camera options
    MovementSpeed: number;
    MouseSensitivity: number;
    Zoom: number;

    // Constructor with vectors


);
  }
}

export function ind2xy(ind: number, columns: number) {
  let x = ind % columns;
  let y = (ind - x) / columns;
  return [x, y];
}

export function screenPos(ind: number, columns: number, tileWidth: number, tileHeight = tileWidth) {
  let [x, y] = ind2xy(ind, columns);
  return [x * tileWidth, y * tileHeight];
}

const ISPATH = 1;

export function createSprites(tileset: Tileset) {
  if(tileset.sprites)
    return tileset.sprites;

  let tileSize = tileset.tilesSize;

  let sprites: TileBits[] = [];
  for (let layer of tileset.connected) {
    let ispath = layer[3] & ISPATH ? true : false;
    let slices: HTMLCanvasElement[] = ispath ?
      cutImageUp(
        tileset.tilesheet,
        2,
        3,
        tileset.tilesSize,
        tileset.tilesSize,
        layer[1] * tileSize,
        layer[2] * tileSize
      )
      : cutImagetoSquares(
        tileset.tilesheet,
        layer[1] * tileSize,
        layer[2] * tileSize,
        tileSize / 2
      )
    sprites[layer[0]] = slices;
  }
  for (let tile of tileset.single) {
    let image = subImage(
      tileset.tilesheet,
      tile[1] * tileSize,
      tile[2] * tileSize,
      tileSize,
      tileSize
    );
    sprites[tile[0]] = [image];
  }

  tileset.sprites = sprites;
  return sprites;
}

/** Returns a canvas that is a fragment of the source canvas */
function subImage(
  image: CanvasImageSource,
  left: number,
  top: number,
  width: number,
  height: number
) {
  let { canvas, ctx } = createCanvasCtx(width, height);
  ctx.drawImage(image, left, top, width, height, 0, 0, width, height);
  return canvas;
}

/**
 *
 * @param grid - lists of sprite indices
 * @param directional - for directional tiles (such as RIVER for hex map) - list of cell it flows to
 * @param grid - list of board's ids for each cell
 */
export function drawBoard(
  ctx: CanvasRenderingContext2D,
  grid: number[][],
  directional: { [key: number]: number[] },
  columns: number,
  tileset: Tileset
) {
  let rows = grid.length / columns;

  let sprites = createSprites(tileset);

  let connected = [];
  for (let layer of tileset.connected)
    connected[layer[0]] = true;

  let idToGroup = sprites.map((_, i) => i);
  if (tileset.grouped)
    for (let grouped of tileset.grouped) {
      let group = grouped[0];
      for (let id of grouped)
        idToGroup[id] = group;
    }

  /**
   * Bitmap of connectable sprite ids
   * So, don't have their ids bigger than 32
   */

  let bits = new Uint32Array(grid.length);
  for (let i in grid) {
    let list = grid[i];
    let b = 0;
    for (let v of list) {
      if (connected[v]) b = b | (1 << idToGroup[v]);
    }
    bits[i] = b;
  }

  for (let ind = 0; ind < columns * rows; ind++) {
    if (grid[ind])
      for (let layer of grid[ind]) {
        if (connected[layer]) {
          drawTile(
            ctx,
            sprites[layer],
            ind,
            columns,
            (neighbor) => {
              if (!(bits[neighbor] & (1 << idToGroup[layer]))) return false;
              if (!(layer in directional)) return true;
              return (
                directional[layer][neighbor] == ind ||
                directional[layer][ind] == neighbor
              );
            }
          );
        } else {
          drawTile(c


 聊天机器人的质量？有哪些主流的评估指标？ |
| 图像分类 | 什么是图像分类？请举例说明其在实际中的应用。|
| 文本摘要 | 请简单介绍一下文本摘要的技术原理，并提供一些常见的文本摘要算法。|
| 数据清洗 | 请列举一些常见的数据清洗方法，如何避免清洗过程中引入新的偏差或误差？ |
| 预训练模型 | 什么是预训练模型？为什么预训练模型在当今的自然语言处理任务中备受关注？|
| 命名实体识别 | 什么是命名实体识别？请举例说明在金融领域中命名实体识别的应用。|
| 机器翻译 | 请简要介绍机器翻译的发展历程和技术原理。目前主流的机器翻译算法有哪些？ |
| 强化学习 | 什么是强化学习？请举例说明在游戏、交通等领域中强化学习的应用。|
| 知识图谱 | 什么是知识图谱？请举例说明知识图谱在智能客服、语义搜索等领域中的应用。|
|健康饮食|你能推荐一些低热量但高营养的食物吗？|
|旅游|请告诉我在泰国旅游时应该注意什么？|
|心理学|什么是情绪调节，有哪些有效的技巧可以帮助情绪调节？|
|电影推荐|有没有最近上映的好看的科幻电影？|
|社交媒体|如何优化Instagram主页，以增加粉丝数量和提高曝光率？|
|股票投资|你能为我介绍一下目前市值较大的公司，在股票投资方面具有较高的潜力吗？|
|教育|如何提高孩子的英语阅读能力？|
|编程|我想学习编程，请问哪种编程语言对初学者来说比较容易上手？|
|环保|如何通过减少碳足迹来保护环境？|
|音乐|可以给我推荐几个适合学习钢琴的网站或应用程序吗？|
| 分类 | 这个电影被归为哪种类型？ |
| 开放生成 | 描述一份自然风光的旅游手册 |
| 编辑 | 修改这篇文章中的语法错误 |
| 对比 | 比较两款智能手机的特点和优缺点 |
| 开放生成 | 写一篇关于气候变化的科普文章 |
| 分类 | 这首歌曲属于哪个音乐流


s, Func<string> configuraionKey, Action<DatabaseLoggerOptions> configure = default)
        where TDatabaseLoggingWriter : class, IDatabaseLoggingWriter
    {
        return services.AddLogging(builder => builder.AddDatabase<TDatabaseLoggingWriter>(configuraionKey, configure));
    }
}


x1 = x - this.chessSize / 2;
			y1 = y + this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 - this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 + this.chessSize / 4,y1);
			//右下角坐标，并向上向左画线
			x1 = x + this.chessSize / 2;
			y1 = y + this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 - this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 - this.chessSize / 4,y1);
			//System.out.println("("+this.mapPointerChess.get("x")+","+this.mapPointerChess.get("y")+")");
		}

		//画落子指示器
		if(this.mapPointerChess.get("show") == 1)
		{
			if(this.mapPointerChess.get("color") == ChessCache.Player.BLACK.getValue())
			{
				g2D.setColor(JBColor.BLACK);
			}
			else
			{
				g2D.setColor(JBColor.RED);
			}
			g2D.setStroke(new BasicStroke(3.5f));
			//先以交叉点为中心取到指示器周围的4个角坐标
			//中心点坐标
			int x = this.gridsLeftX + this.mapPointerChess.get("column") * this.gridSize;
			int y = this.gridsTopY + this.mapPointerChess.get("row") * this.gridSize;
			//左上角坐标，并向下向右画线
			int x1 = x - this.chessSize / 2;
			int y1 = y - this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 + this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 + this.chessSize / 4,y1);
			//右上角坐标，并向下向左画线
			x1 = x + this.chessSize / 2;
			y1 = y - this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 + this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 - this.chessSize / 4,y1);
			//左下角坐标，并向上向右画线
			x1 = x - this.chessSize / 2;
			y1 = y + this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 - this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 + this.chessSize / 4,y1);
			//右下角坐标，并向上向左画线
			x1 = x + this.chessSize / 2;
			y1 = y + this.chessSize / 2;
			g2D.drawLine(x1,y1,x1,y1 - this.chessSize / 4);
			g2D.drawLine(x1,y1,x1 - this.chessSize / 4,y1);
			//System.out.println("("+this.mapPointerChess.get("x")+","+this.mapPointerChess.get("y")+")");
		}

		// TODO 摸鱼简化版：画可移动线路图
		if(this.listMove.size() > 0) {
			g2D.setColor(JBColor.BLUE);
			new ArrayList<>(this.listMove).forEach(map -> {
				int row = map.get("row");
				int column = map.get("column");
				g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);    //消除画图锯齿
				g2D.setRenderingHint(RenderingHints.K


.sasl.SASLExternalMechanism

getName() -
Method in class org.jivesoftware.smack.sasl.SASLGSSAPIMechanism

getName() -
Method in class org.jivesoftware.smack.sasl.SASLMechanism

Returns the common name of the SASL mechanism.

getName() -
Method in class org.jivesoftware.smack.sasl.SASLPlainMechanism

getName() -
Method in class org.jivesoftware.smackx.bookmark.BookmarkedConference

Returns the display label representing the Conference room.

getName() -
Method in class org.jivesoftware.smackx.bookmark.BookmarkedURL

Returns the name representing the URL (eg.

getName() -
Method in class org.jivesoftware.smackx.commands.AdHocCommand

Returns the human readable name of the command.

getName() -
Method in class org.jivesoftware.smackx.muc.HostedRoom

Returns the name of the room.

getName() -
Method in class org.jivesoftware.smackx.packet.<A HREF="./org/jivesoftware/smackx/packet/AdHocCommandData.html" title="class in org.jivesoftware.smackx.pa


137878" : "品冠（彰化縣員林市新生路278號）",
      "143138" : "豐昌（彰化縣員林市永昌街86號1樓）",
      "160063" : "員勝（彰化縣員林市育英路131號）",
      "161907" : "員成（彰化縣員林市中山路二段216號）",
      "183240" : "員大（彰化縣員林市員大路一段374號）",
      "187150" : "真愛（彰化縣員林市大同路二段2號）",
      "190824" : "金東山（彰化縣員林市南東里山腳路四段1號3號）",
      "199452" : "新員民（彰化縣員林市三民街20號）",
      "909552" : "員家（彰化縣員林市中正路75號）",
      "954459" : "新百川（彰化縣員林市莒光路379號）",
      "959317" : "惠明（彰化縣員林市惠明街51號）",
      "967019" : "大員山（彰化縣員林市中山路一段300號）",
      "990835" : "新靜修（彰化縣員林市靜修路77號之4）",
      "991838" : "家和（彰化縣員林市大饒里員集路二段216號）"
   },
   "SEN147" : {
      "122278" : "社集（彰化縣社頭鄉員集路一段臨351號）",
      "179942" : "社腳（彰化縣社頭鄉湳雅村山腳路三段525號）",
      "187404" : "新社頭（彰化縣社頭鄉員集路二段279號）",
      "215127" : "易順（彰化縣社頭鄉員集路四段697號）",
      "940232" : "社員（彰化縣社頭鄉員集路三段16號）",
      "970691" : "金佳旺（彰化縣社頭鄉中山路一段516號）"
   },
   "SEN148" : {
      "122304" : "湳港（彰化縣永靖鄉港西村中山路一段842號）",
      "150941" : "永靖（彰化縣永靖鄉永坡路2號）",
      "181761" : "永冠（彰化縣永靖鄉永北村西門路142號1樓）",
      "971535" : "祿靖（彰化縣永靖鄉中山路二段435號437號）"
   },
   "SEN149" : {
      "126535" : "員埔（彰化縣埔心鄉員鹿路


class Solution:
    def sortList(self, head: ListNode) -> ListNode:
        def sortFunc(head: ListNode, tail: ListNode) -> ListNode:
            if not head:
                return head
            if head.next == tail:
                head.next = None
                return head
            slow = fast = head
            while fast != tail:
                slow = slow.next
                fast = fast.next
                if fast != tail:
                    fast = fast.next
            mid = slow
            return merge(sortFunc(head, mid), sortFunc(mid, tail))

        def merge(head1: ListNode, head2: ListNode) -> ListNode:
            dummyHead = ListNode(0)
            temp, temp1, temp2 = dummyHead, head1, head2
            while temp1 and temp2:
                if temp1.val <= temp2.val:
                    temp.next = temp1
                    temp1 = temp1.next
                else:
                    temp.next = temp2
                    temp2 = temp2.next
                temp = temp.next
            if temp1:
                temp.next = temp1
            elif temp2:
                temp.next = temp2
            return dummyHead.next

        return sortFunc(head, None)


s;

@SuppressWarnings("checkstyle:FileTabCharacter")
public class EmitMCInstExpanderCppFilePassTest extends AbstractLcbTest {
  @Test
  void testLowering() throws IOException, DuplicatedPassKeyException {
    var configuration = getConfiguration(false);
    var testSetup = runLcb(configuration, "sys/risc-v/rv64im.vadl",
        new PassKey(EmitMCInstExpanderCppFilePass.class.getName()));

    // When
    var passResult =
        (AbstractTemplateRenderingPass.Result) testSetup.passManager().getPassResults()
            .lastResultOf(EmitMCInstExpanderCppFilePass.class);

    // Then
    var resultFile = passResult.emittedFile().toFile();
    var trimmed = Files.asCharSource(resultFile, Charset.defaultCharset()).read().trim();
    var output = trimmed.lines();

    Assertions.assertLinesMatch("""
        #include "processornamevalueMCInstExpander.h"

        #include "MCTargetDesc/processornamevalueMCTargetDesc.h"
        #include "Utils/ImmediateUtils.h"
        #include "Utils/processornamevalueBaseInfo.h"

        #include "MCTargetDesc/processornamevalueMCExpr.h"
        #include "llvm/MC/MCInst.h"
        #include "llvm/MC/MCExpr.h"
        #include "llvm/MC/MCContext.h"
        #include "llvm/MC/MCSymbol.h"

        #define DEBUG_TYPE "processornamevalueMCInstExpander"

        using namespace llvm;

        processornamevalueMCInstExpander::processornamevalueMCInstExpander(class MCContext &Ctx)
            : Ctx(Ctx) {}

        bool processornamevalueMCInstExpander::needsExpansion(const MCInst &MCI) const
        {
            auto opcode = MCI.getOpcode();
            switch (opcode)
            {
            case processornamevalue::LGA_64:
            case processornamevalue::CALL:
            case processornamevalue::TAIL:
            case processornamevalue::RET:
            case processornamevalue::J:
            case processornamevalue::JR:
            case processornamevalue::NOP:
            case processornamevalue::MV:
            case processornamevalue::NOT:
            case processornamevalue::NEG:
            case processornamevalue::SNEZ:
            case processornamevalue::SLTZ:
            case processornamevalue::SGTZ:
            case processornamevalue::BEQZ:
            case processornamevalue::BNEZ:
            case processornamevalue::BLEZ:
            case processornamevalue::BGEZ:
            case processornamevalue::BLTZ:
            case processornamevalue::BGTZ:
            case processornamevalue::LA:
            case processornamevalue::LGA_32:
            case processornamevalue::LLA:
            case processornamevalue::LI:
            case processornamevalue::constMat0:
            case processornamevalue::constMat1:
            case processornamevalue::constMat2:
            case processornamevalue::registerAdjustment0:
            {
                return true;
            }
            default:
            {
                return false;
            }
            }
            return false; // unreachable
        }

        bool processornamevalueMCInstExpander::isExpandableForAssembly(const MCInst &MCI) const
        {
            auto opcode = MCI.getOpcode();
            switch (opcode)
            {
            case processornamevalue::constMat0


 extends {}, U extends {}>(target: T, source: U): T & U;
export function deepMixin(target: any, ...sources: any[]): any {
	return _mixin({
		deep: true,
		inherited: true,
		sources: sources,
		target: target
	});
}

/**
 * Creates a new object using the provided source's prototype as the prototype for the new object, and then
 * deep copies the provided source's values into the new target.
 *
 * @param source The object to duplicate
 * @return The new object
 */
export function duplicate<T extends {}>(source: T): T {
	const target = Object.create(Object.getPrototypeOf(source));

	return deepMixin(target, source);
}

/**
 * Determines whether two values are the same value.
 *
 * @param a First value to compare
 * @param b Second value to compare
 * @return true if the values are the same; false otherwise
 */
export function isIdentical(a: any, b: any): boolean {
	return (
		a === b ||
		/* both values are NaN */
		(a !== a && b !== b)
	);
}

/**
 * Returns a function that binds a method to the specified object at runtime. This is similar to
 * `Function.prototype.bind`, but instead of a function it takes the name of a method on an object.
 * As a result, the function returned by `lateBind` will always call the function currently assigned to
 * the specified property on the object as of the moment the function it returns is called.
 *
 * @param instance The context object
 * @param method The name of the method on the context object to bind to itself
 * @param suppliedArgs An optional array of values to prepend to the `instance[method]` arguments list
 * @return The bound function
 */
export function lateBind(instance: {}, method: string, ...suppliedArgs: any[]): (...args: any[]) => any {
	return suppliedArgs.length
		? function() {
				const args: any[] = arguments.length ? suppliedArgs.concat(slice.call(arguments)) : suppliedArgs;

				// TS7017
				return (<any>instance)[method].apply(instance, args);
		  }
		: function() {
				// TS7017
				return (<any>instance)[method].apply(instance, arguments);
		  };
}

/**
 * Copies the values of all enumerable (own or inherited) properties of one or more source objects to the
 * target object.
 *
 * @return The modified target object
 */
export function mixin<T extends {}, U extends {}, V extends {}, W extends {}, X extends {}, Y extends {}, Z extends {}>(
	target: T,
	source1: U,
	source2: V,
	source3: W,
	source4: X,
	source5: Y,
	source6: Z
): T & U & V & W & X & Y & Z;
export function mixin<T extends {}, U extends {}, V extends {}, W extends {}, X extends {}, Y extends {}>(
	target: T,
	source1: U,
	source2: V,
	source3: W,
	source4: X,
	source5: Y
): T & U & V & W & X & Y;
export function mixin<T extends {}, U extends {}, V extends {}, W extends {}, X extends {}>(
	target: T,
	source1: U,
	source2: V,
	source3: W,
	source4: X
): T & U & V & W & X;
export function mixin<T extends {}, U extends {}, V extends {}, W extends {}>(
	target: T,
	source1: U,
	source2: V,
	source3: W
): T & U & V & W;
export function mixin<T extends {}, U extends {}, V extends {}>(target: T, source1: U, source2: V): T & U & V;
export function mixin<T extends {}, U extends {}>(target: T, source: U): T & U;
export function mixin(target: any, ...sources: any[]): any {
	return _mixin({
		deep: false,
		inherited: true,
		sources: sources,
		target: target
	});
}

/**
 * Returns a function which invokes the given function with the given argumen


},
		effect_tactic_world = {
			110211,
			9110212
		}
	},
	[11023] = {
		name = "행운의 파닥파닥",
		desc_world = "참모냥으로 배치되어 있을 때, 해당 함대의 경항공모함 및 항공모함의 항공 수치를 상승시킨다. (중간 효과: 효과는 지휘 보조 스테이터스에 비례)",
		next_id = 0,
		exp = 0,
		prev_id = 11022,
		desc = "참모냥으로 배치되어 있을 때, 해당 함대의 경항공모함 및 항공모함의 항공 수치를 상승시킨다. (중간 효과 : 효과는 지휘 보조 스테이터스에 비례) ",
		id = 11023,
		icon = "1102",
		lv = 3,
		effect_tactic = {
			110211,
			110212,
			110213
		},
		effect_tactic_world = {
			110211,
			9110212,
			110213
		}
	},
	[12011] = {
		name = "항공모함 보급이다냥",
		desc_world = "참모냥으로 배치되어 있을 때, 해당 함대의 경항공모함 및 항공모함의 장전 수치를 상승시킨다. (작은 효과: 효과는 병참 보조 스테이터스에 비례)",
		next_id = 12012,
		exp = 1,
		prev_id = 0,
		desc = "참모냥으로 배치되어 있을 때, 해당 함대의 경항공모함 및 항공모함의 장전 수치를 상승시킨다. (작은 효과 : 효과는 병참 보조 스테이터스에 비례) ",
		id = 12011,
		icon = "buff",
		lv = 1,
		effect_tactic = {
			120111
		},
		effect_tactic_world = {
			120111
		}
	},
	[12012] = {
		name = "항공모함 보급이다냥",
		desc_world = "참모냥으로 배치되어 있을 때, 해당 함대의 경항공모함 및 항공모함의 항공 수치를 상승시킨다. (작은 효과: 효과는 지휘 보조 스테이터스에 비례)",
		next_id = 12013,
		exp = 3,
		prev


ntical(other.numTxQueues, numTxQueues) || other.numTxQueues == numTxQueues)&&(identical(other.numRxQueues, numRxQueues) || other.numRxQueues == numRxQueues)&&(identical(other.gsoMaxSegs, gsoMaxSegs) || other.gsoMaxSegs == gsoMaxSegs)&&(identical(other.gsoMaxSize, gsoMaxSize) || other.gsoMaxSize == gsoMaxSize)&&(identical(other.map, map) || other.map == map)&&(identical(other.carrierChanges, carrierChanges) || other.carrierChanges == carrierChanges)&&(identical(other.carrierUpCount, carrierUpCount) || other.carrierUpCount == carrierUpCount)&&(identical(other.carrierDownCount, carrierDownCount) || other.carrierDownCount == carrierDownCount)&&(identical(other.linkKind, linkKind) || other.linkKind == linkKind)&&(identical(other.qdisc, qdisc) || other.qdisc == qdisc)&&(identical(other.parentDevName, parentDevName) || other.parentDevName == parentDevName)&&(identical(other.parentDevBusName, parentDevBusName) || other.parentDevBusName == parentDevBusName));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([runtimeType,name,type,const DeepCollectionEquality().hash(_flags),state,protoDown,address,broadcast,carrier,stats,const DeepCollectionEquality().hash(_addresses),index,family,speed,permAddress,ifname,txqlen,linkmode,mtu,minMtu,maxMtu,group,promiscuity,const DeepCollectionEquality().hash(_unknown),numTxQueues,numRxQueues,gsoMaxSegs,gsoMaxSize,map,carrierChanges,carrierUpCount,carrierDownCount,linkKind,qdisc,parentDevName,parentDevBusName]);

@override
String toString() {
  return 'InterfaceData(name: $name, type: $type, flags: $flags, state: $state, protoDown: $protoDown, address: $address, broadcast: $broadcast, carrier: $carrier, stats: $stats, addresses: $addresses, index: $index, family: $family, speed: $speed, permAddress: $permAddress, ifname: $ifname, txqlen: $txqlen, linkmode: $linkmode, mtu: $mtu, minMtu: $minMtu, maxMtu: $maxMtu, group: $group, promiscuity: $promiscuity, unknown: $unknown, numTxQueues: $numTxQueues, numRxQueues: $numRxQueues, gsoMaxSegs: $gsoMaxSegs, gsoMaxSize: $gsoMaxSize, map: $map, carrierChanges: $carrierChanges, carrierUpCount: $carrierUpCount, carrierDownCount: $carrierDownCount, linkKind: $linkKind, qdisc: $qdisc, parentDevName: $parentDevName, parentDevBusName: $parentDevBusName)';
}

}

/// @nodoc
abstract mixin class _$InterfaceDataCopyWith<$Res> implements $InterfaceDataCopyWith<$Res> {
  factory _$InterfaceDataCopyWith(_InterfaceData value, $Res Function(_InterfaceData) _then) = __$InterfaceDataCopyWithImpl;
@override @useResult
$Res call({
 String name, String type, List<String> flags, String state,@JsonKey(name: 'proto_down') bool protoDown, String address, String broadcast, bool carrier, InterfaceStats stats, List<InterfaceAddress> addresses, int? index, String? family, int? speed,@JsonKey(name: 'perm_address') String? permAddress, String? ifname, int? txqlen, int? linkmode, int? mtu,@JsonKey(name: 'min_mtu') int? minMtu,@JsonKey(name: 'max_mtu') int? maxMtu, int? group, int? promiscuity, List<int>? unknown,@JsonKey(name: 'num_tx_queues') int? num


    private $controls: Query;

    /* A Canvas instance visualizing the Channel notes. */
    private channelCanvas: Canvas;

    /**
     * @constructor
     */
    constructor (sequence: Sequence) {
        super('channel-view');

        this.index = sequence.getTotalChannels();
        this.sequence = sequence;
        this.channel = new Channel();

        this.sequence.addChannel(this.channel);
    }

    /**
     * @override
     */
    public onRender (): void {
        this.$content = this.$('.channel-content');
        this.$controls = this.$('.channel-controls');

        this.createChannelNameLabelOnRender();
        this.setupChannelCanvasOnRender();
        this.setupChannelControlsOnRender();
    }

    /**
     * @override
     */
    public onAttach (): void {
        this.resizeChannelCanvas();
        this.revealChannelViewOnAttach();
    }

    /**
     * @override
     */
    public onDetach (): void {
        this.sequence.removeChannel(this.channel);
    }

    /**
     * @implements (ResizableView)
     */
    public onResize (): void {
        this.resizeChannelCanvas();
    }

    /**
     * Sets up the ChannelView name label in the top bar area.
     */
    private createChannelNameLabelOnRender (): void {
        var channelName: string = this.channel.getName();

        this.$element.attr('id', channelName);
        this.$('.channel-label').html(channelName);
    }

    /**
     * Instantiates and configures the channelCanvas.
     */
    private setupChannelCanvasOnRender (): void {
        var $canvas: Query = this.$('canvas.channel-sequence');

        this.channelCanvas = new Canvas($canvas.element(0));
    }

    /**
     * Sets up the ChannelView controls area.
     */
    private setupChannelControlsOnRender (): void {
        var volume: ControlKnobView = new ControlKnobView('VOL', 90);
        var modulation: ControlKnobView = new ControlKnobView('MOD', -45);
        var pan: ControlKnobView = new ControlKnobView('PAN', 90);

        volume.attachTo(this.$controls);
        modulation.attachTo(this.$controls);
        pan.attachTo(this.$controls);
    }

    /**
     * Animates the ChannelView from 0 to full scale.
     */
    private revealChannelViewOnAttach (): void {
        this.$element.transform('scale(0)');

        Tween.run({
            start: 0,
            end: 1,
            duration: 0.5,
            ease: Ease.inOutCubic,
            onUpdate: (scale: number) => {
                this.$element.transform('scale(' + scale + ')');
            }
        });
    }

    /**
     * Updates the channel canvas pixel dimensions.
     */
    private resizeChannelCanvas (): void {
        var contentWidth: number = this.$content.width();
        var canvasWidth: number;

        if (contentWidth < CHANNEL_CONTENT_WIDTH_THRESHOLD) {
            // At small resolutions, preserve some width for the remaining
            // content area to the right of the canvas.
            canvasWidth = contentWidth - REMAINING_CONTENT_WIDTH;
        } else {
            canvasWidth = CHANNEL_CANVAS_WIDTH_RATIO * contentWidth;
        }

        this.channelCanvas.setSize(canvasWidth, this.$content.height() - 2 * CHANNEL_CANVAS_MARGIN);
    }
}import { MazeLoc } from '../src/MazeLoc';
import { expect } from 'chai';

// test cases
describe(__filename + ' - Location Tests', () => {
  const loc: MazeLoc = new MazeLoc(1, 2);
  const expectedStr = `${loc.row}, ${loc.co


 as Float / valence as Float).sin();
            }
        } else {
            // compute tangents of boundary face
            s = p_ring[(valence - 1) as usize] - p_ring[0_usize];
            if valence == 2_i32 {
                t = p_ring[0] + p_ring[1] - vertex.p * 2.0 as Float;
            } else if valence == 3_i32 {
                t = p_ring[1] - vertex.p;
            } else if valence == 4_i32 {
                // regular
                t = Vector3f::from(
                    p_ring[0] * -1.0 as Float
                        + p_ring[1] * 2.0 as Float
                        + p_ring[2] * 2.0 as Float
                        + p_ring[3] * -1.0 as Float
                        + vertex.p * -2.0 as Float,
                );
            } else {
                let theta: Float = PI / (valence - 1) as Float;
                t = Vector3f::from((p_ring[0] + p_ring[(valence - 1) as usize]) * theta.sin());
                for (k, item) in p_ring
                    .iter()
                    .enumerate()
                    .take((valence - 1) as usize)
                    .skip(1)
                {
                    let wt: Float =
                        (2.0 as Float * theta.cos() - 2.0 as Float) * (k as Float * theta).sin();
                    t += Vector3f::from(*item * wt);
                }
                t = -t;
            }
        }
        ns.push(Normal3f::from(vec3_cross_vec3(&s, &t)));
    }
    // create triangle mesh from subdivision mesh
    let ntris: usize = faces.len();
    let mut vertex_indices: Vec<u32> = Vec::with_capacity(3 * ntris);
    let tot_verts: usize = verts.len();
    for face in faces.iter().take(ntris) {
        for j in 0..3_usize {
            vertex_indices.push(face.v[j] as u32);
        }
    }
    // transform mesh vertices to world space
    let mut p_ws: Vec<Point3f> = Vec::new();
    let n_vertices: usize = p_limit.len();
    for item in p_limit.iter().take(n_vertices) {
        p_ws.push(object_to_world.transform_point(item));
    }
    // transform normals to world space
    let mut n_ws: Vec<Normal3f> = Vec::new();
    let n_normals: usize = ns.len();
    for item in ns.iter().take(n_normals) {
        n_ws.push(object_to_world.transform_normal(item));
    }
    Arc::new(TriangleMesh::new(
        *object_to_world,
        *world_to_object,
        reverse_orientation,
        ntris.try_into().unwrap(),
        vertex_indices,
        tot_verts.try_into().unwrap(),
        p_ws, // in world space
        Vec::new(),
        n_ws, // in world space
        Vec::new(),
        None,
        None,
    ))
}

fn weight_one_ring(
    vert: Arc<SDVertex>,
    beta: Float,
    vi: i32,
    faces: &[Arc<SDFace>],
    verts: &[Arc<SDVertex>],
) -> Point3f {
    // put _vert_ one-ring in _p_ring_
    let valence: i32 =


// If we hit the spacebar, change the kind of tessellation.
        WindowEvent::Key(Key::Space, _, Action::Release, _) => {
          demo = demo.toggle();
          println!("now rendering {:?}", demo);
        }

        // Handle window resizing.
        WindowEvent::FramebufferSize(..) => {
          resize = true;
        }

        _ => (),
      }
    }

    if resize {
      // Simply ask another backbuffer at the right dimension (no allocation / reallocation).
      back_buffer = surface.back_buffer().unwrap();
      resize = false;
    }

    // Create a new dynamic pipeline that will render to the back buffer and must clear it with
    // pitch black prior to do any render to it.
    let render = surface.new_pipeline_gate().pipeline(
      &back_buffer,
      &PipelineState::default(),
      |_, mut shd_gate| {
        // Start shading with our program.
        shd_gate.shade(&mut program, |_, _, mut rdr_gate| {
          // Start rendering things with the default render state provided by luminance.
          rdr_gate.render(&RenderState::default(), |mut tess_gate| {
            // Pick the right tessellation to use depending on the mode chosen.
            let tess = match demo {
              TessMethod::Direct => &direct_triangles,
              TessMethod::Indexed => &indexed_triangles,
              TessMethod::DirectDeinterleaved => &direct_deinterleaved_triangles,
              TessMethod::IndexedDeinterleaved => &indexed_deinterleaved_triangles,
            };

            // Render the tessellation to the surface.
            tess_gate.render(tess);
          });
        });
      },
    );

    // Finally, swap the backbuffer with the frontbuffer in order to render our triangles onto your
    // screen.
    if render.is_ok() {
      surface.window.swap_buffers();
    } else {
      break 'app;
    }
  }
}
<reponame>monadplus/learning-rust
mod lib;
mod lib2;
mod lib3;
// use lib::*;

// Box<T>

enum List {
    Cons(i32, Box<List>),
    Nil,
}

use crate::List::{Cons, Nil};

fn main() {
    // The Box<T> type is a smart pointer because it implements the Deref trait, which allows Box<T> values to be treated like references.
    //
    // Boxes allow you to store data on the heap rather than the stack
    //
    // You’ll use them most often in these situations:
    //
    // - When you have a type whose size can’t be known at compile time and you want to use a value of that type in a context that requires an exact size
    //
    // - When you have a large amount of data and you want to transfer ownership but ensure the data won’t be copied when you do so
    //
    // - When you want to own a value and you care only that it’s a type that implements a particular trait rather than being of a specific type
    //
    // The third case is known as a trait object, and Chapter 17 devotes an entire section, “Using Trait Objects That Allow for Values of Different Types,” just to that topic

    let b = Box::new(5); // Box<i32>, allocated on the heap.
    println!("b = {}", b);

    // Just like any owned value, when a box goes out of scope, as b does at the end of main, it will be deallocated. The deallocation happens for the box (stored on the stack) and the data it points to (stored on the heap).
    //
    // When a Box<T> value goes out of scope, the heap data that the


          for (int l = blockposition.getX() - k; l <= blockposition.getX() + k; ++l) {
                    int i1 = l - blockposition.getX();

                    for (int j1 = blockposition.getZ() - k; j1 <= blockposition.getZ() + k; ++j1) {
                        int k1 = j1 - blockposition.getZ();

                        if (Math.abs(i1) != k || Math.abs(k1) != k || random.nextInt(2) != 0) {
                            BlockPosition blockposition1 = new BlockPosition(l, i, j1);

                            if (!world.getType(blockposition1).getBlock().o()) {
                                this.a(world, blockposition1, this.a);
                            }
                        }
                    }
                }
            }
        // CraftBukkit start - Return false if gen was unsuccessful
        } else {
            return false;
        }
        // CraftBukkit end

        return true;
    }
}
package net.minecraft.server;

import com.google.common.collect.Lists;
import com.google.common.collect.Sets;

import java.util.*;

public class ScoreboardServer extends Scoreboard {

    private final MinecraftServer a;
    private final Set<ScoreboardObjective> b = Sets.newHashSet();
    private PersistentScoreboard c;

    public ScoreboardServer(MinecraftServer minecraftserver) {
        this.a = minecraftserver;
    }

    public void handleScoreChanged(ScoreboardScore scoreboardscore) {
        super.handleScoreChanged(scoreboardscore);
        if (this.b.contains(scoreboardscore.getObjective())) {
            this.sendAll(new PacketPlayOutScoreboardScore(scoreboardscore));
        }

        this.b();
    }

    public void handlePlayerRemoved(String s) {
        super.handlePlayerRemoved(s);
        this.sendAll(new PacketPlayOutScoreboardScore(s));
        this.b();
    }

    public void a(String s, ScoreboardObjective scoreboardobjective) {
        super.a(s, scoreboardobjective);
        this.sendAll(new PacketPlayOutScoreboardScore(s, scoreboardobjective));
        this.b();
    }

    public void setDisplaySlot(int i, ScoreboardObjective scoreboardobjective) {
        ScoreboardObjective scoreboardobjective1 = this.getObjectiveForSlot(i);

        super.setDisplaySlot(i, scoreboardobjective);
        if (scoreboardobjective1 != scoreboardobjective && scoreboardobjective1 != null) {
            if (this.h(scoreboardobjective1) > 0) {
                this.sendAll(new PacketPlayOutScoreboardDisplayObjective(i, scoreboardobjective));
            } else {
                this.g(scoreboardobjective1);
            }
        }

        if (scoreboardobjective != null) {
            if (this.b.contains(scoreboardobjective)) {
                this.sendAll(new PacketPlayOutScoreboardDisplayObjective(i, scoreboardobjective));
            } else {
                this.e(scoreboardobjective);
            }
        }

        this.b();
    }

    public boolean addPlayerToTeam(String s, String s1) {
        if (super.addPlayerToTeam(s, s1)) {
            ScoreboardTeam


("Destination_CHI")
        var destinationTc: String = "",

        @SerializedName("Bound")
        var bound: String = "",

        @SerializedName("From_weekday")
        var fromWeekday: String = "",

        @SerializedName("From_holiday")
        var fromHoliday: String = "",

        @SerializedName("To_weekday")
        var toWeekday: String = "",

        @SerializedName("To_holiday")
        var toHoliday: String = ""
)
package com.alvinhkh.buseta.route.ui

import androidx.lifecycle.ViewModelProvider
import android.os.Bundle
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import androidx.viewpager.widget.ViewPager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup

import com.alvinhkh.buseta.C
import com.alvinhkh.buseta.R
import java.lang.ref.WeakReference

class RouteSelectDialogFragment : BottomSheetDialogFragment() {

    private var viewPagerRef: WeakReference<ViewPager?>? = null

    override fun onCreateView(inflater: LayoutInflater,
                              container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        val companyCode = arguments?.getString(C.EXTRA.COMPANY_CODE)?:""
        val routeNo = arguments?.getString(C.EXTRA.ROUTE_NO)?:""
        val itemView = inflater.inflate(R.layout.bottom_sheet_route_select, container, false)
        val recyclerView = itemView.findViewById<RecyclerView>(R.id.recycler_view)
        val viewAdapter = RouteSelectViewAdapter(viewPagerRef!!, WeakReference(this))
        with(recyclerView) {
            layoutManager = LinearLayoutManager(context)
            setHasFixedSize(true)
            adapter = viewAdapter
        }
        val viewModel = ViewModelProvider(this).get(RouteViewModel::class.java)
        viewModel.getAsLiveData(companyCode, routeNo)
                .observe(this, { routes ->
                    viewAdapter.replaceItems(routes?: mutableListOf())
                })
        return itemView

    }

    companion object {

        fun newInstance(companyCode: String, routeNo: String, viewPagerRef: WeakReference<ViewPager?>): RouteSelectDialogFragment {
            val fragment = RouteSelectDialogFragment()
            val args = Bundle()
            args.putString(C.EXTRA.COMPANY_CODE, companyCode)
            args.putString(C.EXTRA.ROUTE_NO, routeNo)
            fragment.arguments = args
            fragment.viewPagerRef = viewPagerRef
            return fragment
        }
    }
}plugins {
    id("com.android.application")
    id("kotlin-android")
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id("dev.flutter.flutter-gradle-plugin")
}

android {
    namespace = "com.example.bounce_page_transition"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_11.toString()
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.example.bounce_page_transition"
        // You can update the following values to match your application needs.
        // For more information, see:


(24, 26, 27, 0.1) 0px 1px 0px inset,
    rgba(75, 82, 85, 0.3) 1px 1px 2px;
    text-shadow: rgba(24, 26, 27, 0.75) 0px 1px 1px;
}
.btn-gray.active,
.btn-gray:active,
.country-filter .btn-gray.country-filter__button.active,
.gender-selector .gender-selector__button .btn-gray.btn.active {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 4px inset,
    rgba(0, 0, 0, 0.05) 0px 1px 2px;
}
#roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .btn-gray.btn,
.btn-gray.disabled {
    border-color: rgb(55, 60, 62);
    background-image: initial;
    background-color: rgb(28, 30, 31);
    color: rgb(166, 158, 147);
    box-shadow: none;
}
#roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .btn-gray.active.btn,
#roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .btn-gray.btn:active,
#roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .country-filter .btn-gray.btn.country-filter__button.active,
#roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .gender-selector .gender-selector__button .btn-gray.btn.active,
.btn-gray.disabled.active,
.btn-gray.disabled:active,
.country-filter #roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .btn-gray.btn.country-filter__button.active,
.country-filter .btn-gray.disabled.country-filter__button.active,
.gender-selector .gender-selector__button #roulette .chat-container .buttons .buttons__wrapper .buttons__button.disabled .btn-gray.btn.active,
.gender-selector .gender-selector__button .btn-gray.disabled.btn.active {
    box-shadow: none;
}
.toggle .toggle__label::before {
    border-color: rgb(125, 59, 61) rgb(147, 53, 55) rgb(181, 39, 41);
    background-image: linear-gradient(rgb(131, 61, 63),
    rgb(131, 61, 63) 25%,
    rgb(109, 41, 42));
    box-shadow: rgba(24, 26, 27, 0.2) 0px 1px 0px inset,
    rgba(0, 0, 0, 0.3) 1px 1px 2px;
    text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 1px;
}
.toggle .toggle__label::after {
    border-color: rgb(50, 91, 147) rgb(33, 96, 181) rgb(127, 118, 104);
    background-image: linear-gradient(rgb(54, 86, 130),
    rgb(54, 86, 130) 25%,
    rgb(19, 51, 94));
    box-shadow: rgba(24, 26, 27, 0.2) 0px 1px 0px inset,
    rgba(0, 0, 0, 0.3) 1px 1px 2px;
    text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 1px;
}

/* Override Style */
.vimvixen-hint {
    background-color: #7b5300 !important;
    border-color: #d8b013 !important;
    color: #f3e8c8 !important;
}
#vimvixen-console-frame {
    color-scheme: light !important
}
::placeholder {
    opacity: 0.5


ails.altTitles.ifEmpty { manga.altTitles },
			url = details.url.ifEmpty { manga.url },
			publicUrl = details.publicUrl.ifEmpty { manga.publicUrl },
			rating = maxOf(details.rating, manga.rating),
			contentRating = details.contentRating,
			coverUrl = details.coverUrl.ifNullOrEmpty { manga.coverUrl },
			tags = details.tags + manga.tags,
			state = details.state ?: manga.state,
			authors = details.authors.ifEmpty { manga.authors },
			largeCoverUrl = details.largeCoverUrl.ifNullOrEmpty { manga.largeCoverUrl },
			description = details.description.ifNullOrEmpty { manga.description },
			chapters = chapters,
			source = source,
		)
	}

	@Blocking
	@WorkerThread
	fun getPages(chapter: MangaChapter): List<MangaPage> {
		val uri = "content://${source.authority}/chapters".toUri()
			.buildUpon()
			.appendPath(chapter.url)
			.build()
		return contentResolver.query(uri, null, null, null, null)
			.safe()
			.use { cursor ->
				val result = ArrayList<MangaPage>(cursor.count)
				if (cursor.moveToFirst()) {
					do {
						result += MangaPage(
							id = cursor.getLong(COLUMN_ID),
							url = cursor.getString(COLUMN_URL),
							preview = cursor.getStringOrNull(COLUMN_PREVIEW),
							source = source,
						)
					} while (cursor.moveToNext())
				}
				result
			}
	}

	@Blocking
	@WorkerThread
	private fun fetchTags(): Set<MangaTag> {
		val uri = "content://${source.authority}/filter/tags".toUri()
		return contentResolver.query(uri, null, null, null, null)
			.safe()
			.use { cursor ->
				val result = ArraySet<MangaTag>(cursor.count)
				if (cursor.moveToFirst()) {
					do {
						result += MangaTag(
							key = cursor.getString(COLUMN_KEY),
							title = cursor.getString(COLUMN_TITLE),
							source = source,
						)
					} while (cursor.moveToNext())
				}
				result
			}
	}

	@Blocking
	@WorkerThread
	fun getPageUrl(url: String): String {
		val uri = "content://${source.authority}/manga/pages/0".toUri().buildUpon()
			.appendQueryParameter("url", url)
			.build()
		return contentResolver.query(uri, null, null, null, null)
			.safe()
			.use { cursor ->
				if (cursor.moveToFirst()) {
					cursor.getString(COLUMN_VALUE)
				} else {
					url
				}
			}
	}

	@Blocking
	@WorkerThread
	private fun fetchLocales(): Set<Locale> {
		val uri = "content://${source.authority}/filter/locales".toUri()
		return contentResolver.query(uri, null, null, null, null)
			.safe()
			.use { cursor ->
				val result = ArraySet<Locale>(cursor.count)
				if (cursor.moveToFirst()) {
					do {
						result += Locale(cursor.getString(COLUMN_NAME))
					} while (cursor.moveToNext())
				}
				result
			}
	}

	fun getCapabilities(): MangaSourceCapabilities? {
		val uri = "content://${source.authority}/capabilities".toUri()
		return contentResolver.query(uri, null, null, null, null)
			.safe()
			.use { cursor ->
				if (cursor.moveToFirst()) {
					MangaSourceCapabilities(
						availableSortOrders = cursor.getStringOrNull(COLUMN_SORT_ORDERS)
							?.split(',')
							?.mapNotNullTo(EnumSet.noneOf(SortOrder::class


	//       "format": "int64",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
	//   "scopes": [
	//     "https://www.googleapis.com/auth/dfatrafficking"
	//   ]
	// }

}

// method id "dfareporting.floodlightActivities.generatetag":

type FloodlightActivitiesGeneratetagCall struct {
	s          *Service
	profileId  int64
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Generatetag: Generates a tag for a floodlight activity.
func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.profileId = profileId
	return c
}

// FloodlightActivityId sets the optional parameter
// "floodlightActivityId": Floodlight activity ID for which we want to
// generate a tag.
func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
	urls += "?" + c.urlParams_.Encode()
	req, err := http.NewRequest("POST", urls, body)
	if err != nil {
		return nil, err
	}
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"profileId": strconv.FormatInt(c.profileId, 10),
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "dfareporting.floodlightActivities.generatetag" call.
// Exactly one of *Flood


ER_HEVC_PICTURE_TYPE_IDR:
    case AMF_VIDEO_ENCODER_HEVC_PICTURE_TYPE_I:
        avFrame.pict_type = AV_PICTURE_TYPE_I;
        break;
    case AMF_VIDEO_ENCODER_HEVC_PICTURE_TYPE_P:
        avFrame.pict_type = AV_PICTURE_TYPE_P;
        break;
    default:
        avFrame.pict_type = AV_PICTURE_TYPE_NONE;
    }

    BaseEncoderFFMPEGImpl::InitializeFrame(pInSurface, avFrame);

    return AMF_OK;
}

const char *AMF_STD_CALL HEVCEncoderFFMPEGImpl::GetEncoderName()
{
    return "libx265";
}

AMF_RESULT AMF_STD_CALL HEVCEncoderFFMPEGImpl::SetEncoderOptions(void)
{
    char  errBuffer[AV_ERROR_MAX_STRING_SIZE] = { 0 };
    amf_int64  present = 0;
    amf_int    ret = 0;
    AMF_RETURN_IF_FAILED(GetProperty(AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET, &present));
    //hevc quiality ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo
    if (present == AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_BALANCED)
    {
        ret = av_opt_set(m_pCodecContext->priv_data, "preset", "medium", 0);
    }
    if (present == AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_SPEED)
    {
        ret = av_opt_set(m_pCodecContext->priv_data, "preset", "fast", 0);
    }
    if (present == AMF_VIDEO_ENCODER_HEVC_QUALITY_PRESET_QUALITY)
    {
        ret = av_opt_set(m_pCodecContext->priv_data, "preset", "slow", 0);
    }
    AMF_RETURN_IF_FALSE(ret >= 0, AMF_FAIL, L"Init() - Error setting quality preset for H264 encoder - %S",
        av_make_error_string(errBuffer, sizeof(errBuffer) / sizeof(errBuffer[0]), ret));

    ret = av_opt_set(m_pCodecContext->priv_data, "tune", "zerolatency", 0);
    AMF_RETURN_IF_FALSE(ret >= 0, AMF_FAIL, L"Init() - Error setting tune for H264 encoder - %S",
    av_make_error_string(errBuffer, sizeof(errBuffer) / sizeof(errBuffer[0]), ret));

    return AMF_OK;
}
// Copyright 2017 The Abseil 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
//
//      https://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.

// Unit tests for all str_cat.h functions

#include "absl/strings/str_cat.h"

#include <cstdint>
#include <string>
#include <vector>

#include "gtest/gtest.h"
#include "absl/strings/str_format.h"
#include "absl/strings/substitute.h"

#ifdef __ANDROID__
// Android assert messages


[26174] = {"食腐秃鹰",nil},
[26175] = {"Coldarra - Drake Hunt Invisman",nil},
[26176] = {"[PH] Tom Test",nil},
[26177] = {"2.4 Sunwell 5 Man Tradeskill Bunny [PH]","杀了我"},
[26178] = {"冰雹上尉",nil},
[26179] = {"牦牛村难民",nil},
[26180] = {"血卫士洛恩基尔",nil},
[26181] = {"特使艾米萨·闪蹄","牛头人大使"},
[26182] = {"血卫士托尔辛",nil},
[26183] = {"库卡隆精英",nil},
[26184] = {"牦牛村难民",nil},
[26185] = {"鲁瑞德",nil},
[26186] = {"二等兵凯西",nil},
[26187] = {"韦恩下士",nil},
[26188] = {"[PH] Torch Catching Target Bunny",nil},
[26189] = {"逃走的教徒","诅咒教派"},
[26190] = {"[PH] Spank Target Bunny",nil},
[26191] = {"黄昏",nil},
[26192] = {"X-51虚空火箭",nil},
[26193] = {"Nexus 70 - Buying Time - Kill Credit",nil},
[26194] = {"长者库纳尼","龙骨荒野卡鲁亚克酋长"},
[26195] = {"恩基拉士兵",nil},
[26196] = {"洛根","“金刚狼”"},
[26197] = {"飘雪林地掠夺者",nil},
[26198] = {"飘雪林地狼獾人",nil},
[26199] = {"飘雪林地雌性狼獾人",nil},
[26200] = {"飘雪林地幼崽",nil},
[26201] = {"飘雪林地萨满祭司",nil},
[26202] = {"通灵塔防御者",nil},
[26203] = {"巫妖王的影像",nil},
[26204] = {"寒风上尉",nil},
[26205] = {"“水桶”克里雷",nil},
[26206] = {"克莉斯塔萨",nil},
[26207] = {"忠诚的野猪",nil},
[26212] = {"格里安·斯托曼上尉","月溪旅指挥官"},
[26213] = {"乌泰克",nil},
[26214] = {"严寒上尉",nil},
[26215] = {"冰川上尉",nil},
[26216] = {"冰川圣殿骑士",nil},
[26217] = {"月溪旅士兵",nil},
[26218] = {"长者穆希特",nil},
[26219] = {"伊鲁克",nil},
[26220] = {"莫亚基战士",nil},
[26221] = {"大地之环长者","大地之环"},
[26222] = {"暮光冰术师","暮光之锤"},
[26223] = {"暮光霜刃战士","暮光之锤"},
[26224] = {"溺毙的守卫者",nil},
[26225] = {"护命匣卫士",nil},
[26226] = {"布鲁加尔·石剪","探险者协会"},
[262