MONDO:0021969 & MONDO:0037251[Merge]

Mondo term (ID and Label)
MONDO:0021969 Banti syndrome
Reason for deprecation
Appears to be redundant with other term (similar synonyms, description from sources)
from MeSH viewer: [OBSOLETE] Banti's syndrome ^
http://id.nlm.nih.gov/mesh/C537903 ...[note] "A disorder characterized by splenomegaly and portal hypertension due to splenic vein obstruction. It may result in severe ANEMIA and LIVER CIRRHOSIS."  (Replaced by https://www.ncbi.nlm.nih.gov/mesh/?term=D000094724 )
SNOMED CT browser shows: https://snomedbrowser.com/Codes/Details/19058002
Name: Congestive splenomegaly

Congestive splenomegaly
Banti syndrome
Banti's spleen
Fibrocongestive splenomegaly
Congestive splenomegaly (disorder)
Hide descriptions.
Concept ID: 19058002

And this SNOMED code is on UMLS C0154307
Term to be merged with
MONDO:0037251 congestive splenomegaly
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

Agree with request to merge MONDO:0021969 Banti syndrome with MONDO:0037251 congestive splenomegaly.


Add missing decoder model architectures

The supported model table had not been updated since the addition of llama, opt and bloom.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Building on Linux

I'd love to see some instruction how to build this on Linux. I tried but with no luck (I'm not into C/C++)

To build rfxgen, raylib library is required.  Other external dependencies are already included with the project (raygui, tinyfiledialogs).
I haven't tried it but it should compile with:
gcc -o rfxgen.exe rfxen.c external/tinyfiledialogs.c -s -Iexternal -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -std=c99

It could require some additional include paths...

Still no luck
gcc -o rfxgen rfxgen.c external/tinyfiledialogs.c -s -Iexternal -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -std=c99In file included from rfxgen.c:58:0:
external/raygui.h: In function ‘GuiDropdownBox’:
external/raygui.h:1479:13: warning: implicit declaration of function ‘DrawRectangleLinesEx’; did you mean ‘DrawRectangleLines’? [-Wimplicit-function-declaration]
             DrawRectangleLinesEx(bounds, 1, GetColor(style[LISTVIEW_BORDER_COLOR_PRESSED]));
             ^~~~~~~~~~~~~~~~~~~~
             DrawRectangleLines
rfxgen.c: In function ‘main’:
rfxgen.c:489:17: warning: implicit declaration of function ‘SetWindowSize’; did you mean ‘SetWindowMinSize’? [-Wimplicit-function-declaration]
                 SetWindowSize(1000, 1000);
                 ^~~~~~~~~~~~~
                 SetWindowMinSize
rfxgen.c:490:17: warning: implicit declaration of function ‘SetMouseScale’; did you mean ‘GetMouseRay’? [-Wimplicit-function-declaration]
                 SetMouseScale(0.5f);
                 ^~~~~~~~~~~~~
                 GetMouseRay
rfxgen.c: In function ‘BtnSaveSound’:
rfxgen.c:1782:22: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     char *fileName = tinyfd_saveFileDialog("Save sound parameters file", currrentPathFile, 2, filters, "Sound Param Files (*.rfx, *.sfs)");
                      ^~~~~~~~~~~~~~~~~~~~~
rfxgen.c: In function ‘BtnExportWav’:
rfxgen.c:1800:22: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     char *fileName = tinyfd_saveFileDialog("Save wave file", currrentPathFile, 1, filters, "Wave File (*.wav)");
                      ^~~~~~~~~~~~~~~~~~~~~
/tmp/ccP7LCvn.o: In function `GuiDropdownBox':
rfxgen.c:(.text+0x368b): undefined reference to `DrawRectangleLinesEx'
/tmp/ccP7LCvn.o: In function `main':
rfxgen.c:(.text+0x8c8d): undefined reference to `SetWindowSize'
rfxgen.c:(.text+0x8cad): undefined reference to `SetMouseScale'
rfxgen.c:(.text+0x8ccf): undefined reference to `SetWindowSize'
rfxgen.c:(.text+0x8cef): undefined reference to `SetMouseScale'
collect2: error: ld returned 1 exit status

I have Raylib installed from AUR, version 1.8.0

Sorry, after the update, latest raylib version (master branch) is required for rfxgen...
In raylib WIki there is some info about building raylib in Linux: https://github.com/raysan5/raylib/wiki/Compile-for-GNU-Linux

Ah I see, thanks :)

Hey @TeddyDD, please, let me know if you manage to build it. :)

@raysan5 I build it but it does not work, there is just black window. Probably did something wrong ¯_ツ _/¯
I'll stick to sfxr for now. Thanks for help :)

Just compiled following raylib instructions and compile line:
gcc -o rfxgen rfxgen.c external/tinyfiledialogs.c -s -Iexternal -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -L../../raylib/release/libs/linux -std=c99 -no-pie -D_DEFAULT_SOURCE

Uploaded Linux version to itch.io.


SSL handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

Description
HI, since the beginning of the month, I started getting this exception SSL_HANDSHAKE: certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured or root CA certificates are installed (add broker's CA certificate to the Windows Root certificate store) . I don't know what happened, but my app was working, and out of nowhere it stopped, exploding this message in the log.
I'm using .Net 4.5 with Confluent Kafka 1.8.2
`1654656775.053|ERROR|rdkafka#producer-2| [thrd:sasl_ssl://kafka-77676/bootstrap]: 1/1 brokers are down
%3|1654656775.053|ERROR|rdkafka#producer-2| [thrd:app]: rdkafka#producer-2: sasl_ssl://kafka-77676/bootstrap: SSL handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured or root CA certificates are installed (add broker's CA certificate to the Windows Root certificate store) (after 208ms in state SSL_HANDSHAKE)
%3|1654656775.564|FAIL|rdkafka#producer-3| [thrd:sasl_ssl://kafka-77676:11153/bootstrap]: sasl_ssl://kafka-77676/bootstrap: SSL handshake failed: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed: broker certificate could not be verified, verify that ssl.ca.location is correctly configured or root CA certificates are installed (add broker's CA certificate to the Windows Root certificate store) (after 218ms in state SSL_HANDSHAKE)``
How to reproduce
var config = new ProducerConfig                 {                     BootstrapServers = bootstrapServers,                     SslCaLocation = "C:/cert/keystore.pem",                     SecurityProtocol = SecurityProtocol.SaslSsl,                     SaslMechanism = SaslMechanism.ScramSha256,                     MessageSendMaxRetries = 1,                     SaslUsername = sasl_username,                     SaslPassword = sasl_password                 };
Checklist
Please provide the following information:

[ ] A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
[x] Confluent.Kafka nuget version. 1.8.2
[ ] Apache Kafka version.
[ ] Client configuration.
[x] Operating system - WINDOWS 10
[ ] Provide logs (with "debug" : "..." as necessary in configuration).
[x] Provide broker log excerpts.
[ ] Critical issue.

