Master: Hitting "recursive mutexes make no sense in ISR context" at various places  (IDFGH-5473)

Environment

Development Kit:      ESP32-S2
IDF version: v4.4-dev-1849-g8e3e65a47
Build System:  idf.py
Compiler version: xtensa-esp32s2-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System:     macOS
Using an IDE?:  Visual Code
Power Supply:  USB

Problem Description
At various places while running, usually in vprintf, or malloc, I hit this issue where we cannot get a recursive mutex.
I've also ran this code with Master from April 28th (9d34a1cd), and hit the same issue.
What causes this error to happen? Heap corruption? (I've tried turning heap corruption detection on/off). Running out of memory? (I've tried mallocing almost nothing). Something else?
This error is so generic. Is there any way to get more info on what this even means?
Logs
`I (25714) pd localtime: settimeofday updated<PHONE_NUMBER>
I (25714) pd midi file: create midi file /sd/JAMC/2022/Chip's_Jamcorder__JMX00050__2022-02-16.mid
I (25724) pd midi file: file does not already exist. good.

abort() was called at PC 0x40026e7f on core 0
0x40026e7f: lock_acquire_generic at /Volumes/User/MBP-Google-Drive/superpiano/esp/esp-idf/components/newlib/locks.c:139`

Backtrace

`0x400850c3: panic_abort at /esp/esp-idf/components/esp_system/panic.c:379

0x4002daf9: esp_system_abort at /esp/esp-idf/components/esp_system/esp_system.c:126

0x400359e6: abort at /esp/esp-idf/components/newlib/abort.c:46

0x40026e7f: lock_acquire_generic at /esp/esp-idf/components/newlib/locks.c:139

0x40026fc9: _lock_acquire_recursive at /esp/esp-idf/components/newlib/locks.c:167

0x40033373: block_locate_free at /esp/esp-idf/components/heap/heap_tlsf.c:447
 (inlined by) tlsf_malloc at /esp/esp-idf/components/heap/heap_tlsf.c:757

0x40034423: multi_heap_malloc_impl at /esp/esp-idf/components/heap/multi_heap.c:197

0x40025b01: heap_caps_malloc at /esp/esp-idf/components/heap/heap_caps.c:145

0x40025b35: heap_caps_malloc_default at /esp/esp-idf/components/heap/heap_caps.c:177

0x400359f1: malloc at/esp/esp-idf/components/newlib/heap.c:31

0x400be7ac: mem_malloc at /esp/esp-idf/components/lwip/lwip/src/core/mem.c:237

0x400be82b: do_memp_malloc_pool at /esp-idf/components/lwip/lwip/src/core/memp.c:254

0x400be899: memp_malloc at /esp/esp-idf/components/lwip/lwip/src/core/memp.c:350 (discriminator 2)

0x400bf3b9: pbuf_alloc_reference at /esp/esp-idf/components/lwip/lwip/src/core/pbuf.c:336 (discriminator 2)

0x400bf591: pbuf_alloc at /esp/esp-idf/components/lwip/lwip/src/core/pbuf.c:237

0x400d0092: wlanif_input at /esp/esp-idf/components/lwip/port/esp32/netif/wlanif.c:197

0x401285d5: esp_netif_receive at /esp/esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:858

0x400ba295: wifi_sta_receive at /esp/esp-idf/components/esp_wifi/src/wifi_netif.c:47

0x400357a2: sta_input at ??:?

0x40035855: sta_rx_cb at ??:?

0x40038ddd: ppRxPkt at ??:?

0x4003723b: ppTask at ??:?

0x40030aad: vPortTaskWrapper at /esp/esp-idf/components/freertos/port/xtensa/port.c:168
`

Rolled back to 4.2.2.
With 'Heap corruption detection' = Comprehensive on, I'm seeing:
CORRUPT HEAP: Bad tail at 0x3fff34ac. Expected 0xbaad5678 got 0xbaad5600
Very helpful.
But still leaves a question of why does this stack trace so often fail here? And is there anything we can do to make it more clear to the user that this could be a heap corruption issue? The comment about "ISR context" is super misleading.

@chipweinberger This looks more like a heap corruption issue as the TLSF heap allocator found a suitable block and when it asserted that the block size was larger than the requested size it aborted:
https://github.com/espressif/esp-idf/blob/8e3e65a47b7d9b5dc4f52eb56660a748fda1884e/components/heap/heap_tlsf.c#L445-L449
Are you possibly using a pointer after freeing it?

It was indeed heap corruption. Strlen on a non-null terminated string caused it :)
We should still add some comments to the code to help people that hit this backtrack.

Hi @chipweinberger,
Glad you figured out the root cause.
Totally agree that this is unclear. What's happening is that the heap implementation is detecting corruption and failing an assert while interrupts are disabled, then the assertion failure routine is trying to print something via normal stdout and that is triggering the "Recursive mutexes make no sense in ISR context" crash because it's not valid to call printf() when interrupts are disabled - it's a crash within a crash.
We'll fix this so the error message is not so confusing.

Thanks for reporting and sorry for slow turnaround, fix is available https://github.com/espressif/esp-idf/commit/7b5f731cce4aae87c4a941bc9737b3ecb9125c0d. Feel free to reopen.

What was the fix?

Hi,
I'm having a similar problem.
abort() was called at PC 0x40085a07 on core 1
0x40085a07: lock_acquire_generic at C:/esp-idf/components/newlib/locks.c:139

Backtrace:0x400d3a3e:0x3fff03100x4008eb31:0x3fff0330 0x400967fa:0x3fff0350 0x40085a07:0x3fff03c0 0x40085b65:0x3fff03f0 0x40085c01:0x3fff0410 0x40170241:0x3fff0440 0x4016babf:0x3fff0700 0x4016ba3a:0x3fff0750 0x4009484a:0x3fff0780 0x400951c2:0x3fff07a0 0x4008218a:0x3fff07c0 0x40096825:0x3fff07e0 0x4011a3a1:0x3fff0800 0x4011adaa:0x3fff0820 0x4011a385:0x3fff0840 0x400ebf54:0x3fff0860 0x4011c2c1:0x3fff0880 0x4011c305:0x3fff08a0 0x4011c3f4:0x3fff08c0 0x4011c636:0x3fff08e0 0x4011ae95:0x3fff0900 0x4011b062:0x3fff0940 0x4011b0e6:0x3fff0990 0x40092b8e:0x3fff09b0
0x400d3a3e: panic_abort at C:/esp-idf/components/esp_system/panic.c:391

0x4008eb31: esp_system_abort at C:/esp-idf/components/esp_system/esp_system.c:129

0x400967fa: abort at C:/esp-idf/components/newlib/abort.c:46

0x40085a07: lock_acquire_generic at C:/esp-idf/components/newlib/locks.c:139

0x40085b65: _lock_acquire_recursive at C:/esp-idf/components/newlib/locks.c:167

0x4011c305: httpd_sess_clear_ctx at C:/esp-idf/components/esp_http_server/src/httpd_sess.c:251

0x4011c3f4: httpd_sess_delete at C:/esp-idf/components/esp_http_server/src/httpd_sess.c:365

0x4011c636: httpd_sess_close at C:/esp-idf/components/esp_http_server/src/httpd_sess.c:145

0x4011ae95: httpd_process_ctrl_msg at C:/esp-idf/components/esp_http_server/src/httpd_main.c:150 (discriminator 15)

0x4011b062: httpd_server at C:/esp-idf/components/esp_http_server/src/httpd_main.c:215 (discriminator 15)

0x4011b0e6: httpd_thread at C:/esp-idf/components/esp_http_server/src/httpd_main.c:250 (discriminator 15)

0x40092b8e: vPortTaskWrapper at C:/esp-idf/components/freertos/port/xtensa/port.c:168

idf version: v4.4-dev-2359-g58022f859

To answer my own question, this was the fix:
/* Overriding assert function so that whenever assert is called from critical section,
 * it does not lead to a crash of its own.
 */
void __attribute__((noreturn)) __assert_func(const char *file, int line, const char *func, const char *expr)
{
#if CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
    char buff[sizeof(ASSERT_STR) + 11 + 1] = ASSERT_STR;

    ra_to_str(&buff[sizeof(ASSERT_STR) - 1]);

    esp_system_abort(buff);
#else
    char addr[11] = { 0 };
    char buff[200];
    char lbuf[5];
    uint32_t rem_len = sizeof(buff) - 1;
    uint32_t off = 0;

    itoa(line, lbuf, 10);

    if (!spi_flash_cache_enabled()) {
       if (esp_ptr_in_drom(file)) {
           file = CACHE_DISABLED_STR;
       }

       if (esp_ptr_in_drom(func)) {
           ra_to_str(addr);
           func = addr;
       }

       if (esp_ptr_in_drom(expr)) {
           expr = CACHE_DISABLED_STR;
       }
    }

    const char *str[] = {ASSERT_STR, func ? func : "\b", " ", file, ":", lbuf, " (", expr, ")"};

    for (int i = 0; i < sizeof(str) / sizeof(str[0]); i++) {
        uint32_t len = strlen(str[i]);
        uint32_t cpy_len = MIN(len, rem_len);
        memcpy(buff + off, str[i], cpy_len);
        rem_len -= cpy_len;
        off += cpy_len;
        if (rem_len == 0) {
            break;
        }
    }
    buff[off] = '\0';
    esp_system_abort(buff);
#endif  /* CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT */
}