I had the same problem and I managed to solve it by installing this certificate (ISRG Root X1) https://letsencrypt.org/certs/isrgrootx1.pem
I did this after a call to Confluent:
Confluent is using the [ISRG Root X1](https://letsencrypt.org/certs/isrgrootx1.pem) Root CA, this CA is required to be part of your trust store to future-proof your clients.
Clients using custom trust stores are not able to connect to confluent cloud without the proper Certificate Authorities imported.


Functional tests for run by line

Validated. Test exists and is passing as of:
https://dev.azure.com/ms/vscode-python/_build/results?buildId=85150&view=logs&s=c041ccde-92b7-5163-1d93-b1c06077f4b4


[bepo] Map ace window to éé (from ww)

w has the same location as é and é is not used so might as well go all the way

Thanks!

I forgot it was linked to window-select (just saw the tag), it'll need to be featurep! gated probably

Actually, it should be bound to other-window (no check necessary). The window-select module remaps other-window, but that doesn't have to matter to the input layout module.


Push swift-bep-parser to BCR

Continue the work from https://github.com/mattrobmattrob/swift-bep-parser/pull/7.

https://github.com/bazelbuild/bazel-central-registry/pull/1232

This is done now via https://github.com/bazelbuild/bazel-central-registry/pull/1524.
FYI, @luispadron 🙏


middlewares stripPrefixRegex is not

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
dynamic config file provider:
I tried to set this regex and did expect it to be parsed as one regex
...
middlewares:
    pektin-proxy-strip-proxy:
        stripPrefixRegex:
            regex:
                - ^/proxy-[^/]{1,}
...

What did you see instead?
Insted of parsing it as one regex it got parsed as two regexes because of the comma. I would expect this to happen if it was set as a string but not as an array. I also tried escaping it but with no success. The documentation for the stripPrefixRegex middleware does not cover this.
{
    "stripPrefixRegex": {
        "regex": [
            "^/proxy-[^/]{1",
            "}"
        ]
    },
    "status": "enabled",
    "usedBy": [
        "pektin-proxy-crt@file",
        "pektin-proxy-gandi@file"
    ],
    "name": "pektin-proxy-strip-proxy@file",
    "provider": "file",
    "type": "stripprefixregex"
}

What version of Traefik are you using?
traefik 2.6
What is your environment & configuration?
Much config not regarding the problem
If applicable, please paste the log output in DEBUG level
No response

Hello,
I handle the problem inside our configuration parser, a PR will come soon.
Note: [^/]{1,} can be replaced by [^/]+

Closed by #8850.


add support for $group on embedded dictionaries

Hi,
For my use case, I need to use $group on embedded dictionaries :
document = {"key_1": {"sub_key_1": "value_1"}, "nb": 1}
aggregation_pipeline = [{'$group': {"_id": "$key_1.sub_key_1", "nb": {"$sum": "$nb"}}}]
Would you be interested in merging this functionality ?
This would be helpful for me, then I wouldn't have to keep my own version of mongomock.
(and I will probably have to add other functionalities)
If you have any comment, don't hesitate.
Thank you

@JulieRossi  sorry for the late reply. Pls give me sometime. i will review it.

No problem, thanks !

could you please resolve conflicts?

Done.
Please let me know if you expected something different.


Programatically produce cosmetic formes

Requires tests to be re-enabled (#3) before we can test these changes
The updates to cosmetic formes does not use the species.cosmeticFormes attribute because then it would produce output that is inconsistent with Antar's original code. Instead, I have used the Pokemon's typing and base stats to identify formes that can be skipped. The only exception is Basculin, which has a single different ability between its red-striped and blue-striped forme (Reckless and Rock Head, respectively). However, Antar included it in his list, and it's for two abilities that don't even get used on Basculin, so it's fine.

Me when I butcher a rebase


Error on creating resource: "Error: couldn't find resource (21 retries)"

Bear with me as I'm newer to terraform, please. I've copied the working example of mysql for 2.0.0, using terraform 0.12. When I go to create the resource, it times out:
module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: Creating...
module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: Still creating... [10s elapsed]
...
module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: Still creating... [3m40s elapsed]
module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: Still creating... [3m50s elapsed]

Error: couldn't find resource (21 retries)

  on .terraform/modules/aws-rds.db/terraform-aws-modules-terraform-aws-rds-fedd420/modules/db_instance/main.tf line 39, in resource "aws_db_instance" "this":
  39: resource "aws_db_instance" "this" {

I'm not sure what I'm doing wrong, because the resource is being created in AWS, but it's still in its spinning up "modifying" stage, so of course it isn't available yet. Maybe I'm missing something on how to change the timeout on terraform to be more patient?
Here is my main.tf:
module "db" {
  source  = "terraform-aws-modules/rds/aws"
  version = "2.0.0"

  identifier = myrdsinstance

  # All available versions: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt
  engine            = "mysql5.6"
  engine_version    = "5.6.41"
  instance_class    = db.m5.2xlarge
  allocated_storage = 300
  storage_encrypted = false
  name     = dbname
  username = username
  password = totallysecurepassword
  port     = 3306

  vpc_security_group_ids = sg-1234

  maintenance_window = var.maintenance_window #default
  backup_window      = var.backup_window           #default

  multi_az = true

  # disable backups to create DB faster
  backup_retention_period = 0

  tags = {
    "foo"       = "bar'
  }

  # enabled_cloudwatch_logs_exports = ["audit", "general"]

  # DB subnet group
  subnet_ids = "${var.subnet_id}"

  # DB parameter group
  family = "mysql5.6"

  # DB option group
  major_engine_version = "5.6"

  # Snapshot name upon DB deletion
  final_snapshot_identifier = "${var.terr_name}_final_snapshot"

  # Database Deletion Protection
  deletion_protection = true

  parameters = [
    {
      name  = "character_set_client"
      value = "utf8"
    },
    {
      name  = "character_set_server"
      value = "utf8"
    }
  ]

  options = [
    {
      option_name = "MARIADB_AUDIT_PLUGIN"

      option_settings = [
        {
          name  = "SERVER_AUDIT_EVENTS"
          value = "CONNECT"
        },
        {
          name  = "SERVER_AUDIT_FILE_ROTATIONS"
          value = "37"
        },
      ]
    },
  ]
}

Looks good in general, but maybe you are trying to allocate 300GB and it takes some time?
You can try to increase the timeout by setting:
timeouts = {
  create = "60m"
  delete = "60m"
  update = "60m"
}

Thanks for responding. I tried both making a smaller storage (50G) and using the timeout provided, but it still fails after 21 retries. It's very odd. What else can I get you to help figure this out?

"21 retries" sound magical :) Can it be that your AWS credentials expire every 4 minutes or so?
I recommend opening an issue in terraform-provider-aws because it is unlikely to be a problem in this module itself.
Make sure to attach a log:
export TF_LOG=debug
terraform apply

Some interesting snippets:
2019-06-13T14:16:27.886-0400 [DEBUG] plugin.terraform-provider-aws_v2.14.0_x4: 2019/06/13 14:16:27 [INFO] Waiting for DB Instance (UT) to be available
2019-06-13T14:16:27.886-0400 [DEBUG] plugin.terraform-provider-aws_v2.14.0_x4: 2019/06/13 14:16:27 [DEBUG] Waiting for state to become: [available storage-optimization]
module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: Still creating... [10s elapsed]

for "module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]"
2019/06/13 14:18:45 [TRACE] dag/walk: vertex "module.aws-rds.output.this_db_instance_hosted_zone_id" is waiting for "module.aws-rds.module.db.output.this_db_instance_hosted_zone_id"
2019/06/13 14:18:45 [TRACE] dag/walk: vertex "module.aws-rds.module.db.output.this_db_instance_address" is waiting for "module.aws-rds.module.db.module.db_instance.output.this_db_instance_address"
2019/06/13 14:18:45 [TRACE] dag/walk: vertex "module.aws-rds.module.db.module.db_instance.local.this_db_instance_status" is waiting for "module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]"

2019-06-13T14:20:22.225-0400 [DEBUG] plugin.terraform-provider-aws_v2.14.0_x4: </DescribeDBInstancesResponse>
2019/06/13 14:20:22 [DEBUG] module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]: apply errored, but we're indicating that via the Error pointer rather than returning it: couldn't find resource (21 retries)
2019/06/13 14:20:22 [TRACE] module.aws-rds.module.db.module.db_instance: eval: *terraform.EvalMaybeTainted
2019/06/13 14:20:22 [TRACE] EvalMaybeTainted: module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0] encountered an error during creation, so it is now marked as tainted
2019/06/13 14:20:22 [TRACE] module.aws-rds.module.db.module.db_instance: eval: *terraform.EvalWriteState
2019/06/13 14:20:22 [TRACE] EvalWriteState: writing current state object for module.aws-rds.module.db.module.db_instance.aws_db_instance.this[0]

Finally ends with this, and I think you might be right about terraform-provider-aws:
Error: couldn't find resource (21 retries)

  on .terraform/modules/aws-rds.db/terraform-aws-modules-terraform-aws-rds-fedd420/modules/db_instance/main.tf line 39, in resource "aws_db_instance" "this":
  39: resource "aws_db_instance" "this" {

Looks like this was solved by upgrading from 0.12.1 -> 0.12.2. Closing out.


U256 operations give different results compared to Solidity uint256 operations

Version
ethers-rs: 0.17.0
Platform
Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:22 PDT 2022; root:xnu-8020.121.3~4/RELEASE_X86_64 x86_64
Description
Hello,
I noticed that operations performed on U256 types have different level of precision compared to Solidity.
I tried this code:
// Solidity
// Will return<PHONE_NUMBER>53
function getOutput() public returns (uint256){
    uint256 a = 99999640;
    uint256 b =<PHONE_NUMBER>;
    uint256 c = 10**6;
    return (a * b) / c;
}

// Rust
// Will return<PHONE_NUMBER>53
fn get_output() -> U256 {
    let a = U256::from(99999640);
    let b = U256::from(5368739031);
    let c = U256::from(10).pow(6);
    a.mul(b).div(c)
}

I expected the Rust function to return<PHONE_NUMBER>53 instead it returned<PHONE_NUMBER>53

The following compiles and runs correctly, are you sure it's ethers?
    use std::ops::{Div, Mul};

    let expected = U256::from(536871970353u64);
    let wrong = U256::from(536872035553u64);

    let a = U256::from(99999640);
    let b = U256::from(5368739031u64);
    // let c = U256::exp10(6);
    let c = U256::from(10).pow(6.into());
    // let res = (a * b) / c;
    let res = a.mul(b).div(c);

    assert_ne!(res, wrong);
    assert_eq!(res, expected);

Hello Dani,
thank you for your analisys. You are right it was a bug in my source code.
I'm sorry for that. We can close the issue.
By the way: this is a great library!


Support of schema combiner for --no-additional-proprierties

Hello,
I see in the Readme.md and in the code that you are skipping any model that contains one of the schema composition keywords.
Why are you doing this?
There were some impediments in supporting this feature? or it was just not your priority while creating the library?

It's been a while, but if I remember correctly, this was the reason:
https://stackoverflow.com/questions/22689900/json-schema-allof-with-additionalproperties#answer-23001194

In my company we use the allOf keywork a lot, and I would like to make the option --no-additional-properties works for those openapi files.
Would it be ok for you to implement an option like --merge-allof-definitions?
This option will be executed before the --no-additional-proprierties and it will merge the definitions that uses allOf in order to make the compatible with the additional properties check.
Example:
A definition like this:
{
  "allOf": [
    {
      "type": "object",
      "properties": {
        "prop1": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "prop2": {
          "type": "string"
        }
      }
    }
  ]
}

with the option --merge-allof-definitions it will be converted to
{
  "type": "object",
  "properties": {
    "prop1": {
      "type": "string"
    }
    "prop2": {
      "type": "string"
    }
  }
}

In this way it will not be skipped by the --no-additional-proprierties option.

I'm ok with that 👍. Please also point out in the README.md, in the caveat section why this option exists.

I'm coding this feature and I would like to have your opinion on an issue I'm facing.
While merging two objects inside the allOf combiner, if one of them use the rule minProperties or maxProperties, should I drop this rule and print a warning or should I sum the amount of properties allowed?
What does it looks more correct to you?

@marc0l92 from my point of view, both properties (minProperties and maxProperties) should be applied. But now as I think of it, I see a more concerning issue.. How to deal with schemas with conflicting definitions or properties? For instance if one schema declares minProperties: 3 and the other one minProperties: 5?
Or even worse (see id specifically):
...
              schema:
                allOf:
                  - $ref: '#/components/schemas/Pet'
                  - $ref: '#/components/schemas/Doggo'
...

components:
  schemas:
    Pet:
      required:
        - id
      type: object
      properties:
        id:
          type: string
    Doggo:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        age:
          type: number

I think, there is no clean solution to resolve these kinds of "merge conflicts". So, from my point of view, if there are conflicting properties, the validation should not be executed and after the merge-attempt, the process should be aborted with a proper error message, pointing out the paths of the conflicting properties.

@marc0l92 But then, there also may be cases like one schema defines minProperties: 5 and the other one defines maxProperties:3. These kind of issues also should be addressed. Considering this, I'm not sure if it's a good decision to implement all this logic in this tool, as the purpose of the OEV (OpenAPI Examples Validator) is to validate examples against their schema and it should focus on this specific purpose, rather then (internally) modifying the schema (and deal with the potential issues that may occur in this step).
Maybe it's wiser to let these (rather big) modifications on the schema be handled by a tool that has their focus on that (e.g. https://www.npmjs.com/package/json-schema-merge-allof) in a preceding step, independent of the OEV, then take the resulting schema and use it for validation.
What do you think?

You are right I did not thought about looking for a tool that does the merging specifically. We can delegate this job to that library.
I will update my pull request to remove the feature I was coding and just update the documentation in order to mention this library.

Thank you. I appreciate the efforts you already have put into this, though 👍

I really liked working with you.
Thanks for the great work with this library and for taking into account my requests.


Update DEMO link

:tada: This PR is included in version 2.18.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


make the project to use cxx as well

I got this error when I tried to build the example:
embedded-cli/build$ cmake ..
-- The C compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.10.12", minimum required is "3.0")
Enable extra flags for GNU
-- Configuring done
CMake Error: Cannot determine link language for target "embedded_cli_linux".
CMake Error: CMake can not determine linker language for target: embedded_cli_linux
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

The example's source code is cpp file. I think it needs "CXX" as well in the project definition.
I am curious why no one complained about this yet...

I can't merge your suggestion since lib itself doesn't require C++ while you enable it globally. The reason noone noticed it is probably because c++ was enabled when cmake was run with -DBUILD_TESTS=true. And in CI (where examples are built), tests are also built so there was no error.
I've pushed into master fix to enable C++ also while building examples.


Client occasionally crashes when teleporting - On Mac M1

Please check if your issue is not a duplicate by searching existing issues
Describe the bug
Character will get to the end of the teleport animation and then just before location changes the client freezes. Have to force quit client and restart. It only happens occasionally, but enough for me to report it.
To Reproduce
Teleport to any location..
Environment (please complete the following information):

OS: [macOS - Apple M1 Chip]
RuneLite version: [e.g 1.7.14]
Launcher version: [e.g 2.1.0]

This has been happening frequently to me as well for a while. I'm not at my computer so I can't provide full details, but I'm running Windows 10 on a 9900k, so it's likely not related to M1
For me, it's generally happened when I tele to Prif, but with the Shayzien re-work, I've had a few crashes while I'm in that area as well. My hunch is that it is related to heavy GPU areas being loaded.

This has happened to me 3 times now. I didn't notice at the time if it was happening when teleporting. The last time this happened I had just teleported to the farming guild and was about 10 seconds after I TP'd and started running to the shamans area. I'm running runelite on a MacBook 2017 with an m3 processor. I've attached the 3 crash reports in a zip here.
Runelite Mac Crash Reports.zip

I've had Mac client crashes 3 times now. I can't see any pattern with it. I commented this on another issue, but I'm posting here too in case they are related. The last time this happened I had just teleported to the farming guild and had started running to the shamans area. I've attached the 3 crash reports in a zip here.
Environment:
OS: macOS Mojave 10.14.6, 1.2 GHz Intel Core m3
Runelite version: 1.7.15
Launcher version: 2.0.0
Runelite Mac Crash Reports.zip

Sorry for your poor experience. Runelite is not natively supported on the M1. Adam, Hydrox, llemonduck and melky will do everything in their power to not support mac.

no one on the team has the hardware to debug this
if it isn't reproducible, it is probably not debuggable, anyway
since we do not have a native osx arm launcher, there is a lot of complexity here, from Rosetta emulating the jitted code from the vm. It's possible using a native VM such as described here could fix it https://github.com/runelite/runelite/wiki/MacOS-Arm64-(M1-chips)-Native-Support
we should be able to provide a native launcher around September at which point we would probably no longer even try to support the current configuration (RL on Rosetta) so this is probably not worth looking anyway for us currently. #12959

I've had the same issues. It happens very often when I use my Portal Nexus to teleport to GE, which has been set to left-click.

@piacsek wait till September and hopefully this will be fixed but realistically speaking until Adam steps down there will be zero development for macs. He is in denial its in the future. We need a more forward thinking project manager for runelite.

reopen if this still happens on launcher v2.2.0


63012 scheduler update from upstream

Merge branch 'master' into 63012-scheduler-update-from-upstream
Master branch brings in 3 functional changes:
"Allow configuring maximum document ID length during replication"
d23025e
"Fix crashes when replicator db is deleted"
7a2b2b6
"Make sure to log db as well as doc in replicator logs"
50dcd7d
Other commits besides those are corrections or minor fixes to one of those 3 commits.
The 1st change (with its additional fixes) merged cleanly and are part of this commit.
The other two, were changes to replicator manager and those will be brought in separately as
individual commits. For this merge those changes to replicator manager were ignored and
replicator manager file in this branch "won" the conflict resolution.

+1


Remove unused assignment to satisfy clang-analyzer

[approve ci autest]

[approve ci autest]

Original clang-analzyer report at https://ci.trafficserver.apache.org/clang-analyzer/github/5774/2019-08-09-070811-23489-1/

Seeing the issue on master too:
https://ci.trafficserver.apache.org/clang-analyzer/master/2019-08-09-094933-32000-1/


chore: delete duplicate deployments list

This PR deletes the DeploymentsTable component in favor of just using the DeploymentsList component everywhere.
The prefix prop used on the table component has been ported to the list for consistency in implementation on the flows page.

Idk that the prefix is necessary but since that's the existing functionality it would be a simple change to support the prefix on the list component. Are you apposed to adding that and preserving the urls?

For context the prefix allows for having multiple "union filters" on the same page. Though we haven't really leveraged that much.

Idk that the prefix is necessary but since that's the existing functionality it would be a simple change to support the prefix on the list component. Are you apposed to adding that and preserving the urls?

@pleek91 yeah good call. I'm really not apposed to it and having to add these disclaimers to PR's is enough of a sign that I should just support it. Updated.


Evaluate the integration between XAML Display Textures and CGContext

@msft-Jeyaram tackled this as part of #1332. We can open a future issue to investigate better integration down the line.


DayPickerSingleDateController support phrases. Changed phrases state …

DayPickerSingleDateController support phrases. Changed phrases state to props.
When using DayPickerSingleDateController I'm not able to use phrases for language translations.
Here is a suggestion for a solution.

Coverage remained the same at 86.202% when pulling fd6c0d33df47a0ccf0bb48f79887c659e52dec7e on davidskoog:master into<PHONE_NUMBER>74726228d09cc834e240e5976caf70 on airbnb:master.

Coverage increased (+0.04%) to 86.243% when pulling 6d222e4623a3df6beb49d89c58c200e3532d71d0 on davidskoog:master into<PHONE_NUMBER>74726228d09cc834e240e5976caf70 on airbnb:master.

Coverage remained the same at 86.243% when pulling 49ce755002e30612ed2c6ce21ab8916cb773955d on davidskoog:master into f149c680916f824139e8be9e64166e86ca1e582a on airbnb:master.

@davidskoog can you add a regression test for this? That's all I'm waiting on :-)