Added example using lit() for the split function

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SCT-10614

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Adding a new example for the split function, specifying a string separator by using lit()

I have read the CLA Document and I hereby sign the CLA


Vulnerability roundup 77: ncurses-6.1-20190112: 2 advisories

search, files

[ ] CVE-2019-17594 (nixos-19.09, nixos-unstable)
[ ] CVE-2019-17595 (nixos-19.09, nixos-unstable)

Scanned versions: nixos-19.09: 5f506b95f9f; nixos-unstable: c1966522d7d. May contain false positives.

master is at 6.2.*
19.09 is EOL
Closing,.


Running without Sandbox failed

PS E:\test\cloud-morph> go run server.go
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
go: downloading github.com/gorilla/mux v1.8.0
go: downloading github.com/gorilla/websocket v1.5.0
go: downloading gopkg.in/yaml.v2 v2.4.0
go: downloading github.com/gofrs/uuid v4.2.0+incompatible
go: downloading github.com/pion/rtp v1.7.13
go: downloading github.com/pion/interceptor v0.1.11
go: downloading github.com/pion/webrtc/v3 v3.1.41
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

Can you open this address directly in the browser<EMAIL_ADDRESS>Works for me just fine. Maybe try it with a proxy server.

打开内容是module github.com/gofrs/uuid

翻墙可以  跑出来了

Sadly, I don't know Chinese and Google Translate is not helpful.
I still recommend using some kind of Proxy, either system or something like this https://goproxy.cn/.


Crash when moving on world map

Game crashes when I attempt to move on the world map.
Other mods I have:

community patch (https://www.nexusmods.com/mountandblade2bannerlord/mods/186)
launcher fix (https://www.nexusmods.com/mountandblade2bannerlord/mods/205)
modlib

I've tried disabling listed mods, it does not solve the problem. I've also disabled this mod only, and it seems to fix the problem.
All files are unblocked, mods are ordered.
Crash message:

Thanks for letting me know. I've uploaded a new version which fixes this (version 1.4.5)

Hey, thanks for the quick response. I updated the mod, and unfortunately the issue persists.
Here's the new message:

I don't think the mod updated properly for you. Make sure to delete the mod folder before installing the new version. If you are using vortex, try installing the mod manually

You're absolutely right. I messed up and installed the old version again. Sorry! Works fine now.


missing files in the source

Hi, there are missing files in the source.

Thank you for fixing most of the files.
Now these is this one missing:
\GameAnarchy\Patches\AutoMoneyPatch.cs' could not be found.


Master data for supplierParty and customerParty, version 2.0.0

How can master data be looked up for supplierParty and customerParty?
No uuid are supplied for these parties in purchase order 2.0.0.
To get the time offset for local time supplied in latestAllowedDateTimeForChange, the customer needs to look up master data for supplierParty.

For now, the supplier is (only) represented by the domain name, we do have a 1:1 mapping between the supplier and the domain name. If we want to decouple the supplier and the domain name, we would indeed need to add a supplierParty property to the JSON payload.
For now, the customer is (only) represented by the OAuth 2.0 bearer token, we do have 1:1 mapping between the customer and the bearer token. If we want to decouple the customer and the bearer token, we would indeed need to add a customerParty property to the JSON payload.

I will add the supplierParty and customerParty as non-required properties to the following schemas:

CreatePurchaseOrder
GetPurchaseOrderById
ListOfPurchaseOrders
ModifyPurchaseOrder

I will also update the scenario C (Parties) of the master data use case to contain a customer party and a supplier party, so we can use their UUIDs into the scenarios of the purchase order use case.
We can publish that change into a 2.1.0 version.

We will change the supplierParty property to be required in responses:

ListOfPurchaseOrders
GetPurchaseOrderById

It will remain not required in the creation request: CreatePurchaseOrder; and it will remain non-existent in the modification request: ModifyPurchaseOrder.
I will adapt the examples of the scenarios accordingly.


Write unittests for instance pkg

Wait for the RC 0.15.0 to be merged also #541 to be merged as it modified the builder factory and it is better to do it after those merges.


WebSocket hot reload doesn’t work with host <IP_ADDRESS>

When using --host <IP_ADDRESS> to bind to all network interfaces, then hot reload doesn't work anymore. I can see this error in the browser:
Firefox can’t establish a connection to the server at ws://<IP_ADDRESS>:8000/websocket-reload.

This broke with version 2024.04.13. I'm guessing with commit 3a32d1b ("Implement hot reloading with websockets").

PR welcome, but otherwise I would just suggest using localhost.
A


mex_compiling missing

Hi, when I run installGraft.m, it throws an error because mex_compiling is not defined. Can this function be added to the repository? Thanks!

Within the MATLAB command window, you can run the function installGraFT.m (assuming it's in your current repository) by typing 'installGraFT'. This function only adds necessary subfolders into your path; it doesn't build MEX file.
Type 'pwd' or 'cd' into your MATLAB command window, and ensure that this path matches the location of the installGraFT.m file on your system.


RegEx causing BadRequestException?

I am trying to list the entities on my Dialogflow project. what once previously worked, is now throwing an exception. The only change recently, has been the introduction of RegEx into the entities on Dialogflow.
Environment details

OS: Windows 10 Pro
Python: 3.6.6
Dialogflow Version: 0.7.2 - using dialogflow_v2beta1

I tried using the original example (below) but I still get the same error.
Code example
This example was copied from
https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/dialogflow/cloud-client/entity_type_management.py
def list_entity_types(project_id):
    import dialogflow_v2 as dialogflow
    entity_types_client = dialogflow.EntityTypesClient()

    parent = entity_types_client.project_agent_path(project_id)

    entity_types = entity_types_client.list_entity_types(parent)

    for entity_type in entity_types:
        print('Entity type name: {}'.format(entity_type.name))
        print('Entity type display name: {}'.format(entity_type.display_name))
        print('Number of entities: {}\n'.format(len(entity_type.entities)))

The issue seems to come from the for entity_type in entity_types: line.
Stack trace
Traceback (most recent call last):
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 57, in error_remapped_callable
    return callable_(*args, **kwargs)
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\grpc\_channel.py", line 604, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\grpc\_channel.py", line 506, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
	status = StatusCode.INVALID_ARGUMENT
	details = "com.google.apps.framework.request.BadRequestException: Validate entity failed because of the following reasons: Regexp entity entry synonyms should be either empty or contain single synonym that equal to entry value.
Regexp entity entry synonyms should be either empty or contain single synonym that equal to entry value."
	debug_error_string = "{"created":"@1572947931.774000000","description":"Error received from peer ipv4:<IP_ADDRESS>:443","file":"src/core/lib/surface/call.cc","file_line":1055,"grpc_message":"com.google.apps.framework.request.BadRequestException: Validate entity failed because of the following reasons: Regexp entity entry synonyms should be either empty or contain single synonym that equal to entry value.\nRegexp entity entry synonyms should be either empty or contain single synonym that equal to entry value.","grpc_status":3}"
>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:/Users/bscotland/PycharmProjects/Speech_Betting/conversation/dialogflow_communication.py", line 204, in <module>
    raise e
  File "C:/Users/bscotland/PycharmProjects/Speech_Betting/conversation/dialogflow_communication.py", line 202, in <module>
    dft.set_current_entities()
  File "C:/Users/bscotland/PycharmProjects/Speech_Betting/conversation/dialogflow_communication.py", line 125, in set_current_entities
    for entity_type in entity_types:
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\page_iterator.py", line 204, in _items_iter
    for page in self._page_iter(increment=False):
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\page_iterator.py", line 235, in _page_iter
    page = self._next_page()
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\page_iterator.py", line 526, in _next_page
    response = self._method(self._request)
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\gapic_v1\method.py", line 143, in __call__
    return wrapped_func(*args, **kwargs)
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\retry.py", line 277, in retry_wrapped_func
    on_error=on_error,
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\retry.py", line 182, in retry_target
    return target()
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\timeout.py", line 214, in func_with_timeout
    return func(*args, **kwargs)
  File "C:\Users\bscotland\PycharmProjects\Speech_Betting\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 59, in error_remapped_callable
    six.raise_from(exceptions.from_grpc_error(exc), exc)
  File "<string>", line 3, in raise_from
google.api_core.exceptions.InvalidArgument: 400 com.google.apps.framework.request.BadRequestException: Validate entity failed because of the following reasons: Regexp entity entry synonyms should be either empty or contain single synonym that equal to entry value.
Regexp entity entry synonyms should be either empty or contain single synonym that equal to entry value.

Any ideas on a fix? I am hoping that I will not have to change the entities away from RegEx!

Were your able to fix this?

No I still have the issue and it seems to be localised to regex only entities.

Go to your entity on Dialogflow and switch to Raw Editor Mode. Go to JSON tab and ensure that the regex value matches the synonym value. And it should not have more than one synonym

Thanks for the help! It is working now.


Image Upload CROP and resize

Hello, one of the most important issues that was missed in your great project is image cropping and resizing, i tried to add cropping script to dropzone code but i cant get the expected results .. any recommends ??

This can be a very good value addition. Can you help ?


Add LongRunningLoad attribute to better cater to online load components

This new class attribute allows marking components which perform long-running (generally network IO) tasks within their BackgroundDependencyLoader method. These classes will be strictly loaded on LoadComponentAsync and divided into a dedicated task scheduler (threadpool) to ensure they don't block everyday drawables from being loaded in network stall scenarios.
This is a semi-permanent measure until we can

Implement full async flow in BackgroundDependencyLoader (have tried before but all involved agreed it was too complex at the time).
or
Ensure a task scheduler implementation that will expand in stall scenarios to add more thread capacity (less involved, but hard to get right and avoid overloading other resources).

The added exception is a visibility improvement, ensuring the consumers are aware when drawables are going to take time to load, and should be loaded via LoadComponentAsync, DelayedLoadWrapper or ModelBackedDrawable.
Prerequisite for https://github.com/ppy/osu/issues/6533.

This should not throw:
[Test]
public void TestSynchronousNestedLongRunningThrows()
{
    AddStep("test incorrect usage", () => Assert.Throws<InvalidOperationException>(() => Add(new Container { Child = new TestLoadBlockingDrawableLongRunningDerived() })));
    AddStep("test correct usage", () => LoadComponentAsync(new Container { Child = new TestLoadBlockingDrawableLongRunningDerived() }));
}

Turns out this is actually intended. I've added some tests to cover the case + refactored the existing ones since they weren't testing the async context correctly.


Add NAN code support to CDC CovidNet

Description
Work as part #838.
Changelog

Add three missingness columns, default to not applicable for "sample_size" and "stderr" columns
Code nan values in "val" column as unknown for now

Fixes

Partially addresses  #838

@kyminbb oh, never mind on the review, looks like we don't publish this indicator.

Indicator doesn't exist anymore.


As an admin user, I'd like to use 'breadcrumbs' in order to see where I am in "edit/save/preview" engagement

https://mui.com/material-ui/react-breadcrumbs/

@carlygreenehill Can we discuss this one? I think breadcrumbs can be useful but in this case Edit and Save is the same page (saved is just a state). When you go to the Preview Engagement, there is a huge banner and header (Preview Engagement) AND an Edit Engagement button. I'm concerned that this just creates bloat and confusion. Maybe we should test before implementing??

closing because we went in a different direction :)


NetPyNE to NeuroML 2 conversion

Work on this is happening in this branch: https://github.com/Neurosim-lab/netpyne/tree/neuroml_export
NetPyNE -> NeuroML 2
See sim.py

[x] Handle export of NetStims when noise = 1
[ ] Handle export of NetStims when 0 < noise < 1
[x] Solve issue with mapping izhikevich
[x] Export geom to *.cell.nml file
[ ] Better export of only what has been requested to be saved/plotted

Importing NeuroML cells/synapses in NetPyNE

[ ] * Add importNeuroML2Cell() in NetPyNE
[ ] Add importNeuroML2Synapse() in NetPyNE

NeuroML 2 -> NetPyNE
See NetPyNEWriter.java, run.vm

[ ]  import of generic nml2 cells into NetPyNE (dependent on * above)
[ ] generation of explicit lists of connections in netpyne from lists in nml

@pgleeson - as mentioned I just released a version that make some changes to the netParams and simConfig structures: they are now objects of class NetParams and SimConfig, so can use the object methods to add stuff easily.
Also, all the inner structures (popParams, cellParams etc) are now orderedDicts (for consistency).
All the tuts, examples and most of documentation is already updated.
Sorry about the format changes, we are hoping this will be the last major change for a while. I'm happy to update the neuroml export/import funcs.

Ok, I'll look at the changes and make the updates in the nml import/export. I have a simple example of import working here: https://github.com/Neurosim-lab/netpyne/blob/c9794646cf7af138581b48d288bda3015c2d9f1c/examples/NeuroMLImport/SimpleNet_import.py

@pgleeson - I was trying to test the neuroml export examples in the neuroml_export branch, but I don't get any new files, and last line says:
pyNeuroML >>> Unable to find file: /u/salvadord/Documents/ISB/Models/netpyne_repo/examples/HHTut/HH.cell.nml!
anything I'm missing or doing wrong?

Working on generating the required NML <cell>/<izhikevich2007Cell> elements now... Previously I had manually placed a HH.cell.nml etc. there for testing.

@salvadord your issue above is solved in the latest version

That's great, thanks!


HTTP: Resources downloaded after error on main request

Hi in here,
I detected a bug in my gatling 2.2.0, I have some static resources which are relatives to an http request (using .resources ).
When this http request fail, the resources are re-downloaded.
But they should not :

they are cached
the main pages is not working, so the browser should not know about this resources to download.

Thanks for reporting!


Tags from subject names are uncolored in HW View

@thatoddmailbox Thats easy to fix

@nywillb but still is a bug.

@thatoddmailbox Ok

Should I fix right now

@nywillb If you want to, sure! It would probably be somewhere in hwView.js.

I know.

HELP
On Mon, Feb 1, 2016 at 11:23 AM thatoddmailbox<EMAIL_ADDRESS>wrote:

@nywillb https://github.com/nywillb If you want to, sure! It would
probably be somewhere in hwView.js.
—
Reply to this email directly or view it on GitHub
https://github.com/PlanHubMe/PlanHub/issues/357#issuecomment-178053456.

@nywillb ...
Maybe go on Slack.

Okay.


No support for adding the library to projects via Git URL in project manifest

Hello, thanks for making and open-sourcing this cool library!
I know I could just download the files and toss them into my project, but an easier way to integrate it in a way that also lets developers get the latest updates would be to create a custom package:
https://docs.unity3d.com/Manual/CustomPackages.html
That way developers can just add the Git URL to the project manifest and get the package:
https://docs.unity3d.com/Manual/upm-git.html
Alternatively, making it an official Unity Asset makes it easy to download and update packages.

Instead of adding the git repo to the Unity manifest, even if it is simple and quick, I prefer having the files in the project because it makes it easier to change files on those assets. Having the source code files on the project is what allows me to easily do that.
Still, I could add support to it, but that would require time and I can't do that right now because of the fact that I have to learn how to, install Unity 2019 (I'm using Unity 2018 LTS rn) and I don't have much time right now. But I'm open to pull requests.

It looks like you can open package files from the Project window by clicking Packages instead of Assets:

Although, I'm not sure how modifying them works in regards to the manifest and repository though. I'm guessing that the manifest might overwrite these to keep the state in sync with that of the repository. I don't usually make or edit packages so, I need to learn more about it myself.
I can look into this some more after the holidays and get back with more info.

Ok, perfect. I can only work in a project I'm doing at the moment (one that is in fact using a variation of this asset. It is not generic anymore in my project so I didn't update this one), without time to spare for other things (even this holidays) so I'm not in a hurry about this at all. If you feel it's worthy to make the changes needed for it to work as a package and want to make them, please feel free when you have time.