Hi again @ljharb. Sorry for this late reply. I'm have been on vacation for a time. I see that you merged my pull request, exciting. I don't know what a regression test is but until next time I will find out.
// David

@davidskoog just an automated test to prevent this specific issue from occurring in the future - i.e., from "regressing".


Freeze and Gray Left Window When Using Ollama Local LLM (quen2.5-coder32b)

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Windows 11
- VSCode Version: 1.95.3
- Extension Version: continue v0.8.60
- Model:quen2.5-coder32b (ollama local)

Description
Sometimes when sending a prompt to the local LLM (quen2.5-coder32b) using the continue.dev extension, the left window freezes and becomes gray. The issue resolves only after restarting VSCode.
To reproduce
No response
Log output
No response

@ilan4ever does this happen if you use a smaller model, or something not running on your local machine?


Include alexmolas.com to sites list

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[x] I used the uncompressed size of the site
[x] I have included a link to the GTMetrix report
[x] The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

- domain: alexmolas.com
  url: https://www.alexmolas.com
  size: 230
  last_checked: 2023-07-18

GTMetrix Report:
https://gtmetrix.com/reports/alexmolas.com/P69MCIQN/

While this looks quite ultra-minimal (as defined in our FAQ), I do appreciate the clean design on this site in particular. Thanks for adding it!


FENVI HB1200 bcm94360 (smbios iMac19,1)

Describe the bug
BEFORE : everything was working, sleep and wake with intel board and bt-wifi config.plist
AFTER :
Im using your EFI config-no-wifi-bt.plist, to maintain enabled HS11 and HS12 (for fenvi1200 usb internal connection)
Before I bought this board I was using the Intel board (the one that came with the motherboard), I bought this one because I need the airdrop to work.
After install new fenvi board, I went to BIOS and disable WIFI from there and  went to config.plist and disabled all kexts related to intel board.

However, after installing this board, now the hack suffers instant wake after sleeping.
After research I found a workaround that Fix Instant Wake  (GPRW method)
but after this solution, now my hack sleeps and only wakes with power button, i think this ssdt disables usb signal while sleeping
Error log from
pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"
2024-08-15 06:41:21 -0300 Wake from Normal Sleep [CDNVA] : due to XDCI CNVW/UserActivity Assertion Using AC (Charge:0%)
Expected behavior
Sleep and wake working and hack wakes using mouse or keyboard
I was thinking if there is a way to disables only the HS11 and HS12 usb while sleeping, case maybe they are the ones waking up the hack
Hardware Specifications (please complete the following information):

CPU: i9 9900ks
GPU: radeon rx5700xt
Motherboard: designare z390
Storage: nvme samsung evo in APFS
Fenvi HB1200 bcm94360

@tucomel sorry for the delayed response. I don’t have a Fenvi card to test this on so I may not be much help. I know Fenvi cards have caused sleep wake issues for many others. Sometimes it’s a hardware issue, some reported keyboards reconnecting, wake from sleep caused by networking… unfortunately there is no silver bullet I know of to identify the culprit. I did check the kext and both Ports HS11 and HS12 are set as internal ports.
Check the following:
Wake for network access - is disabled in Energy Saver settings.
Turn off you keyboard & mouse to check if they are causing the issue.
Check through Casey’s list here
Let me know if you find a solution. It may be helpful for others.


There was a problem with the request

Played game to this position
notation as per chess, 1 is lowest row, A is leftmost column
red a4, c2,f3,f5
red king d3,d5,f7
black king e2
human plays d3 to f1, takes black king to win
click select of king shows valid moves as normal
clicking blank square to move causes alert to appear with "There was a problem with this request!"
/move Failed to load resource: the server responded with a status of 500 (Internal Server Error)
The select/move sequence can be repeated with same results
Also, you're now featured on the SWI-Prolog news.

Many thanks Anne.
Recognising the game is over instead of sending a response the current code can't handle for some reason is a priority bug I hope to sort out soon.
  From: Anne Ogborn<EMAIL_ADDRESS>
To: roblaing/checkers-webapp<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Sent: Sunday, June 4, 2017 9:29 PM
Subject: [roblaing/checkers-webapp] There was a problem with the request (#1)
Played game to this position
notation as per chess, 1 is lowest row, A is leftmost columnred a4, c2,f3,f5
red king d3,d5,f7
black king e2human plays d3 to f1, takes black king to winclick select of king shows valid moves as normalclicking blank square to move causes alert to appear with "There was a problem with this request!"/move Failed to load resource: the server responded with a status of 500 (Internal Server Error)The select/move sequence can be repeated with same resultsAlso, you're now featured on the SWI-Prolog news.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I've managed to get the scripts to recognise when the game is over and put up an alert box. In due course, players will be offered a new game (for now, player have to press the refresh button on their browser).


pull request for e2e test at 11/09/2016 00:15:10

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Percentage memory in widget

Suggested new feature or improvement
It might be useful if the memory widget shows the percentage of memory used in addition to the total memory used
Scenario

Additional details
No response

Hai, I want to work in this feature.

Go for it!

I raised a pr that has this feature @cinnamon-msft

I am looking forward to use this new feature, good job @krschau


harvester upgrade lookup enhancements

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Problem:

Harvester upgrade responder currently does not have the logic to clean up Version CRD's if the ugprade responder version gets udpated.
Solution:

The PR changes on version sync is handled in the harvester controller. This will allow for harvester team to update MinUpgradableVersion for an existing version, to trigger harvester clusters to update the version objects available for upgrade.
This will allow us to technically trigger rollback of version upgrade offers available from the harvester responder
Related Issue:
https://github.com/harvester/harvester/issues/5102
Test plan:

@mergifyio backport v1.4


[Snyk] Security upgrade twilio from 3.52.0 to 3.54.2

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Regular Expression Denial of Service (ReDoS) SNYK-JS-AXIOS-1579269
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: twilio
    The new version differs by 13 commits.

97f60c8 Release 3.54.2
8c0898c [Librarian] Regenerated @ 15a74dddee9e2bba5fb0d673b5288e65d4ab3201
9a7da3e chore: update template files
c226431 fix: url encoding for validateExpressRequest (#642)
10fa1ec fix: axios update to v0.21.1 (#640)
bf4a89a Update .travis.yml
c270737 Update .travis.yml
ae96ebe Release 3.54.1
58e69a6 [Librarian] Regenerated @ 15a74dddee9e2bba5fb0d673b5288e65d4ab3201
1cb33f1 Release 3.54.0
aab9558 [Librarian] Regenerated @ 28cbb7d771677c50c64003cc2c5afc660ccc6fa3
a39b111 Release 3.53.0
221fba8 [Librarian] Regenerated @ 0604d0d9a213f39954083b366c3fc667d22d702e

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Upgraded in #73


Build stuff (I hope this worked)

Milo- I just basically copy and pasted the stuff from our repo, fix anything that's wrong pls! :D

HWC already exists in the repository- and is used in the StrafeDrive example op mode, did you mean something more?


Feature/dice coefficient

Added dice coefficient to semantic segmentation workflow

Codecov Report

Merging #691 (cb8c0ee) into main (fa35e60) will decrease coverage by 0.64%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #691      +/-   ##
==========================================
- Coverage   89.37%   88.74%   -0.64%
==========================================
  Files         158      158
  Lines       12854    12845       -9
==========================================
- Hits        11488    11399      -89
- Misses       1366     1446      +80

Impacted Files
Coverage Δ

...lity/loggers/model_logger/semantic_segmentation.py
94.44% <ø> (+0.05%)
:arrow_up:

dataquality/schemas/semantic_segmentation.py
98.71% <100.00%> (+0.06%)
:arrow_up:

... and 12 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Rename SessionProtocolNegotiationException to SessionCreationTimeoutException when session creation timed out

SessionProtocolNegotiationException can be thrown from a few places in Armeria client side. However, it is more accurate to create a new type of exception named SessionCreationTimeoutException and throw it here instead of throwing SessionProtocolNegotiationException. Because SessionCreationTimeoutException is a more accurate name describing the what has gone wrong in this scenario.
Full discussion context on Discord is here. Useful info here is:
"When you make a connection attempt, a server will usually accept an incoming connection at O/S level, even if you did not call ServerSocket.accept() because OS's network stack keeps the accepted the connection it its 'backlog'. Therefore, it is practically impossible to distinguish between the two unfortunately.
(Because the client will perceive the connection as established anyway unleass the server is under very high load, filling the socket accept backlog)"

/ Assign to me ?

For sure.

For sure.

I found that this problem has been solved in the latest version and this ISSUE can be turned off~ !

Is this solved? I am failing to find the related PR.


shouldComponentRemount

👉  Formatted RFC
This is a proposal to add a new lifecycle method or higher-order component to handle resetting component state when props change. (Think of this as a controlled key).
Returning true from this method would be equivalent to changing the key prop -
it unmounts and remounts the component instead of preserving the instance.

This method would help component authors define the relationship between components and the data they represent by providing a way to say "the entity this component represents has changed, remount".
Per @vcarl:

adding a key is a very elegant solution for when you need to re-run mount behaviors, it has the significant drawback of being completely outside the component's control.

This method would also remove a lot of housekeeping boilerplate that is written to make components able to receive props that require a full state reset (typically a combination of componentDidMount, componentWillReceiveProps/getDerivedStateFromProps, and componentDidUpdate).

Userspace implementation of a proposal using a higher-order component: https://github.com/alexkrolick/react-remount-component

I like this! I was thinking about this the other day: adding a key is a very elegant solution for when you need to re-run mount behaviors, it has the significant drawback of being completely outside the component's control.
Another possibility I see would be something like an identity function that returns something analogous to a key prop. If it changes, the component is destroyed and recreated.

Another possibility I see would be something like an identity function that returns something analogous to a key prop. If it changes, the component is destroyed and recreated. getDerivedKeyFromProps?

Yeah, I put something like that in the Alternatives section. I think I prefer returning true/false because you don't have to serialize the result to a string which is a known difficulty with keys currently. Internally React could basically assign a random key whenever the function returns false.

How does this work for function components?

Function components would fall more under the use case of differentiating items in a list without having to reduce/serialize the identity down to a string.
I think you could approach this in a few ways. In both cases the function signature would need to be (nextProps, prevProps). I am not sure if keeping prevProps around for comparison is viable.

Make shouldComponentRemount(nextProps, prevProps) static on both class and function components:

function MyComp (props) { return
{props.text}
 }
MyComp.shouldComponentRemount = function(nextProps, prevProps) {return true}

Make key accept a function, or make shouldComponentRemount a prop that operates the same way. This would end up looking similar to https://ui.reach.tech/component-component

@alexkrolick

Returning false from this method would be equivalent to changing the key prop -

Maybe i misunderstood but if the method is named shouldComponentRemount shouldn't it return true to mimic the key prop change?
So i would expect to see this:
Returning true from this method would be equivalent to changing the key prop -

How does this work for function components?

@gaearon If this is categorized as a life-cycle method why should it be any different from any other life-cycle methods? none of them are used in function components (at least not in user-land).

I like this suggestion and its sure can help, but just for the protocol we can achieve similar behavior today with a simple HOC.
(Naive implementation) :
const withRemount = (Component, key) => (props) => {
  const asKey = props[key];
  return <Component key={asKey} {...props} />
}

This is how you can use it:
// this is our component (maybe our library)
class User extends React.Component {
  componentWillUnmount() {
    // just to test it
    console.log('componentWillUnmount')
  }
  render() {
    const { name, userId } = this.props;
    return (

{`Hello ${name}, your id is ${userId}`}

    )
  }
}

// We can export this version to our consumers
// export default withRemount(User, 'userId');
const RemountingUser = withRemount(User, 'userId');

class App extends React.Component {
  state = { name: 'john', userId: 123 }

  onNameChange = ({ target }) => this.setState({ name: target.value });

  onIdChange = ({ target }) => this.setState({ userId: target.value });

  render() {
    return (

        <input type="text" onChange={this.onNameChange} placeholder="name" />
        <input type="text" onChange={this.onIdChange} placeholder="userId" />
        {/*The consumer doesn't know but the userId they provide is actually our key */}
        <RemountingUser {...this.state} />
        {/*
          The great thing about it is thta they can provide a different key
          and we are not breaking the default behaviour
          <RemountingUser {...this.state} key={this.state.name}/>
        */}

    );
  }
}

The responsibility to decide "whether or not" or "at which moment to check if" a component should remount or not needs to reside with the engineer. We write the logic. Either way, the component remounts when it needs to. This additional lifecycle method seems frivolous.

shouldComponentRemount

OK so now that stateful function components are a thing thanks to hooks, I think a static method on both class and function components would make the most sense.
class Foo extends React.Component {
  static shouldComponentRemount(oldProps, newProps) {
    if (oldProps.id !== newProps.id) return true
    return false
  }

  render() {
    return (/* something */)
  }
}

function Bar(props) {
  /* hooks n stuff */
  return (/* something */)
}

Bar.shouldComponentRemount = function (oldProps, newProps) {
  if (oldProps.id !== newProps.id) return true
  return false
}

Doesn't look great on functions but there's precedent with defaultProps, propTypes, contextTypes, etc.

Userspace implementation:
const withShouldComponentRemount = WrappedComponent =>
  class WrapperComponent extends React.Component {
    static getDerivedStateFromProps(props, {prevProps, key}) {
      return {
        prevProps: props,
        key: WrappedComponent.shouldComponentRemount(props, prevProps)
          ? `${Math.random()}`
          : key,
      };
    }

    static displayName = `withRemount(${
      WrappedComponent.displayName || WrappedComponent.name
    })`;

    state = {
      key: `${Math.random()}`,
      prevProps: {},
    };

    render() {
      return <WrappedComponent key={this.state.key} {...this.props}  />;
    }
  };

@alexkrolick Have you tested your implementation? not sure you have access to the key prop when it passed like that.

If you only care about props, maybe a better solution for functional components would be a wrapper, like memo?
const Bar = React.withRemount(Foo, (oldProps, newProps) => {
  return oldProps.id !== newProps.id
});

@BTMPL As i mentioned in my comment this can be achieved in user-land.
In fact, I was playing with the idea and created a small library (react-remount) that is doing just that.
If you want to play with it.  :nerd_face:

I like how @BTMPL's HOC allows comparing prop changes in a function and feels similar to new APIs like React.lazy, and React.memo.
@sag1v, in your version the key is a copy an existing prop, and doesn't compare prop changes. Works for some use cases but it's less flexible.

@alexkrolick not sure i follow, what use case it doesn't work for?
It will just inject a key prop with the value of the prop you set. the comparing will be automatically handled by react.

Having a function is just more flexible, e.g. you can recreate on specific condition, not only on change. Can still be implemented in userland though?

@alexkrolick

I don't want to have to come up with a serialization of the key

You don't need to. you provide a prop / props that you think should re-mount when their value is changed.

Having the key be randomly generated when a function returns true allows more complex logic and decouples the remount logic from the particular implementation of using a key at all.

That's exactly the point, you are not using a key as the user of the component, you just tell it what changes should re-mount it. under the hood it will pass the value of the props you defined as a key for you.

Again, that depends on the value of the props in question being serialized. That shouldn't matter. If you want to implement that as the solution in your library, that's fine, but the ask in this RFC is more general.

@alexkrolick Sorry if i wasn't messaging clearly, i'm really not trying to be defensive here.
I never used this library and i doubt i'll use it anytime soon. I wrote it only because i thought this was an interesting challenge, and actually i still think it's interesting. This is why i asked for a specific use case where you think it can't cover. I just wanted to keep playing with it and see if it is doable without another React API.
All in all i think that what you are asking in your RFC is something that is doable already with the tools React provides today.
The mechanism for re-mounting a component is available with key props.
The only downside with it, is that the consumer of A component is responsible to provide that key, which is kind of implementation details and totally a none-friendly API.
and this is what i was trying to solve with the library i wrote, some way to provide a key to a component that would be transparent to the consumer of that component.

Implementation of a user-space solution: https://github.com/alexkrolick/react-remount-component
Based on @BTMPL's idea of an HOC that doesn't require static methods.

My impression is that a withRemount API doesn't buy us anything meaningful over
function Inner() {
  // ...
}

function Outer({ id, ...rest }) {
  return <Inner {...rest} key={id} />
}

So I think we can close this.

Addressing this specifically:

adding a key is a very elegant solution for when you need to re-run mount behaviors, it has the significant drawback of being completely outside the component's control.

A component can always control this by exporting a wrapper. This should be unobservable.


sysfs: export function to reenumerate all devfs/sysfs interfaces

Then if a user do something that she knows is doing to expose more interfaces, like using config-pin then the user will want periph to realize that without having to restart the app.
Thinking about signature sysfs.Reenumerate() error

There's an interesting issue with this, in the case of CPU memory mapped pins, as the CPU driver may have overridden the pins.

Ported to https://github.com/periph/host/issues/43.


add option to only inject selected pods

Presently, all pods in the selected namespace have sidecars injected. It's necessary to have an option to limit injection to selected pods in selected namespaces.
This can be a webhook option, hopefully. For example, the default mode could be "all pods in selected namespace(s)" with the option to inject "selected pod(s) in selected namespace(s).

ok, we can add an option for users to pass a pod label that the injector can look for. If both the namespace and pod labels overlap, then the namespace label would take precedence?

Currently, all pods in a namespace selected by label openziti/ziti-tunnel=enabled. What if we used this label instead to set a mode?
For example,

openziti/ziti-tunnel=enabled currently means "all pods in this namespace"

We could preserve that behavior by allowing another value openziti/ziti-tunnel=annotated, meaning "only pods with an identity role annotation."
This seems acceptable, but I would prefer something else. I'm continuing to generate ideas.

Yeah, lets continue to hash this out. Great points, if same label, then ?openziti/ziti-tunnel=namespace , openziti/ziti-tunnel=pod,'
would one want entire namespace1 but few pods in namespace2 for example?


Enable dtype support for huggingface server

What this PR does / why we need it: Currently, HF runtime doesn't have support to switch dtypes while VLLM does. And VLLM seems to load 16bit by default and HF seems to be running at 32bit causing inconsistencies.
Type of changes

[x] New feature (non-breaking change which adds functionality)

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[x] Enable --dtype=float16 (or bfloat16 or float32) argument while running huggingfaceserver via python -m huggingfaceserver --model_id=meta-llama/Llama-2-7b-chat-hf --model_name=llamachat --disable_vllm. Check for dtype of weights and memory usage.

@Datta0 Can you help sign off your commit?

@yuzisun Done signed off the commits :)

@yuzisun can you please check this :)

@yuzisun can you please check this :)