Docker: copy composer binary from composer image

See PR title

Typed this from my phone, test before merge.

As far as I understand this change, it requires to have another container call "composer". But this may not be the case for everyone? Or did I miss something?

@jenshaase yes, you miss something.
docs:

https://docs.docker.com/engine/reference/builder/#copy

if you test building from this branch, you'll see how it behaves.

Tested myself, looks as expected
$ docker build https://raw.githubusercontent.com/glensc/phel-scaffolding/patch-1/build/Dockerfile -t test
$ docker run --rm -it test composer --version
$ docker run --rm -it test composer --version
Composer version 2.0.9 2021-01-27 16:09:27

Ah, cool. Now I understand it. Thanks for the improvement. I will merge it!

also, you shouldn't do apt-get upgrade -y in Dockerfiles. the base image you are using is updated regularly and the command adds extra size to the image, and may even break things, as some packages are not upgradeable.
but as this build result is not published not a big issue.
skim through Dockerfile best practices:

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

@glensc do you suggest to change
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y git

to simply this?
RUN apt-get install -y git

@Chemaclass no, you still need apt-get update to get package indexes, see an example:

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#sort-multi-line-arguments

There's "apt-get" section under "run" section, explaining it all:

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run

also, you don't need  && rm -rf /var/lib/apt/lists/* if using an official Debian image, which I think your php base image does:

Official Debian and Ubuntu images automatically run apt-get clean, so explicit invocation is not required.


Feature Request: Download History to Avoid Redownloading

Recently I worked on a project that needs to download tons of images. However, I found it inconvenient when I pause the crawler and rerun it, google-images-download would download all the images again. So I can only modify the file containing the keywords (delete the downloaded entries) to avoid that. I think it may be great if this tool can remember downloading history?

Good suggestion. I would like to implement this feature.


Can we have a javascript client sample without redirecting to identityserver to login?

I have asked many questions on Stackoverflow. But no response. Just want to know how can I implement identityserver as an API which allows javascript client to get authenticated. But without redirecting to login page of identity server.

This seems to be a general question about IdentityServer - not a bug report or an issue.
Please use StackOverflow for that. This has the advantage that questions and answers can be easily found by search engines, and that there are more people answering questions than just us.
For IdentityServer3
https://stackoverflow.com/questions/tagged/?tagnames=identityserver3&sort=newest
For IdentityServer4
https://stackoverflow.com/questions/tagged/?tagnames=identityserver4&sort=newest
For commercial support
https://identityserver.io/


Relax typing-extensions constraint

Tried to upgrade pydantic or django-stubs in my projects and got this error:
Because no versions of pydantic match >2.8.2,<3.0.0
 and pydantic (2.8.2) depends on typing-extensions (>=4.12.2), pydantic (>=2.8.2,<3.0.0) requires typing-extensions (>=4.12.2).
And because pyngo (2.0.1) depends on typing-extensions (>=3.7.4,<4.10.0)
 and no versions of pyngo match >2.0.1,<3.0.0, pydantic (>=2.8.2,<3.0.0) is incompatible with pyngo (>=2.0.1,<3.0.0).
So, because kaon depends on both pyngo (^2.0.1) and pydantic (^2.8.2), version solving failed.

I found that at the latest revision in main branch, the version constraint is already lifted. Could you release a new version of pyngo?

sure i will do @hongquan 🙏🏻


Fix test compatibilty with latest openvino nncf release

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Fix timing leak in BN_from_montgomery_word.

BN_from_montgomery_word doesn't have a constant memory access pattern. Replace the pointer trick with a constant-time select. There is, of course, still the bn_correct_top leak pervasive in BIGNUM itself.
See also https://boringssl-review.googlesource.com/22904 from BoringSSL.
I removed the manual loop unrolling since it didn't seem to particular matter, and this was much easier to read. One would assume the rest of that function dominates the subtraction here. @dot-asm, thoughts?

Didn't cherry-pick to 1.0.2, so #5240 is submitted. Merged to master and 1.1.0. Thanks!

Merged to master and 1.1.0. Thanks!

Of course, now @davidben is a committer this was perhaps overly enthusiastic!

Haha, no worries. I still need to go figure out how that's all set up anyway.

BTW, there will be patches for assembly modules addressing similar problem. Just in case for reference. Original code did provide adequate protection for flush-n-reload and alike, but arguably it could expose minuscule variations when address disambiguation logic interacts with speculative loads.

Just to double-check, are those still in your queue?


List tenants

Issue
It should be possible for an owner or a builder to list home or teleport tenants of a room.

Resolved in PR #231


Bread translatable

This pull request make use of the already available translation of display_name_singular and display_name_plural in Voyager interface and adds translatable property for display_name in DataRow so that labels in forms can also be easily translated.

Are you done here?
Can you fix the conflicts or do you want me to do it?

Done


Added export feature to test sets

Added export feature to export the given test sets as a csv file.

Not sure if the Export button should indicate primary action (blue colored) @mmabrouk

Sure @MohammedMaaz . I'll incorporate these features and report them to you.

Not sure if the Export button should indicate primary action (blue colored) @mmabrouk

yes, it should not

Please let me know @Sweetdevil144 when this ready

Please don't forget to npm run format-fix to fix the formatting in the webapp folder, to pass the checks

I'm done with the code... Debugging and pushing it now

@all-contributors please add @Sweetdevil144 for code


New Preprod environment to replicate existing MOJ Official (Network Operations Centre) #208632142291

Environment details
Preprod environment for testing and development before releasing to prod NOC. Below name is chosen to keep it as close to current prod environment as possible (thus not conforming the naming requirement of lowercase and char limit)
Application Name
moj-network-operations-centre
Account type: member-unrestricted

Description of application
The environment will run various applications for monitoring and managing the network infrastructure. Current deployment on Prod has various tools installed - SolarWinds, ServiceNOW MID server, Azure application proxy server and Netbox application

GitHub team slug

moj-official-techops
Environments
AWS Preproduction (Prod environment already exists)
preproduction

Environment
Access level

[x] Preproduction
[x] administrator

Tags

tag
value

application
moj-network-operations-centre

business-unit
HQ

infrastructure-support
<EMAIL_ADDRESS>

owner
<EMAIL_ADDRESS>

Networking options
Subnet sets

[ ] General - this application will use the same subnet as other applications in your business unit
[ ] Isolated - this application has highly sensitive data which must have its own isolated subnet with no network connectivity

How do users connect to the application?

[ ] Over the public internet
[ ] With a purple cabled device (please give details)
[ ] With a MoJ Official device

Connectivity to other applications or external parties

Additional features

[ ] Additional VPC Endpoints
[ ] Extended DNS Zones
[ ] Other - please specify

Other information

Definition of done

[ ] account created
[ ] customer informed

Email sent to both addresses to inform them of our contact point (on slack) and the documentation location.

Application name amended to  moj-network-operations-centre after the team decided that moj-official was not suitable. Took a while to remove the old one. New one is in the process of being created.

Emailed with the new environment (moj-network-operations-centre-preproduction) details.


Status DONE even though experiment failed

In https://github.com/Microsoft/Recommenders project we found an issue while using nni with version <IP_ADDRESS>
A experiment that we were running failed, however, when doing nnictl experiment status we get DONE as status. See an example here
t43sJ           2019/05/14 12:37:13       2019/05/14 12:37:20       FAILED
mjcHW           2019/05/14 12:37:13       2019/05/14 12:37:20       FAILED
UUY52           2019/05/14 12:37:13       2019/05/14 12:37:18       FAILED
ZwbPn           2019/05/14 12:37:13       2019/05/14 12:37:22       FAILED
N5eqe           2019/05/14 12:37:13       2019/05/14 12:37:23       FAILED
-------------------------------------------------------------------------------------
(reco_bare) recocat@recotestmachineclone:/tmp/tmpl9sbi9m2/experiments/DrwXiO1B/trials/A6Te2$ nnictl experiment status
{
    "errors":[],
    "status":"DONE"
}

Is this fixed in a newer version of nni?
FYI @anargyri

To add some context: the trials failed because of a bug in the script. However, the failure of the trials does not propagate to the experiment.

This is the bug Andreas was referring to:
the reason why the run failed is because we had a bug in our code:
[2019-05-14 12:36:45] PRINT Processing epoch 27
[2019-05-14 12:36:46] PRINT Processing epoch 28
[2019-05-14 12:36:46] PRINT Processing epoch 29
[2019-05-14 12:36:46] DEBUG (surprise_svd/MainThread) Evaluating...
[2019-05-14 12:36:46] DEBUG (surprise_svd/MainThread) rmse = 0.976205
[2019-05-14 12:36:46] ERROR (surprise_svd/MainThread) compute_ranking_predictions() got an unexpected keyword argument 'recommend_seen'
Traceback (most recent call last):
  File "svd_training.py", line 145, in <module>
    main(params)
  File "svd_training.py", line 129, in main
    svd = svd_training(params)
  File "svd_training.py", line 60, in svd_training
    recommend_seen=params['recommend_seen'])
TypeError: compute_ranking_predictions() got an unexpected keyword argument 'recommend_seen'

This is the bug Andreas was referring to:
the reason why the run failed is because we had a bug in our code:
[2019-05-14 12:36:45] PRINT Processing epoch 27
[2019-05-14 12:36:46] PRINT Processing epoch 28
[2019-05-14 12:36:46] PRINT Processing epoch 29
[2019-05-14 12:36:46] DEBUG (surprise_svd/MainThread) Evaluating...
[2019-05-14 12:36:46] DEBUG (surprise_svd/MainThread) rmse = 0.976205
[2019-05-14 12:36:46] ERROR (surprise_svd/MainThread) compute_ranking_predictions() got an unexpected keyword argument 'recommend_seen'
Traceback (most recent call last):
  File "svd_training.py", line 145, in <module>
    main(params)
  File "svd_training.py", line 129, in main
    svd = svd_training(params)
  File "svd_training.py", line 60, in svd_training
    recommend_seen=params['recommend_seen'])
TypeError: compute_ranking_predictions() got an unexpected keyword argument 'recommend_seen'

This is the output of trial.log.

@miguelgfierro @anargyri , this is an expected behavior. Trial's failure is not propagated to experiment's state. As long as the experiment successfully finishes all the trials (succeeded or failed) or consumes the whole time budget, its state would become DONE. Errors from components, such as tuning algorithms, nnimanager, training services, lead to ERROR state of the experiment.
For your requirement, a possible solution is checking both experiment's state and trial's state. Trials' state can be obtained through nnictl trial ls, or directly calling restful api: http://IP:Port/api/v1/nni/trial-jobs

awesome @QuanluZhang, thanks for the explanation


Add goerli to list of known networks

Add Goerli to the list of known networks, and check  whether it is supported by etherscan and etherchain to add it here as well.

More info for anyone who wants tackle this issue: Etherscan seems to support it for contract verification, and Infura already included it to their API :slightly_smiling_face:.

Hi, I have added goerli network to these files

Fixed by @paulinablaszk via #768


fix large file upload issue #88

Implemented the feature of uploading local files that are larger than 32MB mentioned at here. It was accomplished by requesting the special large file upload link suggested here. Could you help review my code? Thank you.

Hello, thank you for the feedbacks. I have updated the changes. Could you help take other look?

Thank you or merging my PR! May I ask when will there be a new release/tag that includes this update?


What is wrong with my svg?

I created the following svg and use the center rectangle as bin.

When I upload the attach file, the tool gives me s.th. like this:

This can be right - the tool shows that all 10 parts have been placed but this seems not correct

ok i found out by downloading the svg that it containes two bins - the first one containes 8 shapes and the one that is shown on the interface is the second one containing only two.
However, why does the algorithm use two bins? can i restrict the process to use only one bin?