@Datta0 can you help rebase the PR to resolve the conflicts?

@yuzisun  Done :)

@Datta0 the e2e test failed here
  =====================================  Logs for Predictor Pod: hf-t5-small-predictor-00001-deployment-c54b8fc6-tbcmp  =========================================
  INFO:kserve:Loading generative model for task 'text2text_generation'
  ERROR:kserve:Failed to start model server: HuggingfaceGenerativeModel.__init__() got an unexpected keyword argument 'dtype'
  ================================================================================================================

/lgtm
/approve

Preparing PR description...

PR Description updated to latest commit (https://github.com/kserve/kserve/commit/94aad87a162ca7cc2e010bf746cfdcbde0d8a38d)


[hab3_merge] -  navmesh related refactor from SIRo to existing files

Motivation and Context
This PR contains remaining NavMesh related changes from SIRo to files which already exist in main.
How Has This Been Tested
CI, no additional testing was done
Types of changes

[Development] A pull request that add new features to the habitat-lab task and environment codebase. Development Pull Requests must be small (less that 500 lines of code change), have unit testing, very extensive documentation and examples. These are typically new tasks, environments, sensors, etc... The review process for these Pull Request is longer because these changes will be maintained by our core team of developers, so make sure your changes are easy to understand!

Checklist

[x] My code follows the code style of this project.
[x] I have updated the documentation if required.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes if required.

@vincentpierre Thanks for probing about the get_robot_spawns logic. I took a closer look and re-wrote that function. I think it makes more sense now.

Note: The Hab2 interact benchmark is failing now after the fix. This is an existing bug in Habitat-lab which was exposed by the fix in 21d62b8199e43bccfacc773f4141de737a265a9d. It should be addressed externally to this PR.


[BUG] asset download

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
The assets for the bloxstrap download won't work. I waited for like 30 mins that the assets loading but it won't working.

Hi! Here does your computer support like 64x bit? beacuse i was going through older versions and saw that its supported on 86x and 64x and btw check if your computer isn't that old..!

What do you mean by "the assets"?

What do you mean by "the assets"?

He could mean Roblox player itself, it's not downloading?? Either that or the dotnet runtime

probably the assets in the game (example being models, animations, textures, and audio

probably the assets in the game (example being models, animations, textures, and audio

I doubt it, it says the assets for bloxstrap

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


5.7 MustVerifyEmail not working with JWTSubject

thank you for the great template. After adding the corresponding 5.7 files I spend many hours to integrate the new MustVerifyEmail Interface, but it seems only to work without JWTSubject. I am getting registered without a verify email or error. Do you have a hint, so I could make a Pull request?

after additional hours: the error is laravel-vue-spa/app/Providers/EventServiceProvider.php, upgrade it to 5.7 distribution file


Concerning license in the javadoc jar

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
0.5.0 - https://repo1.maven.org/maven2/org/apache/fury/fury-core/0.5.0/fury-core-0.5.0-javadoc.jar
Component(s)
Java
Minimal reproduce step
Hi there from the ASF Legal Committee side of the house (though this came up initially at work) :)
The javadoc jar has an Oracle Proprietary license in legal/LICENSE - "Oracle No-Fee Terms and Conditions (NFTC)". This should not be in there, and neither (perhaps) should any content it relates to. I see the following on files within the documentation jar:

./link.svg: ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
./copy.svg: ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
./script.js: * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
./search-page.js: * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
./search.js: * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

From initial inspection, I don't see how it gets there. It's not in the GitHub source. I've looked at the 0.5.1 draft release, but I don't see a javadoc jar there to review.
I'm definitely interested if this is something being introduced by an Oracle JDK. We knew that they were injecting other open source licenses (see: https://www.apache.org/legal/resolved.html#from-java-9-onwards-javadoc-can-include-search-functionality-that-includes-javascript-under-other-open-source-licenses-can-apache-projects-include-this-javadoc ) but this is the first time I've seen proprietary potentially injected. Perhaps it comes down to the JVM/JDK used to make the release and we need rules about that.
What did you expect to see?
That an Apache release did not include proprietary licensing.
What did you see instead?
:)
Anything Else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

Hi @hyandell , thanks for bring up this issue. I checked out the 0.5.1 draft release, the jar https://repository.apache.org/content/repositories/orgapachefury-1007/org/apache/fury/fury-core/0.5.1/fury-core-0.5.1-javadoc.jar contains same issue :

I never think about the javadoc jar would introduce an legal issue.
I used oracle jdk8 for release fury 0.5.0 jar.
I tested with openjdk 1.8, everything is fine.

I will create a PR to validate the release packages and add checks to fury release document.

Thanks Shawn that sounds great.
And leaves a need for a "Please make releases with OpenJDK" or some instruction; or at least "Do not use Oracle to make Apache releases". I'll take that to the licensing side to headscratch on that.

@hyandell  I tried openJDK 22.0.2 and the result was the same.

@hyandell I tried openJDK 22.0.2 and the result was the same.

Hi @ceki ,thanks for reporting this. I forgot to switch jdk before releasing. I'm writing a automatic release script to release jar. I will check jdk in the script. Hope this issue can be avoided in future release.


Test branch of faraday

testing CI with a branch of faraday I'm working on.

Sorry, danger was broken on Faraday 0.16.0 and 0.16.1 because of an issue with octokit's use of Faraday errors. I was working on a fix for it last night and wanted to make sure that it fixed the issue I was seeing in Hashie CI. I can close this now that it's done its job in validating


Add the hostname to the platform module

I like to have the machine name in my prompt. I also predicate some startup configuration on the host name. Lastly, I have some scripts that alter their behavior based on the host name. What I do now is set a HOST var that is set to the output of the hostname command. It would be nice if this, or the output of uname -n, was automatically exposed by the platform module. Possibly in two forms: the FQDN and the machine name.

Note that elvish already runs hostname to populate the default right prompt (as well as running whoami).

Is it desirable to make this settable (requires root privileges of course)?
Also, should elvish query the hostname before every prompt, in case it has changed? Or perhaps on every invocation? It might easily change, at least in a world of DHCP provided network addresses.
Further to complicate things, note that macs have three hostnames. You can query and set them with the scutil program. They are: HostName, ComputerName, and LocalHostName. The first of these is the one known by us unix geeks; the second one is the “user friendly” hostname, whatever that means; and the last one is the Bonjour name.

No, to allowing the value to be settable -- it should be readonly. For one thing changing it normally requires root privileges so would only be possible from an elvish instance run by root. More important it seems to me administrative changes to the machine configuration are outside the purview of Elvish.
Whether the value should be cached was discussed in the fish shell community ~4 years ago. The consensus was that it should be determined once and the value cached. For an interactive shell it's likely harmless if the hostname changes due to changing networks and getting a new DHCP lease. Scripts that use the value will be okay assuming they're not long running; that is, not acting like a daemon. Having said that, it might be worthwhile to provide a mechanism for forcing the value to be refreshed.
I think we can safely ignore OS specific features like macOS Bonjour names. And while it's possible for the network hostname to differ from the computer (machine) name reported by the uname API that is unlikely. But if the two values are different we probably don't care since the most salient name is the "hotname"; i.e., the DNS host name.

Also, note that the default Elvish right prompt caches the output of hostname via the constantly command. So far no one has complained :smile:

Agreed on the value being readonly. I merely asked to have the option on the table, the better to think about it. Also the other hostnames, for those who care they can call out to scutil themselves. But the fact that Macs can have three different hostnames could suitably be (briefly!) mentioned in the documentation of the variable.

I've decided to simply defer to Go's os.Hostname. Which actually uses the OS uname API by default. If and when someone tells us that is suboptimal on their system we can revisit the question.

Also, I haven't provided a way to invalidate the cached information. Doing so is trivial but should remain unimplemented until we have a good reason to implement it.

If the hostname changed and I wished the shell to reflect that, I would probably just exec elvish. Of course that blows away any information I have collected in variables, but such data is usually short-lived anyway.


Add support for Alacritty

Adds Alacritty support (for when not using tmux and using the alacritty terminfo files).

My text editor removed the trailing whitespace in the last commit. I can add it back via new lines for the Markdown line breaks if you'd like.

Any updates on this?


chore: release 1.0.0

Release is at https://github.com/googleapis/nodejs-promisify/releases/tag/v1.0.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Scraper Returns  Error: {"errors":[{"code":366,"message":"Missing data."}]} when using the login() function

When using the login function with username, password and email on a local instance of scraper, it works and I am able to use functions that need the login function.  Furthermore, isLoggedIn also returns true.
However, when pushing the same code to a server on the cloud, I get the error below.

I am using the same exact inputs that I used on local on the cloud server
This code is not run client side so I am not using the proxy but I tried anyway and it gave further errors on both local and the cloud server.
Is there any configurations needed that I am unaware of?
Im also using express.js

Same exact issue with my app

Hey, what hosting service do you use? Also, do you do app.enable("trust proxy") in your code or not?

I did some logging of the onboardingTaskUrl on line 266 (as well as headers and data (body) that is send)
Here's what's being sent locally (with cleared cookies):
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_name":"login","input_flow_data":{"flow_context":{"debug_overrides":{},"start_location":{"location":"splash_screen"}}}}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191966613875304:-1721919666399:1sPWqs62lTIAjRE3SEn0wZ8L:0","subtask_inputs":[{"subtask_id":"LoginJsInstrumentationSubtask","js_instrumentation":{"response":"{}","link":"next_link"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191966613875304:-1721919666399:1sPWqs62lTIAjRE3SEn0wZ8L:1","subtask_inputs":[{"subtask_id":"LoginEnterUserIdentifierSSO","settings_list":{"setting_responses":[{"key":"user_identifier","response_data":{"text_data":{"result":"allttt1807501"}}}],"link":"next_link"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} // this part is different from production {"flow_token":"g;172191966613875304:-1721919666399:1sPWqs62lTIAjRE3SEn0wZ8L:7","subtask_inputs":[{"subtask_id":"LoginEnterPassword","enter_password":{"password":"hopefullythismakemoney","link":"next_link"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191966613875304:-1721919666399:1sPWqs62lTIAjRE3SEn0wZ8L:8","subtask_inputs":[{"subtask_id":"AccountDuplicationCheck","check_logged_in_account":{"link":"AccountDuplicationCheck_false"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191966613875304:-1721919666399:1sPWqs62lTIAjRE3SEn0wZ8L:14","subtask_inputs":[]}

Here is what's being sent in production (render.com)
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_name":"login","input_flow_data":{"flow_context":{"debug_overrides":{},"start_location":{"location":"splash_screen"}}}}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191939981972814:-1721919400102:I3rJn2VppOBHfAaRmxNHT97d:0","subtask_inputs":[{"subtask_id":"LoginJsInstrumentationSubtask","js_instrumentation":{"response":"{}","link":"next_link"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} {"flow_token":"g;172191939981972814:-1721919400102:I3rJn2VppOBHfAaRmxNHT97d:1","subtask_inputs":[{"subtask_id":"LoginEnterUserIdentifierSSO","settings_list":{"setting_responses":[{"key":"user_identifier","response_data":{"text_data":{"result":"allttt1807501"}}}],"link":"next_link"}}]}
https://api.twitter.com/1.1/onboarding/task.json {} // different from when it runs locally
{"flow_token":"g;172191939981972814:-1721919400102:I3rJn2VppOBHfAaRmxNHT97d:6","subtask_inputs":[{"subtask_id":"LoginEnterAlternateIdentifierSubtask","enter_text":{"link":"next_link"}}]}

/opt/render/project/src/twitter-scraper/dist/auth-user.js:274
            return { status: 'error', err: new Error(await res.text()) };
                                           ^
Error: {"errors":[{"code":366,"message":"Missing data."}]}
    at TwitterUserAuth.executeFlowTask (/opt/render/project/src/twitter-scraper/dist/auth-user.js:274:44)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async TwitterUserAuth.handleEnterAlternateIdentifierSubtask (/opt/render/project/src/twitter-scraper/dist/auth-user.js:143:16)
    at async TwitterUserAuth.login (/opt/render/project/src/twitter-scraper/dist/auth-user.js:65:24)
    at async Scraper.login (/opt/render/project/src/twitter-scraper/dist/scraper.js:282:9)
    at async startTwitter (file:///opt/render/project/src/twitter.js:35:7)

So the beginning of the login process is the same, but not the end: locally, it does subtask_id LoginEnterPassword, while production subtask_id is LoginEnterAlternateIdentifierSubtask...
It seems like it tries to enter an alternate identifier subtask but it doesn't exist, hence why it says "missing data" (missing alternate identifier/alternate identifier subtask)
@karashiiro would it be possible to provide us with a quick fix for this?

Not sure what that subtask actually represents, it sounds like a 2FA challenge? I've been incredibly busy lately with some service outages in another project I maintain, but if there's any info on the flow floating around I can see what I can do.

You were right, all I had to do was add the "email" parameter (used a phone number instead, though)
I was afraid it would be required to also obtain the verification code, but for some reason there was no need.


proxy: slim Istio agent dependencies

Continuation of #50134 to apply to pkg/istio-agent. This leaves just the SDS server to finish.

@kyessenov: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@kyessenov: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test release-notes

unit-tests-arm64_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kyessenov: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test unit-tests-arm64

unit-tests_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kyessenov: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test unit-tests

unit-tests-arm64_istio
6ec3cebef7036d9389c3338bee3c7fc223fb20e0
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@kyessenov: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
0a79b06c83ef59d73a93a497b72d7886adc5e215
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@costinm That's not true, Envoy gateway has an agent https://github.com/envoyproxy/gateway/blob/main/internal/cmd/server.go. You have to have an agent on k8s because Envoy is not k8s-native. We can leverage any improvement here in Envoy, but that will take time.

Kuat - I'm running it in a cluster, and the yaml looks like:
command:
- envoy
args:
- args:
- --service-cluster default/eg
- --service-node $(ENVOY_POD_NAME)
- |
--config-yaml
admin:
... (normal bootstrap )
And the image is envoyproxy/envoy:distroless-dev
On Wed, Apr 3, 2024 at 10:24 AM Kuat @.***> wrote:

@costinm https://github.com/costinm That's not true, Envoy gateway has
an agent
https://github.com/envoyproxy/gateway/blob/main/internal/cmd/server.go.
You have to have an agent on k8s because Envoy is not k8s-native. We can
leverage any improvement here in Envoy, but that will take time.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/50212#issuecomment-2035175650, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUR2WSWWEAHI6IUC7VU7LY3Q3OPAVCNFSM6AAAAABFUEDA76VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZVGE3TKNRVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@costinm The challenge is the build. Yes, I think it would be nice to run with files, without SDS, but then we need a separate build with or without SDS. We should certainly pursue that for Google build, but the OSS needs to through a long migration process to shed the code.


ROS to Cyber sensor data conversion

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04): 20.04
Apollo installed from (source or binary): Source
Apollo version (3.5, 5.0, 5.5, 6.0): 6.0
Output of apollo.sh config if on master branch: master

Hi,

I am trying to build the communication bridge between Apollo and VTD simulator.
The simulator has a ROS interface so my ideas to utilize the apollo_to_ros project to convert ROS sensor data to Cyber sensor
https://github.com/AuroAi/apollo_ros_bridge
There are existing conversions of ROS Point cloud to Cyber Point cloud and ROS IMU to Cyber IMU.
I want to add ROS Camera to Cyber camera and ROS radar to Cyber Radar.
Adding new sensor conversion to the bridge is ok but for the message's data conversion is a hard part to me.
Has anyone done it before or any reference for this implementation?

I have heard about the LGSVL bridge, where can I find the source code of the LGSVL bridge to Apollo?

I have heard about the LGSVL bridge, where can I find the source code of the LGSVL bridge to Apollo?

LGSVL bridge is private data to cyber.
Actually you don't really care about cyber, you just need to convert the data format, and then send the data to the bridge.
So there are 2 parts of work

convert the data format
use bridge to send the data to apollo

You really need is convert the data format, and bridge is there

@daohu527
Thanks. Is there any example to understand how to use the bridge to send the data to Apollo and receive the vehicle command from Apollo?

You can ref to LGSVL's c# code. c++ currently seems to have no end-to-end examples.
You can try to ask more detailed questions

May I know where is the source code of the bridge? without understanding it I do not know how to send data to the bridge.
is the below link is correct?
https://github.com/ApolloAuto/apollo/tree/master/modules/bridge

Hi @daohu527
I have some concern may you help me to clarify:

As default: By running the bridge, the bridge's sender will send out
ADCTrajectory is sent to 127:0.0.1:8900
LocalizationEstimate is sent to 127:0.0.1:8900
Is that correct I just need to write a server in Simulator's side, binding to 127:0.0.1:8900 I will receive the ADCTrajectory's data?
All I need to do is to parse data to what Simulator needs.

Is that bridge/test folder written only to test the brigde?
https://github.com/ApolloAuto/apollo/tree/master/modules/bridge/test
In the test file, it sends the Chasis's data (bridge_sender_test.cc) to 127:0.0.1:8900. How can this be when the default 127:0.0.1:8900 is to send ADCTrajectory not Chasis.

Just made sure I have correct understanding of the bridge/test module, does bridge_sender_test.cc send Chasis's message to the bridge (simulator to bridge) or out of the bridge (to port for simulator getting message)? (port:127:0.0.1:8900)

If you are using LGSVL, you can directly use their bridge and apollo branches for testing.
Going back to your question, I think you can try to run it, the principle is relatively simple is to send a message to apollo through the socket, and then publish the message in apollo (cyber)

In the test file, it sends the Chasis's data (bridge_sender_test.cc) to 127:0.0.1:8900. How can this be when the default 127:0.0.1:8900 is to send ADCTrajectory not Chasis.

A port can publish various messages, and the port is a concept in the socket

Yes, a port can publish various messages but the Chasis channel is not configured to send out the message in 127:0.0.1:8900.
There is no configuration of Chasis in bridge_sender.dag and udp_bridge_sender_chasis.pb.txt is not available.
Probably, just to make it simple please let me know what is the role of bridge_sender_test.cc and bridge_receiver_test.cc in this package?

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


chore(ONYX-570): remove alert name from alert flow

This PR resolves ONYX-570
This PR removes the alert name from the alert flow (both edit and create)
Description

Placeholder on Edit Screen
https://github.com/artsy/eigen/assets/11945712/51a10cb4-222d-471b-989b-182961466abe

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Remove alert name from Create Alert and Edit Alert flows - mounir

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (Remove alert name from Create Alert and Edit Alert flows - mounir)

  Generated by :no_entry_sign: dangerJS against 9f2cb9ba6b17b46d7561a98b79ce8c25b3d834d4

Oh nooooo merge conflict in the massive test 😭

🚀 🚀 🚀