OCR: Implement latest design

Part of https://github.com/opencollective/opencollective/issues/6865
Figma files:

https://www.figma.com/file/KinuveYf4WUlRIXzMTnmIsmO/[OC-Design]-Lab-🧪?type=design&node-id=22614-35832&mode=design&t=fFad5NpfnZ6GiRHN-11
https://www.figma.com/file/3VOzI0o6tXjGooraqL9HQG/OCR?type=whiteboard&node-id=0-1&t=NTWufNbKpnBnx57V-11

Global loading state
Use the animation from Figma.

Item loading state

Item success field

Item error field

Disclaimer
:warning: This is likely to be updated for a checkbox.

Lottie JSON for the loading animation:
{"nm":"Scanning","ddd":0,"h":600,"w":600,"meta":{"g":"LottieFiles AE 0.1.20","tc":"#eaedf1"},"layers":[{"ty":4,"nm":"Rectangle","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.275,"y":0},"i":{"x":0.376,"y":1},"s":[300,485.5,0],"t":0,"ti":[0,0,0],"to":[0,-60,0]},{"o":{"x":0.632,"y":0},"i":{"x":0.725,"y":1},"s":[300,125.5,0],"t":110,"ti":[0,-60,0],"to":[0,0,0]},{"s":[300,485.5,0],"t":220}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":4.5,"ix":4},"s":{"a":0,"k":[300,9],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.0941,0.4392,0.8431],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"bottom-grad","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,-100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.274,"y":0},"i":{"x":0.374,"y":1},"s":[300,463.5,0],"t":1,"ti":[0,-7.167,0],"to":[0,-52.833,0]},{"o":{"x":0.621,"y":0},"i":{"x":0.726,"y":1},"s":[300,146.5,0],"t":111,"ti":[0,-60,0],"to":[0,7.167,0]},{"s":[300,506.5,0],"t":221}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":120},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[40],"t":152},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[40],"t":199},{"s":[0],"t":218}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"s":{"a":0,"k":[300,45],"ix":2}},{"ty":"gf","bm":0,"hd":false,"mn":"ADBE Vector Graphic - G-Fill","nm":"Gradient Fill 1","e":{"a":0,"k":[0,22.5],"ix":6},"g":{"p":3,"k":{"a":0,"k":[0,0.09411764705882353,0.4392156862745098,0.8431372549019608,0.5,0.09411764705882353,0.4392156862745098,0.8431372549019608,1,0.09411764705882353,0.4392156862745098,0.8431372549019608,0,0,0.5,0.2,1,0.4],"ix":9}},"t":1,"a":{"a":0,"k":0},"h":{"a":0,"k":0},"s":{"a":0,"k":[0,-22.5],"ix":5},"r":1,"o":{"a":0,"k":100,"ix":10}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"top-grad","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":1,"k":[{"o":{"x":0.271,"y":0},"i":{"x":0.376,"y":1},"s":[300,463.5,0],"t":1,"ti":[0,0,0],"to":[0,-60,0]},{"o":{"x":0.632,"y":0},"i":{"x":0.725,"y":1},"s":[300,103.5,0],"t":111,"ti":[0,-60,0],"to":[0,0,0]},{"s":[300,463.5,0],"t":221}],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":0},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[40],"t":14},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[40],"t":89},{"o":{"x":0.333,"y":0},"i":{"x":0.833,"y":1},"s":[0],"t":108},{"s":[0],"t":221}],"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"s":{"a":0,"k":[300,45],"ix":2}},{"ty":"gf","bm":0,"hd":false,"mn":"ADBE Vector Graphic - G-Fill","nm":"Gradient Fill 1","e":{"a":0,"k":[0,22.5],"ix":6},"g":{"p":3,"k":{"a":0,"k":[0,0.09411764705882353,0.4392156862745098,0.8431372549019608,0.5,0.09411764705882353,0.4392156862745098,0.8431372549019608,1,0.09411764705882353,0.4392156862745098,0.8431372549019608,0,0,0.5,0.2,1,0.4],"ix":9}},"t":1,"a":{"a":0,"k":0},"h":{"a":0,"k":0},"s":{"a":0,"k":[0,-22.5],"ix":5},"r":1,"o":{"a":0,"k":100,"ix":10}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":0,"nm":"full","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":true,"ao":0,"ks":{"a":{"a":0,"k":[300,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[300,300,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"masksProperties":[{"nm":"Mask 1","inv":false,"mode":"i","x":{"a":0,"k":0,"ix":4},"o":{"a":0,"k":100,"ix":3},"pt":{"a":1,"k":[{"o":{"x":0.272,"y":0},"i":{"x":0.364,"y":1},"s":[{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[448.801,109],[153,109],[153,479.957],[448.801,479.957]]}],"t":0},{"o":{"x":0.631,"y":0},"i":{"x":0.73,"y":1},"s":[{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[448.801,109],[153,109],[153,129.957],[448.801,129.957]]}],"t":110},{"s":[{"c":true,"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[448.801,109],[153,109],[153,479.957],[448.801,479.957]]}],"t":220}],"ix":1}}],"w":600,"h":600,"refId":"comp_0","ind":4},{"ty":0,"nm":"trans","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[300,300,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[300,300,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"w":600,"h":600,"refId":"comp_1","ind":5}],"v":"5.5.7","fr":60,"op":227,"ip":0,"assets":[{"nm":"","id":"comp_0","layers":[{"ty":4,"nm":"Rectangle Copy 10","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[274,400.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 3","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[128,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"Rectangle Copy 9","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[368.5,302.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 5","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[41,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"Rectangle Copy 8","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[348.5,351.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 4","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[81,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":"Rectangle Copy 7","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[249,351.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 2","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[78,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":"Rectangle Copy 6","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[270.5,302.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[121,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":"Rectangle 3","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[255,234.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[90,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.2196,0.5451,0.9294],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":4,"nm":"Rectangle 2","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[299.89,304.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":19,"ix":4},"s":{"a":0,"k":[245.78,319.5],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.949,0.9647,1],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":7}]},{"nm":"","id":"comp_1","layers":[{"ty":4,"nm":"Rectangle Copy 3","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[274,400.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 3","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[128,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":1},{"ty":4,"nm":"Rectangle Copy 5","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[368.5,302.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 5","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[41,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":2},{"ty":4,"nm":"Rectangle Copy 4","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[348.5,351.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 4","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[81,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":3},{"ty":4,"nm":"Rectangle Copy 2","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[249,351.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy 2","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[78,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":4},{"ty":4,"nm":"Rectangle Copy","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[270.5,302.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle Copy","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[121,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":5},{"ty":4,"nm":"Rectangle","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[255,234.5,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":100,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":3,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":12.5,"ix":4},"s":{"a":0,"k":[90,25],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.8824,0.9137,0.949],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":6},{"ty":4,"nm":"Rectangle","sr":1,"st":0,"op":3600,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6},"sk":{"a":0,"k":0},"p":{"a":0,"k":[299.89,304.75,0],"ix":2},"r":{"a":0,"k":0,"ix":10},"sa":{"a":0,"k":0},"o":{"a":0,"k":60,"ix":11}},"ef":[],"shapes":[{"ty":"gr","bm":0,"hd":false,"mn":"ADBE Vector Group","nm":"Rectangle","ix":1,"cix":2,"np":2,"it":[{"ty":"rc","bm":0,"hd":false,"mn":"ADBE Vector Shape - Rect","nm":"Rectangle Path 1","d":1,"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":19,"ix":4},"s":{"a":0,"k":[245.78,319.5],"ix":2}},{"ty":"fl","bm":0,"hd":false,"mn":"ADBE Vector Graphic - Fill","nm":"Fill 1","c":{"a":0,"k":[0.9647,0.9725,0.9882],"ix":4},"r":1,"o":{"a":0,"k":100,"ix":5}},{"ty":"tr","a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"sk":{"a":0,"k":0,"ix":4},"p":{"a":0,"k":[0,0],"ix":2},"r":{"a":0,"k":0,"ix":6},"sa":{"a":0,"k":0,"ix":5},"o":{"a":0,"k":100,"ix":7}}]}],"ind":7}]}]}


Add rare-disease and AIP repos to all RD datasets

At this point is it easier to add these two repos to the list with assumed permissions on all repos?

Maybe @lgruen could chime in, it is tedious to add for each new repo, unless you add like a tag to a dataset so it gets those repos added automatically.

Maybe @lgruen could chime in, it is tedious to add for each new repo, unless you add like a tag to a dataset so it gets those repos added automatically.

The workflow around this file isn't ideal for a number of reasons, but I'd hope this will get better once we can integrate this into @illusional upcoming "one stack" refactoring, i.e. deploy this automatically through Pulumi (and have more flexibility like tags too).


Support version argument in one line scripts to pull the specific version of dapr cli

Describe the proposal
This is the issue to support version argument in one line scripts to pull the specific version of dapr cli.
Update script location : https://github.com/dapr/cli/tree/master/install
Examples for one liner script to pull 1.0.0-rc.1 cli
powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex -version 1.0.0-rc.1"

curl -fsSL https://raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bash 1.0.0-rc.1

wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash 1.0.0-rc.1

Release Note

RELEASE NOTE: ADD version argument in one line scripts to pull the specific version of dapr cli

Just to confirm - when a user gets the rc.1 version of the CLI when they run "dapr init" it will bring the rc.1 binaries and "dapr init -k" will use the rc.1 helm chart, correct?

Just to confirm - when a user gets the rc.1 version of the CLI when they run "dapr init" it will bring the rc.1 binaries and "dapr init -k" will use the rc.1 helm chart, correct?

no dapr inti -k will get 0.11.3 unless it specifies --runtime-version.


Docker instructions ends with "HTTPS required" as the second step

Describe the bug
Following the Docker instructions to test Keycloak, I am unable to connect to the console as it is said to require HTTPS:

Version
18.0.0
Expected behavior
Instructions should explain how to disable SSL or should contain a way to enable SSL with self-signed certificates.
Actual behavior
No response
How to Reproduce?
No response
Anything else?
There are various hints around this in StackOverflow, notably:
$ ./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
Logging into http://localhost:8080/auth as user admin of realm master
Enter password:
null [RESTEASY003210: Could not find resource for full path: http://localhost:8080/auth/realms/master/protocol/openid-connect/token]

As you can see it does not work for me. Some says we should use 8443, but Keycloak does not bind to 8443.

Following the instructions in the guide it works fine for me. Since you're getting a HTTPS required message I'm assuming you're not opening the admin console using http://localhost:8080, but rather with a some different URL?

I am using http://localhost:8080 (and localhost resolves to <IP_ADDRESS>). I also have this in the logs:
2022-06-17 14:18:59,231 WARN  [org.keycloak.events] (executor-thread-0) type=LOGIN_ERROR, realmId=67efc184-e337-460e-93fe-af4732757d4a, clientId=null, userId=null, ipAddress=<IP_ADDRESS>, error=ssl_required
2022-06-17 14:19:03,867 WARN  [org.keycloak.events] (executor-thread-5) type=LOGIN_ERROR, realmId=67efc184-e337-460e-93fe-af4732757d4a, clientId=null, userId=null, ipAddress=<IP_ADDRESS>, error=ssl_required

However, if I add --net=host, it works.


Testing

Add jest test runner. Also remove broken tests until they are fixed. To run tests use npm test and to get code coverage reports run npm run coverage. Should fix issues #15 and #29.

It looks like there are other commits in here for #issue20.  Can ya add just the testing commits in this PR?

I'm going to close this one and reopen a pull request without the avatar commits.


Add sendMessageAll function to API

This pull request addresses issue #1, please see issue for details.

Hey, I have pushed another commit with all your suggested changes.
Cheers,


(IOS)Component 'RNRectangleScanner' re-registered direct event 'topPictureTaken' as a bubbling event

I got this problem after installing the library

@jenyagalushka Is this on a new install? There isn't an event with that name used anywhere in this package. Maybe you have an existing or old package that is conflicting with this package?

https://github.com/HarvestProfit/react-native-rectangle-scanner/pull/31
Fix.

#31 should have fixed this. Please update to at least version 1.0.9

@humphreyja @ahmetozalp thank you so much!

I had this same issue and I believe that it was because i was previously using a different scanning module. I resolved the issue with the following steps:

Removed the old file from package.json
Deleted package-lock.json
Deleted node_modules folder
Deleted Podfile.lock
Deleted Pods folder
Reinstalled node modules with npm install
Reinstalled pods with cd ios && pod install && cd ..
Restarted app with npm run ios


Keybindings for all debugger commands

Existing bindings:
f10 step-to-next-expression
f11 step-into-function
shift+f11 finish-function
alt-x toggle-breakpoint
alt+shift+x toggle-conditional-breakpoint

Proposed bindings:
f5 start-debugging
shift-f5 stop-debugging
f8 continue
shift-f8 step-to-selected-line
f9 toggle-breakpoint
shift-f9 toggle-conditional-breakpoint
f10 step-to-next-expression
shift-f10 step-to-next-line
f11 step-into-function
shift-f11 finish-function

The proposed bindings are closer to what users might expect from other IDEs. Using the default VSCode bindings for inspiration.
Differences from the VSCode defaults:
continue: change, f5 => f8
step-to-selected-line: new, shift-f8
toggle-conditional-breakpoint: new, shift-f9
step-to-next-expression: new, f10
step-to-next-line: change, f10 => shift-f10

Unbound commands:

clear-all-breakpoints

Could use a modified f9 command, but I'm concerned that users might confuse this for the toggle-conditional-breakpoint binding, and it would be really annoying to accidentally lose all your breakpoints.

open-debugger-pane

Doesn't seem like this needs a hotkey.

Changes required:
Replacements:
toggle-breakpoint: alt-x => f9
toggle-conditional-breakpoint: alt-shift-x => shift-f9

Additions:
f5 start-debugging (see notes on this "new command" below)
shift-f5 stop-debugging
f8 continue
shift-f8 step-to-selected-line
shift-f10 step-to-next-line

New command:

start-debugging.

This is not very important, and not implemented in this change. One possibility is to remember the last Juno.@enter or Juno.@run command.

Note on line vs expression stepping:
Debating whether to use f10 for step-to-next-line and shift-f10 for step-to-next-expression or the other way around.
Motivation for line as f10 is to match other IDEs, even though VSCode doesn't have expression stepping.
Motivation for expression as f10 is to match the pattern established by f11 step-into-function and shift-f11 finish-function, where modifying with shift takes a bigger step. This is also one-fewer Juno binding change.
# keymap for testing these changes without incorporating pull request
# ~/.atom/keymap.cson
'atom-text-editor[data-grammar="source julia"]':
  #'f5': 'julia-debug:start-debugging' # Todo: add start-debugging command
  'shift-f5': 'julia-debug:stop-debugging'
  'f8': 'julia-debug:continue'
  'shift-f8': 'julia-debug:step-to-selected-line'
  'f9': 'julia-debug:toggle-breakpoint' # changed from alt-x
  'shift-f9': 'julia-debug:toggle-conditional-breakpoint' # changed from alt-shift-x
  #'f10': 'julia-debug:step-to-next-expression' # existing
  'shift-f10': 'julia-debug:step-to-next-line'
  #'f11': 'julia-debug:step-into-function' # existing
  #'shift-f11': 'julia-debug:finish-function' # existing

Nice, it's great to have a fairly consistent keymap for debugging!
I've opened a PR that shows the correct keybindings in the toolbar. The missing keybindings in the various menus are a limitation of how Atom autodetects them, I think -- we've worked around that for the toolbar, but I don't think we can do the same for menus.
One complication I just noticed is that F11 is already resolved as window:toggle-full-screen, so we should either add a FAQ entry about that or supply an alternative keybindings.

Here's a summary of F11 behaviors:

Body of .jl file active. Assuming that's what atom-text-editor[data-grammar="source julia"] means.

julia-debug:step-into-function

Body of REPL/Terminal active

Nothing ?!

Any other Atom element selected. Including REPL tab and .jl file tabs.

window:toggle-full-screen

Here are my thoughts on what should happen next:

Map F11 to debug:step-into only when a debug session is active.

This requires replacing atom-text-editor[data-grammar="source julia"] with something that represents debugging state.
Other editors use F11 for both fullscreen and debug:step, so that would be ideal for Juno too.

Let F11 also activate fullscreen (or debug:step) when REPL is in focus.

A simple workaround is adding an F11 entry to the terminal/REPL mapping section, but that suggests that all Juno keymappings need to be duplicated here to avoid being absorbed by the terminal. Hopefully there's an option to let these keys pass through.
https://github.com/JunoLab/atom-julia-client/blob/082d338f717079e44699d17f23828a61f15aa920/keymaps/julia-client.cson.ctrl#L38-L44

Use uniform naming for Terminal, REPL, and Console.

Juno > Open Console opens an Atom tab titled REPL
Juno > Open REPL opens an external Terminal window.
I think the following should be used instead:

Juno > Open REPL opens an Atom tab titled REPL
Juno > Open Terminal opens an external Terminal window.

A simple workaround is adding an F11 entry to the terminal/REPL mapping section, but that suggests that all Juno keymappings need to be duplicated here to avoid being absorbed by the terminal. Hopefully there's an option to let these keys pass through.

There isn't -- a terminal application might want to use those keybindings as well, so we can't just pass them through all the time. Adding F5...F11 to the whitelistedKeybindingsREPL config entry as well as the normal Atom keybindings is the best solution here.
Having the Fx keybindings consistent in Julia editors and the REPL would be great.
Would also be much appreciated if you could uniformize the Terminal/REPL/Console terminology, but we can also postpone that for another PR (and it doesn't need to hold up this one).

Would also be much appreciated if you could uniformize the Terminal/REPL/Console terminology, but we can also postpone that for another PR (and it doesn't need to hold up this one).

This would be really great, but I think it gonna be such a big/destructive refactors that is better to be done within the separate PR imho :)

I tried different combinations of adding the F5...F11 keys to the whitelist and even moving the debug commands to different sections of the keymap file (atom-workspace and julia-terminal, but none of these combinations have allowed the debugger keys to work when the REPL is in focus.

Closing in favor of #619. Thanks for getting the ball rolling on this, @milesfrain!


Add returning to delete

This PR adds the returning option to the delete function, which aligns with update and insert.
This is useful if you want to listen to telemetry events for deleted rows from another process that would execute: MyRepo.delete(%MySchema{}, returning: true)
The Ecto.SQL companion PR can be found here:  #559.
Currently, TDS and Postgres support returning; for MySQL, one could use a temporary table: https://stackoverflow.com/questions/33115526/in-mysql-can-i-return-deleted-rows-after-a-deletion and https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html.
I copied and pasted the code from insert and update, and I'm unsure if I need to call: add_read_after_writes or fields_to_sources after returning. If anyone has some guidance on this, it would be highly appreciated!

Thanks for the PR. I think it makes sense but I'm not sure what the stance will be on breaking the existing behaviour for adapters.
If it is accepted then some comments:

We should add integration tests with the tag :returning
We should document the option
fields_to_sources is a must because it maps schema field names to database column names if they are different. also it puts returning into the right structure to be used by the adapters
using reads_after_writes makes sense to me since insert/update are doing it. the one argument i see against it is that it will change the return value of existing apps. i'm not sure if that is enough to not use it though.

We could keep it backwards compatible by checking inside the Ecto.Repo.Schema if the adapter implements delete/5 or delete/4 with function_exported?(module, :delete, 5). If there is no delete/5, we don't pass the return types for now. Then we can remove the check on later Ecto versions.

Thanks for the feedback; I've made it backward-compatible and added additional tests and documentation for the returning option. When writing the new test, I've decided to include the autogenerated fields as the insert function does; it makes sense to me that delete and insert return autogenerated fields and primary_keys. Please let me know if my assumptions are wrong on this matter.

Thanks for the updates. I don't think we should invoke any autogenerated value, so we should revert that. :) Especially primary keys, they are already meant to exist and be generated for delete to work. :)

Thanks for the updates. I don't think we should invoke any autogenerated value, so we should revert that. :) Especially primary keys, they are already meant to exist and be generated for delete to work. :)

Thanks. I've reverted and updated the test and documentation to reflect that.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Dockerfile build issue

My daily docker builds started failing a couple of days ago.  Any ideas?
docker build -t autodeletetest https://github.com/riking/AutoDelete.git
Current default time zone: 'Etc/UTC'
Local time is now:      Thu Jun 23 13:03:15 UTC 2022.
Universal Time is now:  Thu Jun 23 13:03:15 UTC 2022.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
git is already the newest version (1:2.30.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.
        To build and install a command, use 'go install' with a version,
        like 'go install example.com/cmd@latest'
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.
The command '/bin/sh -c apt update -y --allow-insecure-repositories && apt upgrade -y &&   apt install -y git &&   apt -y clean &&   go get -u -v github.com/riking/AutoDelete/cmd/autodelete' returned a non-zero code: 1

@samcro1967
You could use the same docker image that I use, it works like a charm, and no dockerfile needed!
Here is the run command.
docker run --name AutoDelete -d --restart=always -p 2202:2202/tcp -v PATH/TO/CONFIG/config.yml:/autodelete/config.yml -v PATH/TODATA/data/:/autodelete/data/ jacoknapp/autodelete-discord:latest


PSA config example

Hi Andi
can you share a PSA-config-example?
`vehicles:

name: peugeot
type: peugeot
title: 208
capacity: 50 # kWh
user: xxx
password: xxx
vin: xxx`

gives error:
SoC:        vehicle not available: missing client id and secret (see https://github.com/flobz/psa_car_controller)
Capacity:   0kWh
Identifier: vehicle not available: missing client id and secret (see https://github.com/flobz/psa_car_controller)
`vehicles:

name: peugeot
type: peugeot
title: 208
capacity: 50 # kWh
user: xxx
password: xxx
vin: xxx
ID: 1eebc2d5-5df3-459b-a624-20abfcf82530
Secret: T5tP7iS0cO8sC0lA2iE2aR7gK6uE5rF3lJ8pC3nO1pR7tL8vU1`

gives

'' has invalid keys: ID, Secret

evcc version 0.61 (02c8729)

my fault
ist working with
`vehicles:
name: peugeot
type: peugeot
title: 208
capacity: 50 # kWh
user: xxx
password: xxx
vin: xxx
ClientID: 1eebc2d5-5df3-459b-a624-20abfcf82530
ClientSecret: T5tP7iS0cO8sC0lA2iE2aR7gK6uE5rF3lJ8pC3nO1pR7tL8vU1`
result
SoC:            65% Charge status:  not available Capacity:       50kWh Range:          184km Finish time:    not available Climate active: false Outside temp:   20.0°C Target temp:    20.0°C

but config is not working without
ClientID: 1eebc2d5-5df3-459b-a624-20abfcf82530
ClientSecret: T5tP7iS0cO8sC0lA2iE2aR7gK6uE5rF3lJ8pC3nO1pR7tL8vU1

For current master you don't need id/secret at all.


M4: During development, Tasks came up which were not planned. To avoid adding Sprint 2 Tasks to Sprint 1 Userstories we add them here. (Tasks for M4 which came up during M3)

Acceptance Criteria

[x] sopra-fs24-group-46/server#124
[x] sopra-fs24-group-46/client#82 (Bug fixes and improvements)
[x] sopra-fs24-group-46/client#78
[x] sopra-fs24-group-46/client#80
[x] #72
[x] sopra-fs24-group-46/client#77
[x] sopra-fs24-group-46/client#76

Closing since all tasks are done


Decl'SION test decl_sion_03_F fails with OpenMPI on debian/testing (but seems to work with mpich on the same distribution)

6/6 Test #6: decl_sion_03_F ...................***Failed    1.30 sec
[PDI][14:37:08] *** trace: Found PDI_PLUGIN_PATH env variable: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi'
[PDI][14:37:08] *** trace: Escaped PDI_PLUGIN_PATH[] env variable: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi'
[PDI][14:37:08] *** trace: Adding plugin path: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master'
[PDI][14:37:08] *** trace: Loading 2 plugin(s)
[PDI][14:37:08] *** trace: Found PDI_PLUGIN_PATH env variable: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi'
[PDI][14:37:08] *** trace: Escaped PDI_PLUGIN_PATH[] env variable: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi'
[PDI][14:37:08] *** trace: Adding plugin path: `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master'
[PDI][14:37:08] *** trace: Loading 2 plugin(s)
[PDI][14:37:08] *** trace: Loaded `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi/libpdi_mpi_plugin.so'
[PDI][14:37:08] *** trace: Loaded `/usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi/libpdi_mpi_plugin.so'
[PDI][14:37:08] *** debug: Unable to load /usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi/libpdi_decl_sion_plugin.so: cannot open shared object file: No such file or directory
[PDI][14:37:08] *** debug: Unable to load /usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/libpdi_decl_sion_plugin.so: cannot open shared object file: No such file or directory
[PDI][14:37:08] *** debug: Unable to load /usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/openmpi/libpdi_decl_sion_plugin.so: cannot open shared object file: No such file or directory
[PDI][14:37:08] *** debug: Unable to load /usr/lib/x86_64-linux-gnu/pdi/plugins_9999master/libpdi_decl_sion_plugin.so: cannot open shared object file: No such file or directory
[PDI][14:37:08] *** trace: Loaded `libpdi_decl_sion_plugin.so' from system path
[PDI][14:37:08] *** trace: Loaded `libpdi_decl_sion_plugin.so' from system path
[PDI][Decl'SION][000000][14:37:08] *** info: Plugin loaded successfully
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_WORLD' share. Callbacks to call: 1
[PDI][Decl'SION][000001][14:37:08] *** info: Plugin loaded successfully
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_WORLD' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_WORLD' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_SELF' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_SELF' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_NULL' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_NULL' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_WORLD_F' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_WORLD_F' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_SELF_F' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_SELF_F' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_NULL_F' share. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `MPI_COMM_NULL_F' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_WORLD' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_SELF' share. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_SELF' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_NULL' share. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_NULL' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_WORLD_F' share. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_WORLD_F' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_SELF_F' share. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_SELF_F' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_NULL_F' share. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `MPI_COMM_NULL_F' data remove. Callbacks to call: 0
[PDI][MPI][000000][14:37:08] *** info: (MPI) Plugin loaded successfully
[PDI][MPI][000001][14:37:08] *** info: (MPI) Plugin loaded successfully
[PDI][000000][14:37:08] *** trace: Loaded 2 metadata
[PDI][000001][14:37:08] *** trace: Loaded 2 metadata
[PDI][000000][14:37:08] *** trace: Loaded 2 data
[PDI][000000][14:37:08] *** info: Initialization successful
[PDI][000001][14:37:08] *** trace: Loaded 2 data
[PDI][000001][14:37:08] *** info: Initialization successful
[PDI][000000][14:37:08] *** trace: Sharing `ni' Ref with rights: R = true, W = false
[PDI][000000][14:37:08] *** trace: Calling `ni' share. Callbacks to call: 2
[PDI][000001][14:37:08] *** trace: Sharing `ni' Ref with rights: R = true, W = false
[PDI][000001][14:37:08] *** trace: Calling `ni' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Calling `ni' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `ni' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Sharing `nj' Ref with rights: R = true, W = false
[PDI][000001][14:37:08] *** trace: Calling `nj' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Sharing `nj' Ref with rights: R = true, W = false
[PDI][000000][14:37:08] *** trace: Calling `nj' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Calling `nj' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `nj' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Sharing `reals' Ref with rights: R = true, W = false
[PDI][000001][14:37:08] *** trace: Calling `reals' share. Callbacks to call: 2
[PDI][000001][14:37:08] *** trace: Sharing `values' Ref with rights: R = true, W = false
[PDI][000001][14:37:08] *** trace: Calling `values' share. Callbacks to call: 2
[PDI][000001][14:37:08] *** trace: Calling `write_data' event. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Sharing `reals' Ref with rights: R = true, W = false
[PDI][000000][14:37:08] *** trace: Calling `reals' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Sharing `values' Ref with rights: R = true, W = false
[PDI][000000][14:37:08] *** trace: Calling `values' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Calling `write_data' event. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `values' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `reals' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Sharing `reals' Ref with rights: R = true, W = true
[PDI][000000][14:37:08] *** trace: Calling `reals' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Sharing `values' Ref with rights: R = true, W = true
[PDI][000000][14:37:08] *** trace: Calling `values' share. Callbacks to call: 2
[PDI][000000][14:37:08] *** trace: Calling `read_data' event. Callbacks to call: 1
[PDI][000001][14:37:08] *** trace: Calling `values' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `reals' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Sharing `reals' Ref with rights: R = true, W = true
[PDI][000001][14:37:08] *** trace: Calling `reals' share. Callbacks to call: 2
[PDI][000001][14:37:08] *** trace: Sharing `values' Ref with rights: R = true, W = true
[PDI][000001][14:37:08] *** trace: Calling `values' share. Callbacks to call: 2
[PDI][000001][14:37:08] *** trace: Calling `read_data' event. Callbacks to call: 1
[PDI][000000][14:37:08] *** trace: Calling `values' data remove. Callbacks to call: 0
[PDI][000000][14:37:08] *** trace: Calling `reals' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `values' data remove. Callbacks to call: 0
[PDI][000001][14:37:08] *** trace: Calling `reals' data remove. Callbacks to call: 0
 integer (export) / integer(imported) ::           1          -1
 integer (export) / integer(imported) ::           1          -1
 reals   (export) / reals (imported) ::   1.1000000238418579       -1.0000000000000000
 reals   (export) / reals (imported) ::   1.1000000238418579       -1.0000000000000000
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode -1.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[6e7671e8260c:02753] 1 more process has sent help message help-mpi-api.txt / mpi-abort
[6e7671e8260c:02753] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

83% tests passed, 1 tests failed out of 6

Total Test time (real) =   4.44 sec

The following tests FAILED:
          6 - decl_sion_03_F (Failed)

In GitLab by @ksiero on Mar 5, 2021, 14:47
mentioned in commit ef9118a863e134e05910044467a1a4bf1166cb6a

Correction, it fails with mpich too!


Using Microsoft.Azure.ServiceBus with .NET Core

Thanks for the tutorial, however it should be noted to use version 1.0 of the Microsoft.Azure.ServiceBus from NuGet because version 2.0 is not compatible with .NET Core as shown in the picture.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 217f29ba-3552-f406-58d3-d2e0c3bd4d2c
Version Independent ID: 003342a6-6fc5-fae4-31f4-369b561cfd89
Content
Content Source
Service: service-bus-messaging

Thanks for reporting! I have assigned the issue to the author to investigate and update as appropriate.

@tcb1986 Hi and thanks for the feedback. Are you sure that you have installed .NET Core 2.0 as listed in the prerequisites? And if you are using Visual Studio, have you installed update 3 or later? I believe that earlier VS versions do not work with .NET Core 2.0.
I just tested this tutorial, following the steps exactly as written, and it seems to run fine.  I am using Microsoft.Azure.ServiceBus from NuGet, version 2.0. If you are still having this issue, please let us know.

Hi @tcb1986, please let us know if you have any further questions, or it's ok to close this issue. Thanks!

Most likely my mistake, I'm attempting some updates now to see if I can get Microsoft.Azure.ServiceBus 2.0 working on this device. I am still using VS2015. Part of my confusion is from the NuGet package error message.
error: Package Microsoft.Azure.ServiceBus 2.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0).
Package Microsoft.Azure.ServiceBus 2.0.0 supports:
error:   - net461 (.NETFramework,Version=v4.6.1)
error:   - netstandard2.0 (.NETStandard,Version=v2.0)

@tcb1986 Yes -- I think that if you update your .NET Core to version 2.0 (links should be in the article), that error should disappear. I understand that the different libraries and library versions can be confusing.


Remove .format().

States are already formatted as numbers in TahomaApi
def set_active_state(self, name, value): (line 652)
https://github.com/iMicknl/ha-tahoma/blob/a518ba3f9909a6713b0b1a2c0bb9be7a9bc5ac59/custom_components/tahoma/tahoma_api.py#L652
Github issue #110

Your branch is named f-string, but you didn't use f-string :D

I know... I named the branch from the issue, but realized we didn't need the f strings...


Make an option to Collapse monster menu entries

Make a plugin to allow the user to collapse the monster names into 1 line
(e.g. Attack Greater Nechryael (Level-200) (5))
I think it would be awesome if you could be able to do this, it would help a lot when doing a bursting task so you don't see a huge list of one monster name,
This idea I have would make the menu so much cleaner with bursting on lets say a slayer task.
We have one for ground items so why not have one for monsters?
Thank you for spending your time on reading my idea :D

The difference with this is the ground items can not be individually picked up where as each NPC can be individually attacked. So we would have to specifically pick one NPC, but we would not know which one to pick.


Throw error/warn when no app version exists in start/import

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:

In start, throws an error when no app version exists.
In import, warns when no app version exists.

Fixes #351.

Should we do this on package / make as well as they are also critical times where if you don't have a version, things like auto updating aren't going to work?

Good point. I'll add a warning to package.


[Feature Request]: make it possible to add custom oauth adapter

Package
lucia-auth
Describe the problem
It would be nice to be possible to implement our custom adapters. However, some unreacheable imports are necessary (the ones from core.js for instance).
Describe the proposed solution
Make it possible to implement custom oauth providers.
Alternatives considered
No response
Additional information
My use case
I would like a auth0 that:

deals with the "audience" params
make it possible to get the access token (relative to the forementioned 'audience' param)
make it possible to get the refresh token
deals with the logout call (otherwise else, no subsequent login to a different user is possible until the Auth0 cookie is expired)
etc.

You can use provider()  to create your own, unless there’s something missing?
https://lucia-auth.com/reference/oauth/lucia-auth-oauth#provider

Thank you very much for your quick answer. I am surely missing something.
For example, say I clone the auth0 adapter
(integration-auth/src/providers/auth0.ts) in my own code base (into a
auth0Clone.ts for instance).
Then I need to replace this import, relative to the Lucia code base:
import type { OAuthConfig } from "../core.js";
But the type OAuthConfig is not exported in integration-auth/src/index.ts.
I could write the following:
import type { OAuthConfig } from @.***/oauth/core";
but then I get the following error:
Error: Missing "./core" specifier in @.***/oauth" package
at e (file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:16076:25)
at n (file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:16076:627)
at o (file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:16076:1297)
at resolveExportsOrImports
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:23295:20)
at resolveDeepImport
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:23314:31)
at tryNodeResolve
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:23000:20)
at Context.resolveId
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:22762:28)
at Object.resolveId
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:43314:46)
at process.processTicksAndRejections
(node:internal/process/task_queues:95:5)
at async TransformContext.resolve
(file:///C:/Users/bertr/Desktop/lucia/node_modules/vite/dist/node/chunks/dep-79892de8.js:43043:23)
That is my point. It seems easy to implement a custom oauth adapter *from
within *the Lucia code base, but I cannot manage doing it outside of the
Lucia code base.
What do I miss?
Thank you in advance for your help.
Le sam. 1 avr. 2023 à 23:34, pilcrowOnPaper @.***> a
écrit :

You can use provider() to create your own, unless there’s something
missing?
https://lucia-auth.com/reference/oauth/lucia-auth-oauth#provider
—
Reply to this email directly, view it on GitHub
https://github.com/pilcrowOnPaper/lucia/issues/445#issuecomment-1493130287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEUCQ4EA3DRHCPQK6ZZE5SLW7CNNFANCNFSM6AAAAAAWPWI5MU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Types like OAuthConfig are internal only, and it's not exported since it's not a requirement to use them when creating a provider.

Closing this for the reason above


Merge pull request #1 from Azure/master

本家に追従

Hi @ksasagit, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@ksasagit This pull request contains no files.  We're closing this PR because it appears to have only been a test. Please comment if we should reopen.


YAML...? [Request]

Just been thinking a lot of the larger libraries are using YAML for easier integration with non-engineering contributors for ease of use. It has an easier syntax which might lead to less errors so edits can be made easier in plugin directly.

Also to clarify this one... not exporting YAML but having it as an alternative input method

I'm not very experienced with converting JSON to YML but I can't imagine it would be very difficult to add. We could I think make it so that a user could switch input modes from YML to JSON if it's that easy to convert

Sadly I'm more visual and only know enough to be dangerous in react. 😐
But this nice article by Nathan Curtis outlines how they use YAML that's pretty nice and they reference YamlJS
Input modes is a cool idea, because on your roadmap "syncing to a JSON file" That could be another input type "external file". Because I feel like the need of the raw text field might still be valid.

Closing this as not planned.