diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..196db1b2cae645d77eb16d7bdfdbcff83a783f92 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,35 +1,8 @@ -*.7z filter=lfs diff=lfs merge=lfs -text -*.arrow filter=lfs diff=lfs merge=lfs -text -*.bin filter=lfs diff=lfs merge=lfs -text -*.bz2 filter=lfs diff=lfs merge=lfs -text -*.ckpt filter=lfs diff=lfs merge=lfs -text -*.ftz filter=lfs diff=lfs merge=lfs -text -*.gz filter=lfs diff=lfs merge=lfs -text -*.h5 filter=lfs diff=lfs merge=lfs -text -*.joblib filter=lfs diff=lfs merge=lfs -text -*.lfs.* filter=lfs diff=lfs merge=lfs -text -*.mlmodel filter=lfs diff=lfs merge=lfs -text -*.model filter=lfs diff=lfs merge=lfs -text -*.msgpack filter=lfs diff=lfs merge=lfs -text -*.npy filter=lfs diff=lfs merge=lfs -text -*.npz filter=lfs diff=lfs merge=lfs -text -*.onnx filter=lfs diff=lfs merge=lfs -text -*.ot filter=lfs diff=lfs merge=lfs -text -*.parquet filter=lfs diff=lfs merge=lfs -text -*.pb filter=lfs diff=lfs merge=lfs -text -*.pickle filter=lfs diff=lfs merge=lfs -text -*.pkl filter=lfs diff=lfs merge=lfs -text -*.pt filter=lfs diff=lfs merge=lfs -text -*.pth filter=lfs diff=lfs merge=lfs -text -*.rar filter=lfs diff=lfs merge=lfs -text -*.safetensors filter=lfs diff=lfs merge=lfs -text -saved_model/**/* filter=lfs diff=lfs merge=lfs -text -*.tar.* filter=lfs diff=lfs merge=lfs -text -*.tar filter=lfs diff=lfs merge=lfs -text -*.tflite filter=lfs diff=lfs merge=lfs -text -*.tgz filter=lfs diff=lfs merge=lfs -text -*.wasm filter=lfs diff=lfs merge=lfs -text -*.xz filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text -*.zst filter=lfs diff=lfs merge=lfs -text -*tfevents* filter=lfs diff=lfs merge=lfs -text +* text=auto eol=lf +*.bin -text +*.espdl -text +*.f32 -text +data/model-int8.bin filter=lfs diff=lfs merge=lfs -text +data/original.espdl filter=lfs diff=lfs merge=lfs -text +data/reference_rgb.f32 filter=lfs diff=lfs merge=lfs -text +firmware.bin filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..5a42b63da309211b0edf8ee89b8f4f2e81b1c38f --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +source/firmware/build/ +__pycache__/ +*.pyc +original-badge*.bin +backups/ +host-model +host-model.exe +output-int8.bin* diff --git a/BACKUP.md b/BACKUP.md new file mode 100644 index 0000000000000000000000000000000000000000..c38d75c52690fe3b829993fb1097df38f6ae4525 --- /dev/null +++ b/BACKUP.md @@ -0,0 +1,23 @@ +# Optional backup and restore + +Use the official esptool. Replace `PORT` with your badge's serial port. With the +original summit app, connect USB and hold rear SHARE until solid blue, then release. + +```sh +python -m pip install esptool==5.6.0 +python -m esptool --chip esp32c3 --port PORT --baud 460800 --before usb-reset --after hard-reset read-flash 0x0 0x400000 original-badge.bin +``` + +Keep the 4,194,304-byte backup privately. It can include photos, contacts, and +settings. For an independent check, read again to a different filename and compare +SHA-256 hashes. Return to solid-blue mode again before using the browser flasher. + +To restore your own backup to the same badge: + +```sh +python -m esptool --chip esp32c3 --port PORT --baud 460800 --before usb-reset --after hard-reset write-flash 0x0 original-badge.bin +``` + +The native flower app keeps USB awake and does not need the solid-blue sequence. +These commands do not write eFuses. See the +[official command reference](https://docs.espressif.com/projects/esptool/en/latest/esp32c3/esptool/basic-commands.html). diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 0000000000000000000000000000000000000000..5ccf809259693420ceb9a125e9bdd6e572547018 --- /dev/null +++ b/BUILD.md @@ -0,0 +1,40 @@ +# Build and inspect + +Use **ESP-IDF v5.5.1**, its **riscv32-esp-elf GCC 14.2.0_20241119** toolchain, +and **esptool 5.6.0**. The release was built with CMake 3.30.2 and Ninja 1.12.1. +The complete configuration is included as `source/firmware/sdkconfig`, alongside +`sdkconfig.defaults`. Reproducible-build mode and project version 1.0.0 are set. + +After installing/activating official ESP-IDF, from the repository root: + +```sh +idf.py -C source/firmware build +``` + +Build your own merged image with official esptool: + +```sh +python -m esptool --chip esp32c3 merge-bin -o rebuilt-firmware.bin --flash-mode dio --flash-freq 40m --flash-size 4MB --pad-to-size 4MB 0x0 source/firmware/build/bootloader/bootloader.bin 0x8000 source/firmware/build/partition_table/partition-table.bin 0x10000 source/firmware/build/flower_c3.bin 0x70000 data/model-int8.bin +``` + +This writes no device. Flash the resulting file at `0x0` using the same guide. +Reproducible-build mode removes variable build metadata; byte identity across +independent build environments has not been independently verified. + +`data/model-int8.json` describes the weights as signed INT8 OHWI tensors, with +byte offsets, little-endian INT32 biases, and power-of-two quantization exponents. +`source/generated/model-meta.h` contains layer descriptors, lookup tables, and the +startup latent. The source retains all trained values from `data/original.espdl`. + +For desktop inference with a C11 compiler: + +```sh +cc -O3 -std=c11 -Isource/generated -Isource/native source/native/flower.c source/native/render.c source/native/host_main.c -o host-model +./host-model data/model-int8.bin output-int8.bin 2000 +``` + +The output is 320 × 176 interleaved signed INT8 RGB, plus a packed `.epaper` frame. +Seed 2000 has CRC-32 `534cfdc5`; the embedded startup seed has CRC-32 `4033cceb`. +Original seed-2000 float reference tensors and a seven-seed test report are in +`data/`. Training source is in `training/`; reproducing training requires the +upstream dataset and dependencies listed in `data/original-export.json`. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..488d1dad45a70adfdd21312f1a9a4c8a3927d0c3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Flower Badge contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/NOTICE.md b/NOTICE.md new file mode 100644 index 0000000000000000000000000000000000000000..f5d57d25e81229b793f8659bd8a61fceedb9bd8f --- /dev/null +++ b/NOTICE.md @@ -0,0 +1,26 @@ +# Source and upstream notices + +The project owner's original code and trained weights are released under the +root MIT LICENSE. This does not relicense the separately attributed third-party +panel driver, ESP-IDF components, or training images. + +The trained INT8 flower model was supplied by the project owner from their +existing ESP32-S3 flower-GAN project. Its architecture and precision are preserved. +That project's handoff identifies Oxford Flowers102 (8,189 images, 102 classes) +as its training data: https://www.robots.ox.ac.uk/~vgg/data/flowers/102/ . +No training images or original badge data are included here. This notice does not +replace upstream model/dataset terms. + +The modified panel driver in `source/firmware/main/epaper.c` adapts Gordon Williams / +Pur3 Ltd's Espruino ePaper Badge driver, under Mozilla Public License 2.0. Its source +is included in this release and the license is at `source/licenses/MPL-2.0.txt`. +Original: https://github.com/espruino/Espruino/blob/master/libs/js/misc/epaper_badge.js + +The native application and bootloader use Espressif ESP-IDF v5.5.1. IDF and its +bundled component notices are retained in `source/licenses/esp-idf/`. +https://github.com/espressif/esp-idf/tree/v5.5.1 + +Flashing instructions use Espressif's official browser utility (not bundled): +https://github.com/espressif/esptool-js . Optional terminal instructions use +esptool 5.6.0, installed separately from PyPI under its upstream terms: +https://github.com/espressif/esptool . No custom installer is included. diff --git a/README.md b/README.md index 154df8298fab5ecf322016157858e08cd1bccbe1..f28e5d68ab78d8b2c2bc38f7464375b1ada9b9ac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,67 @@ --- -license: apache-2.0 +license: mit +tags: [esp32-c3, e-paper, gan, flowers, int8, embedded] +pipeline_tag: unconditional-image-generation --- + +# Flower GAN on an ePaper badge + +A **3.42-million-parameter INT8 flower generator** running entirely on the +Espruino ESP32-C3 ePaper Badge from Google Web AI Summit 2026. No network, cloud, +PSRAM, or external storage is needed. The existing trained model is reused without +retraining. Images generate in about **48 seconds**, with the next generation +overlapping the four-color screen refresh. + +The model generates 320 × 176 RGB. The original 320 × 172 crop is enlarged to +800 × 430 and dithered to black, white, yellow, and red. Small borders show timing, +free RAM, image number, and seed. Hardware: ESP32-C3, 4 MiB flash, 800 × 480 panel, +maker's rev 1.2 pin mapping. Other ESP32 boards need their own port. + +## Easiest flash: your browser + +**This replaces the original app and saved badge data.** Back up first if you want +to preserve your photo, contacts, and settings; see [backup instructions](BACKUP.md). + +1. Download [firmware.bin](firmware.bin?download=true). It includes the application + and all model weights. +2. Connect a USB data cable. In the original summit app, hold the rear **SHARE** + button until the LEDs stay solid blue, then release. Close other serial apps. +3. In desktop Chrome or Edge, open [Espressif's ESP Tool](https://espressif.github.io/esptool-js/). + Click **Connect** in the Program section and select the badge's USB serial/JTAG + device. It should identify as **ESP32-C3**; leave WebUSB (CH340) unchecked. +4. Choose `firmware.bin` in one file row at **Flash Address `0x0`**. Set flash mode, + frequency, and size to **keep**. Leave Erase all unchecked and click **Program**. +5. Wait for verification and automatic reset. The first flower appears in about + one minute; subsequent images advance automatically. Both buttons are unassigned. + +No custom installer scripts or build tools are required. For terminal users: + +```sh +python -m pip install esptool==5.6.0 +python -m esptool --chip esp32c3 --port PORT --baud 460800 --before usb-reset --after hard-reset write-flash 0x0 firmware.bin +``` + +Replace `PORT` with your device's port. If it does not appear, check the cable, +solid-blue mode, and whether another app has the port open. + +## Code, weights, and data + +| Path | Contents | +| --- | --- | +| [source/](source/) | Native C inference, display driver, and ESP-IDF project | +| [training/](training/) | Original PyTorch architecture, training, data preparation, and export code | +| [data/](data/) | Exact INT8 weights, tensor layout, original model export, and reference tensors | +| [data/dataset.json](data/dataset.json) | Training dataset source, pinned revision, and preprocessing metadata | +| [BUILD.md](BUILD.md) | Build versions and commands | +| [release.json](release.json) / [SHA256SUMS](SHA256SUMS) | Flash layout, versions, and file hashes | + +Training used all **8,189 Oxford Flowers102 images**, from the +[pufanyi/flowers102 mirror](https://huggingface.co/datasets/pufanyi/flowers102), +revision `b61e48cb66625272ca3bf36442062362587fa9bb`. Images are not mirrored here; +the source and preparation code are included. The original floating-point training +checkpoint was not in the supplied bundle; the original INT8 export is included. + +Original project code and trained weights are released under [MIT](LICENSE). +Third-party code and dataset terms remain separate; see [NOTICE.md](NOTICE.md). +The release contains no private badge data. The inference implementation matched +its reference byte for byte across seven seeds and ran successfully on the badge. diff --git a/SHA256SUMS b/SHA256SUMS new file mode 100644 index 0000000000000000000000000000000000000000..75893f810b61e8cc6502b8585c208024946735e2 --- /dev/null +++ b/SHA256SUMS @@ -0,0 +1,87 @@ +df96de6f46a5594a070aa2c07dcd34ae91d6042acf36edcf360594fa53fc6151 .gitattributes +9f468b0e65dc3ef00e7efb33c37f9efa4d7dd945990f07bd7bd93a9c693f0589 .gitignore +bd4b0b434068196a94699d85fcce7d3870275dea31fb8dbafa958dd485bf7e52 BACKUP.md +9762d1e94fc84a2b2c0bdb4cf41015284d607933456a4b71fea59effd21e1abb BUILD.md +c7ebe6be9d817c1f64ef33befe258837568368d9e3701edf53b9ee021c52a5b4 data/dataset.json +ebcf094242437d185b8fef08881883728aca9e19a9e4231544da55a4c37f6947 data/model-int8.bin +b3bd77d712cb56f6617af343b65fdf5d947bb2c4e6e500a2ce270962b524efa8 data/model-int8.json +3dbbe06fda98f8f80cad39a7e4a0df2fb847be894852c42560f011b63ba5e5a1 data/original-export.json +3a5ccc5f7dc423d65778aa3226fb97100f9aa6aaf79b3a1f95c2268629c6f66d data/original.espdl +d583ef4052acdb0007330672009db60d5c79456cf18066de0195ea6617230b5a data/reference-tests.json +7a2253621199378438e26a8d780bba101cc72a9c441cdffee47bae86dd97ef9c data/reference_latent.f32 +1c7689094a996beff43b8a91fbf3c8e2a4edd03ead540dfa8ba918063d1fb359 data/reference_rgb.f32 +03ca5e73c2d254c568bcafb616abb598df8dc1e5774be480169bc2885aa9b98c firmware.bin +4453349a154e6a82ee514f7bcf50eec902b2de51c24b4483503533ecda01fc5d LICENSE +8389b04da02141b65c23bc1e621b0422ee1bf596a1d70b30ee41fd2449a1c596 NOTICE.md +3b0992e922932d5a6f5029a78283c88b8c9c0828ff6fa8a6817c034a4ac36e79 README.md +6b6d85ca7b1e13396d9177422f4f42f84870db87d58dd0995ce5ddbd6399835a release.json +728211abf89669c6760ec90cba2fcf9e3fcc81c1a0b37f47c246fde50930539c source/firmware/CMakeLists.txt +e2b492b60c1756aebe0f7e59569daf5f23c5722b76bfd3045f513ea8fd76e46f source/firmware/main/app_main.c +49db3a8d297ce77197b087d76bef4915ecaa84e0e0fe6e1141f05d9ac2ca7287 source/firmware/main/CMakeLists.txt +ce93bd62e89c6d0532d7e6d1ea90ffe984039b0b9fdc10f60e4f9ee85e8125ba source/firmware/main/epaper.c +8ef8c94fa6b2e74a012560639a36bb814bade6215014a702ca4f374dc0231074 source/firmware/main/epaper.h +b83381b26df5feb9ee2e88fff60721c29f2317bee94751c734680b6a31c71457 source/firmware/partitions.csv +a4c5348d345d2bcaffb1d4e19906466917324622da9fd0f81f5d3792ebd7d1fc source/firmware/sdkconfig +cbad79bf779825811c59496359e5c701e0754b6369562ecf92f89445b8deea9b source/firmware/sdkconfig.defaults +b3bd77d712cb56f6617af343b65fdf5d947bb2c4e6e500a2ce270962b524efa8 source/generated/model-int8.json +dd444fcc6a690c1effb00c4336c2c18c5160cf81a0c92fe7c79aebf033fc6825 source/generated/model-meta.h +a1703aff7676e565a6dbb7f4e494dfdb2d149dee839ac88533577fc46754467b source/generated/palette-lut.h +ffd8b033d2df7568c25a98866bd92b1656f7da82d7f813c0b2eb85ec36611193 source/licenses/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc/LICENSE.txt +270e0b63ce74421f1ccaaf03f9c7daa430cdb16c9856259ca4c2e3c74880d589 source/licenses/esp-idf/components/bt/common/tinycrypt/LICENSE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/bt/controller/lib_esp32/LICENSE +9db49cb1e535c496d7655dd54d5481404e7634353dc3bc0817c7d07767acc6e8 source/licenses/esp-idf/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/NOTICE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/bt/controller/lib_esp32c3_family/LICENSE +ebd002217a1a76e3cce23cd89d0916477da6c7907a6a46c8a7f1fb209e3cb333 source/licenses/esp-idf/components/bt/controller/lib_esp32c5/esp32c5-bt-lib/NOTICE +ebd002217a1a76e3cce23cd89d0916477da6c7907a6a46c8a7f1fb209e3cb333 source/licenses/esp-idf/components/bt/controller/lib_esp32c6/esp32c6-bt-lib/NOTICE +a1a74b78d60bf3feb4f493f058ac8ee4022e40387783085171670e34b001d8dd source/licenses/esp-idf/components/bt/controller/lib_esp32h2/esp32h2-bt-lib/NOTICE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/bt/esp_ble_mesh/lib/lib/LICENSE +b2d451fcba3577b118741d733d37ebd15bdd0b6b381e554a7345bdbfa3743108 source/licenses/esp-idf/components/bt/host/nimble/nimble/ext/tinycrypt/LICENSE +0deb15bc7df50b1d009c644b008f92e1062909e9521328d337c5fad3a5d4921c source/licenses/esp-idf/components/bt/host/nimble/nimble/LICENSE +b838c4733a5020cd8e2bafbe70842acd8c8dc7816012965b77d10c1f4c0727f6 source/licenses/esp-idf/components/bt/host/nimble/nimble/NOTICE +a228c2871b9a779a6542a49470c5b567f2806dddcbcf90af861bb4d39291626c source/licenses/esp-idf/components/cmock/CMock/LICENSE.txt +3ed9b51da86f52c729c96cc99fdde6444b2297c788a9cf4ad1d3649dc34c4985 source/licenses/esp-idf/components/cmock/CMock/vendor/unity/LICENSE.txt +a97df648b7db77f9f6f5e1ef5fe44eb6b154ecb8ae26ad39c92ea44201cce45c source/licenses/esp-idf/components/console/argtable3/LICENSE +efe1692aa5b869edaa0ac88f95eb0276c1125304ffc636a299db3ebbab47f62b source/licenses/esp-idf/components/console/linenoise/LICENSE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/driver/test_apps/components/esp_serial_slave_link/LICENSE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/esp_coex/lib/LICENSE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/esp_phy/lib/LICENSE +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/esp_wifi/lib/LICENSE +8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 source/licenses/esp-idf/components/esptool_py/LICENSE +508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1 source/licenses/esp-idf/components/freertos/FreeRTOS-Kernel/LICENSE.md +3aced2d086d3f59cafb6589770c30c1e45a5bdf50c1d4375060b81a615db604c source/licenses/esp-idf/components/http_parser/LICENSE.txt +a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c source/licenses/esp-idf/components/json/cJSON/LICENSE +3ed9b51da86f52c729c96cc99fdde6444b2297c788a9cf4ad1d3649dc34c4985 source/licenses/esp-idf/components/json/cJSON/tests/unity/docs/license.txt +ef1f7505cfdff240e72602bc50ef1cdba37c681c84611cdf30e4371320c70942 source/licenses/esp-idf/components/lwip/lwip/contrib/apps/LwipMibCompiler/SharpSnmpLib/license.txt +ef4aac92e05e87cd1cdc140870ed52206ba03d4a7fe46c1e11d7ffa6c87d252b source/licenses/esp-idf/components/lwip/lwip/COPYING +11402351e38392230bb8934ba1095c0c0049a296c0f8821f76e4672dff54b490 source/licenses/esp-idf/components/mbedtls/mbedtls/framework/LICENSE +9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b source/licenses/esp-idf/components/mbedtls/mbedtls/LICENSE +20ed622a5f1a273258b415097609f6a236fb2f23f8c593c63e29e6cc77de0032 source/licenses/esp-idf/components/mqtt/esp-mqtt/LICENSE +0681089a556e93791da82718d68011ba452de245f7f59c3846936304756ac0c0 source/licenses/esp-idf/components/newlib/COPYING.NEWLIB +fa72ebf6e3c9b3d674f89da06648b0c17d3bcb1ce05ed5956cc102fba1e6964d source/licenses/esp-idf/components/newlib/COPYING.picolibc +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/components/openthread/lib/LICENSE +e164182fc3e6378533ba706800087469a14dcd5913ee55e2e8ae3fb14f3cdbbb source/licenses/esp-idf/components/openthread/openthread/LICENSE +1b37f4fbb95506a0529a15c007aa53053e0e2bf03b1547fb244fdebacf49374f source/licenses/esp-idf/components/openthread/openthread/NOTICE +9a160ebc4406ed363f5fb397cc8cd201613ab29e67a2439474f7bafd77e3ce07 source/licenses/esp-idf/components/openthread/openthread/third_party/jlink/SEGGER_RTT_V640/License.txt +11402351e38392230bb8934ba1095c0c0049a296c0f8821f76e4672dff54b490 source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/framework/LICENSE +9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/LICENSE +d29b8f5c1c666698dfe7717c53e10f82981e0889a06f8a3ebc093d9dccc35aa4 source/licenses/esp-idf/components/openthread/openthread/tools/otci/LICENSE +b8999cb392cc5bbe8cd679de59584ad8d2f26033123e76f1d662fa14b9d4f287 source/licenses/esp-idf/components/protobuf-c/protobuf-c/LICENSE +d19257540156a51ed50c2378e7159066415d8bbbe147779f8deb0d3e73f1b0a7 source/licenses/esp-idf/components/spiffs/spiffs/LICENSE +7d710553eaf7174f383699ed4eebac67fe7cda7971cbe892f700cd0e087f860f source/licenses/esp-idf/components/unity/unity/LICENSE.txt +a87ac4e333d0f120408a9d814e40c3672cd27f365af89b4f2f6631f7a9338953 source/licenses/esp-idf/components/wpa_supplicant/COPYING +cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 source/licenses/esp-idf/LICENSE +c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 source/licenses/esp-idf/tools/catch/LICENSE.txt +bac71c23ed7f3fdfb4ffcc05b9e79f5a744dbbd7cced64039c9c4cca73b50f31 source/licenses/MPL-2.0.txt +66812138c486d2a3e1f32d9c8ffffcb4fd39b454742bdacf359be5eb0f2d5cdc source/native/flower.c +e256e8c29b05034c42abbaa8e597bbcc2d0ca348d25db82f9e31336a81343de8 source/native/flower.h +b8243421158678b403573926d6d0aa96a98ef45e9c359f8b99d296d32a199e6f source/native/host_main.c +fc36e015a2fe7f24907ab79233c66738182e7b27d7962711476928d8b128637c source/native/render.c +b422aa461afc1bfc5363e289884f18de6808ed75dcff441d6a951c2ba1a83e21 source/native/render.h +816196a435b29b707a2e237f96d7c9a59f4f7410a31413fedb37fea15451c9ee source/README.md +4ffb8db473152ff917ac3f795f5bd9f253167cfe594e5bb35fc8e6da5f25b330 training/__init__.py +16e08a1814059a57eb6bdfa3aa38453959a2123d5e2485914fb0f1c4978b2bd0 training/data.py +0c3641b563e588b7b0c49d0b228225ddf9144e6127e0deb82523a30977b70db9 training/diagnose.py +49d56a7dc6086d8d8b5f57c2a5eeb3b12b649aded14ae509bca328ec29297011 training/export.py +26eb73039613c76370a38aeee7b46427c1d931d8a3291b5fe5ab26c034c13431 training/model.py +e0b175a87676b51a5d82e6d707fe4cf0bae0ce896acc62a6316f55543deff5cd training/smoke.py +1f30c8c25c62ffde3bb335a58c043881340940d4de3cdf5fb51e7520844e11b4 training/train.py diff --git a/data/dataset.json b/data/dataset.json new file mode 100644 index 0000000000000000000000000000000000000000..5c3e5de7fd0ad8e4aee4e3a5889422797896f898 --- /dev/null +++ b/data/dataset.json @@ -0,0 +1,135 @@ +{ + "width": 320, + "height": 176, + "display_width": 320, + "display_height": 172, + "display_crop_top": 2, + "layout": "NHWC", + "dtype": "uint8", + "border": "reflective overscan", + "source": "pufanyi/flowers102", + "preset": "oxford_flowers102_8k", + "revision": "b61e48cb66625272ca3bf36442062362587fa9bb", + "column": "image", + "description": "All 8,189 curated Oxford 102 Flowers photographs, combined into one GAN training set with no unused validation download.", + "source_url": "https://huggingface.co/datasets/pufanyi/flowers102", + "license": "The Hugging Face mirror declares CC BY 4.0 and attributes the original Oxford 102 Flowers dataset; verify upstream terms before redistribution.", + "upstream_size_gb": 0.347, + "train": 8189, + "test": 0, + "selection_limit": 8189, + "available_images": 8189, + "source_splits_combined": [ + "train", + "validation", + "test" + ], + "class_count": 102, + "selected_class_counts": { + "45": 196, + "73": 171, + "51": 85, + "88": 184, + "80": 166, + "6": 40, + "52": 93, + "55": 109, + "74": 120, + "12": 49, + "93": 162, + "75": 107, + "35": 75, + "42": 130, + "59": 109, + "83": 86, + "20": 40, + "76": 251, + "60": 50, + "44": 40, + "72": 194, + "57": 114, + "49": 92, + "10": 87, + "27": 66, + "77": 137, + "94": 128, + "69": 62, + "0": 40, + "5": 45, + "28": 78, + "50": 258, + "34": 43, + "11": 87, + "62": 54, + "47": 71, + "31": 45, + "36": 108, + "64": 102, + "70": 78, + "41": 59, + "32": 46, + "56": 67, + "23": 42, + "39": 67, + "79": 105, + "66": 42, + "63": 52, + "54": 71, + "100": 58, + "71": 96, + "24": 41, + "21": 59, + "46": 67, + "40": 127, + "15": 41, + "17": 82, + "16": 85, + "96": 66, + "67": 54, + "65": 61, + "13": 48, + "87": 154, + "43": 93, + "25": 41, + "85": 58, + "3": 56, + "19": 56, + "95": 91, + "82": 131, + "81": 112, + "99": 49, + "30": 52, + "89": 82, + "97": 82, + "92": 46, + "91": 66, + "4": 65, + "14": 49, + "58": 67, + "61": 55, + "7": 85, + "53": 61, + "22": 91, + "26": 40, + "33": 40, + "29": 85, + "48": 49, + "84": 63, + "18": 49, + "9": 45, + "8": 46, + "101": 48, + "90": 76, + "1": 60, + "78": 41, + "38": 41, + "86": 63, + "37": 56, + "98": 63, + "68": 54, + "2": 40 + }, + "selection_filter": "all Oxford 102 Flowers photographs; no unused validation split", + "selection_audit": "selected_items.jsonl", + "augmentation_profile": "flowers" +} diff --git a/data/model-int8.bin b/data/model-int8.bin new file mode 100644 index 0000000000000000000000000000000000000000..1145712d6afc9a0b422a39af5302eb8c29158e28 --- /dev/null +++ b/data/model-int8.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebcf094242437d185b8fef08881883728aca9e19a9e4231544da55a4c37f6947 +size 3529772 diff --git a/data/model-int8.json b/data/model-int8.json new file mode 100644 index 0000000000000000000000000000000000000000..4beb574625e66fb82679ba16e774fd9ec5286123 --- /dev/null +++ b/data/model-int8.json @@ -0,0 +1,204 @@ +{ + "source_sha256": "3a5ccc5f7dc423d65778aa3226fb97100f9aa6aaf79b3a1f95c2268629c6f66d", + "weight_precision_bits": 8, + "weights_requantized": false, + "bytes": 3529772, + "sha256": "ebcf094242437d185b8fef08881883728aca9e19a9e4231544da55a4c37f6947", + "layers": [ + { + "name": "/generator/fc/Gemm", + "input": "latent", + "output": "/generator/relu/Relu_output_0", + "weight_offset": 0, + "bias_offset": 2252800, + "input_channels": 64, + "output_channels": 35200, + "kernel": 1, + "input_exponent": -7, + "weight_exponent": -9, + "bias_exponent": -16, + "output_exponent": -7, + "relu": true + }, + { + "name": "/generator/trunk11/trunk11.0/conv/Conv", + "input": "PPQ_Variable_5", + "output": "/generator/trunk11/trunk11.0/conv/Conv_output_0", + "weight_offset": 2393600, + "bias_offset": 2624000, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -7, + "weight_exponent": -8, + "bias_exponent": -15, + "output_exponent": -5, + "relu": false + }, + { + "name": "/generator/trunk11/trunk11.1/conv/Conv", + "input": "/generator/trunk11/trunk11.0/relu/Relu_output_0", + "output": "/generator/trunk11/trunk11.1/conv/Conv_output_0", + "weight_offset": 2624640, + "bias_offset": 2855040, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -10, + "bias_exponent": -15, + "output_exponent": -4, + "relu": false + }, + { + "name": "/generator/trunk11/trunk11.2/conv/Conv", + "input": "/generator/trunk11/trunk11.1/relu/Relu_output_0", + "output": "/generator/trunk11/trunk11.2/conv/Conv_output_0", + "weight_offset": 2855680, + "bias_offset": 3086080, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -10, + "bias_exponent": -14, + "output_exponent": -3, + "relu": false + }, + { + "name": "/generator/stage22/stage22.0/conv/Conv", + "input": "/generator/stage22/stage22.0/resize/Resize_output_0", + "output": "/generator/stage22/stage22.0/relu/Relu_output_0", + "weight_offset": 3086720, + "bias_offset": 3271040, + "input_channels": 160, + "output_channels": 128, + "kernel": 3, + "input_exponent": -3, + "weight_exponent": -10, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage22/stage22.1/conv/Conv", + "input": "/generator/stage22/stage22.0/relu/Relu_output_0", + "output": "/generator/stage22/stage22.1/relu/Relu_output_0", + "weight_offset": 3271552, + "bias_offset": 3419008, + "input_channels": 128, + "output_channels": 128, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage44/conv/Conv", + "input": "/generator/stage44/resize/Resize_output_0", + "output": "/generator/stage44/relu/Relu_output_0", + "weight_offset": 3419520, + "bias_offset": 3493248, + "input_channels": 128, + "output_channels": 64, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage88/stage88.0/conv/Conv", + "input": "/generator/stage88/stage88.0/resize/Resize_output_0", + "output": "/generator/stage88/stage88.0/relu/Relu_output_0", + "weight_offset": 3493504, + "bias_offset": 3511936, + "input_channels": 64, + "output_channels": 32, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -7, + "bias_exponent": -11, + "output_exponent": -5, + "relu": true + }, + { + "name": "/generator/stage88/stage88.1/conv/Conv", + "input": "/generator/stage88/stage88.0/relu/Relu_output_0", + "output": "/generator/stage88/stage88.1/relu/Relu_output_0", + "weight_offset": 3512064, + "bias_offset": 3521280, + "input_channels": 32, + "output_channels": 32, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -7, + "bias_exponent": -12, + "output_exponent": -5, + "relu": true + }, + { + "name": "/generator/base_rgb/Conv", + "input": "/generator/stage88/stage88.1/relu/Relu_output_0", + "output": "/generator/base_rgb/Conv_output_0", + "weight_offset": 3521408, + "bias_offset": 3522272, + "input_channels": 32, + "output_channels": 3, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -10, + "bias_exponent": -15, + "output_exponent": -5, + "relu": false + }, + { + "name": "/generator/detail_reduce/conv/Conv", + "input": "/generator/stage88/stage88.1/relu/Relu_output_0", + "output": "/generator/detail_reduce/relu/Relu_output_0", + "weight_offset": 3522288, + "bias_offset": 3526896, + "input_channels": 32, + "output_channels": 16, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -7, + "bias_exponent": -12, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage176/conv/Conv", + "input": "/generator/stage176/resize/Resize_output_0", + "output": "/generator/stage176/relu/Relu_output_0", + "weight_offset": 3526960, + "bias_offset": 3529264, + "input_channels": 16, + "output_channels": 16, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -7, + "bias_exponent": -11, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/detail_rgb/Conv", + "input": "/generator/stage176/relu/Relu_output_0", + "output": "/generator/detail_rgb/Conv_output_0", + "weight_offset": 3529328, + "bias_offset": 3529760, + "input_channels": 16, + "output_channels": 3, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -5, + "relu": false + } + ] +} diff --git a/data/original-export.json b/data/original-export.json new file mode 100644 index 0000000000000000000000000000000000000000..bdcff56fcbc45e41920d32a14dc1361738948151 --- /dev/null +++ b/data/original-export.json @@ -0,0 +1,192 @@ +{ + "format_version": 1, + "name": "flowers_native_320x172_quality_v3", + "target": "esp32s3", + "quantization": "w8a8", + "width": 320, + "height": 176, + "channels": 3, + "display": { + "width": 320, + "height": 172, + "source_width": 320, + "source_height": 172, + "crop_top": 2, + "crop_bottom": 2, + "upscale": 1, + "filter": "native" + }, + "input": { + "name": "latent", + "shape": [ + 1, + 64 + ], + "distribution": "uniform[-1,1]" + }, + "output": { + "name": "rgb_flat", + "shape": [ + 1, + 168960 + ], + "layout": "flattened HWC RGB", + "real_range": [ + -1, + 1 + ] + }, + "checkpoint_step": 50000, + "reference_seed": 2000, + "embedded_self_test_seed": 1234, + "model_variant": "quality_v3", + "generator_parameters": 3421462, + "espdl_bytes": 3728096, + "espdl_sha256": "3a5ccc5f7dc423d65778aa3226fb97100f9aa6aaf79b3a1f95c2268629c6f66d", + "quantization_mean_absolute_error_0_255": 3.9241302013397217, + "quantization_psnr_db": 32.71799811404907, + "quality_gate_mae_0_255": 6.0, + "quality_gate_passed": true, + "quality_gate_scope": "Numerical quantization fidelity only; does not certify image realism or diversity.", + "versions": { + "torch": "2.8.0+cu128", + "onnx": "1.17.0", + "onnxruntime": "1.30.0", + "esp-ppq": "1.3.11" + }, + "dataset": { + "width": 320, + "height": 176, + "display_width": 320, + "display_height": 172, + "display_crop_top": 2, + "layout": "NHWC", + "dtype": "uint8", + "border": "reflective overscan", + "source": "pufanyi/flowers102", + "preset": "oxford_flowers102_8k", + "revision": "b61e48cb66625272ca3bf36442062362587fa9bb", + "column": "image", + "description": "All 8,189 curated Oxford 102 Flowers photographs, combined into one GAN training set with no unused validation download.", + "source_url": "https://huggingface.co/datasets/pufanyi/flowers102", + "license": "The Hugging Face mirror declares CC BY 4.0 and attributes the original Oxford 102 Flowers dataset; verify upstream terms before redistribution.", + "upstream_size_gb": 0.347, + "train": 8189, + "test": 0, + "selection_limit": 8189, + "available_images": 8189, + "source_splits_combined": [ + "train", + "validation", + "test" + ], + "class_count": 102, + "selected_class_counts": { + "45": 196, + "73": 171, + "51": 85, + "88": 184, + "80": 166, + "6": 40, + "52": 93, + "55": 109, + "74": 120, + "12": 49, + "93": 162, + "75": 107, + "35": 75, + "42": 130, + "59": 109, + "83": 86, + "20": 40, + "76": 251, + "60": 50, + "44": 40, + "72": 194, + "57": 114, + "49": 92, + "10": 87, + "27": 66, + "77": 137, + "94": 128, + "69": 62, + "0": 40, + "5": 45, + "28": 78, + "50": 258, + "34": 43, + "11": 87, + "62": 54, + "47": 71, + "31": 45, + "36": 108, + "64": 102, + "70": 78, + "41": 59, + "32": 46, + "56": 67, + "23": 42, + "39": 67, + "79": 105, + "66": 42, + "63": 52, + "54": 71, + "100": 58, + "71": 96, + "24": 41, + "21": 59, + "46": 67, + "40": 127, + "15": 41, + "17": 82, + "16": 85, + "96": 66, + "67": 54, + "65": 61, + "13": 48, + "87": 154, + "43": 93, + "25": 41, + "85": 58, + "3": 56, + "19": 56, + "95": 91, + "82": 131, + "81": 112, + "99": 49, + "30": 52, + "89": 82, + "97": 82, + "92": 46, + "91": 66, + "4": 65, + "14": 49, + "58": 67, + "61": 55, + "7": 85, + "53": 61, + "22": 91, + "26": 40, + "33": 40, + "29": 85, + "48": 49, + "84": 63, + "18": 49, + "9": 45, + "8": 46, + "101": 48, + "90": 76, + "1": 60, + "78": 41, + "38": 41, + "86": 63, + "37": 56, + "98": 63, + "68": 54, + "2": 40 + }, + "selection_filter": "all Oxford 102 Flowers photographs; no unused validation split", + "selection_audit": "selected_items.jsonl", + "augmentation_profile": "flowers" + } +} diff --git a/data/original.espdl b/data/original.espdl new file mode 100644 index 0000000000000000000000000000000000000000..5b7fafedad1dbd939902c254078fbb5434bc461c --- /dev/null +++ b/data/original.espdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a5ccc5f7dc423d65778aa3226fb97100f9aa6aaf79b3a1f95c2268629c6f66d +size 3728096 diff --git a/data/reference-tests.json b/data/reference-tests.json new file mode 100644 index 0000000000000000000000000000000000000000..d1ce0ba4f931e86ad2d037fc1de3c1196cab996d --- /dev/null +++ b/data/reference-tests.json @@ -0,0 +1,67 @@ +{ + "all_exact_match": true, + "seeds": 7, + "inference_arena_bytes": 146720, + "display_buffer_bytes": 96000, + "weights_precision_bits": 8, + "weights_retrained": false, + "original_bundle_seed_2000_matches": true, + "results": [ + { + "seed": 1, + "exact_match": true, + "output_values": 168960, + "crc32": "374a62c3", + "seconds": 1.4234442000743002, + "native_output": "status=0 arena=146720 crc32=374a62c3 seconds=0.166 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 2, + "exact_match": true, + "output_values": 168960, + "crc32": "8f3735f7", + "seconds": 0.5427792000118643, + "native_output": "status=0 arena=146720 crc32=8f3735f7 seconds=0.174 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 42, + "exact_match": true, + "output_values": 168960, + "crc32": "699f9c36", + "seconds": 0.5391885000281036, + "native_output": "status=0 arena=146720 crc32=699f9c36 seconds=0.192 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 1234, + "exact_match": true, + "output_values": 168960, + "crc32": "4033cceb", + "seconds": 0.5840967000694945, + "native_output": "status=0 arena=146720 crc32=4033cceb seconds=0.170 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 2000, + "exact_match": true, + "output_values": 168960, + "crc32": "534cfdc5", + "seconds": 0.5991590999765322, + "native_output": "status=0 arena=146720 crc32=534cfdc5 seconds=0.179 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 9999, + "exact_match": true, + "output_values": 168960, + "crc32": "5fa0dc08", + "seconds": 0.5849220999516547, + "native_output": "status=0 arena=146720 crc32=5fa0dc08 seconds=0.182 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + }, + { + "seed": 4294967295, + "exact_match": true, + "output_values": 168960, + "crc32": "cdb5b186", + "seconds": 0.5940950999502093, + "native_output": "status=0 arena=146720 crc32=cdb5b186 seconds=0.180 expected_reference_crc=4033cceb\ncomputed rows: 22 22 44 88 88 88 88 176 176" + } + ] +} diff --git a/data/reference_latent.f32 b/data/reference_latent.f32 new file mode 100644 index 0000000000000000000000000000000000000000..66c02b0d2c9819a1e11fd784034288c3623ea6ea Binary files /dev/null and b/data/reference_latent.f32 differ diff --git a/data/reference_rgb.f32 b/data/reference_rgb.f32 new file mode 100644 index 0000000000000000000000000000000000000000..ea3a1808ac621f671744789ad153e6fd234e3cac --- /dev/null +++ b/data/reference_rgb.f32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c7689094a996beff43b8a91fbf3c8e2a4edd03ead540dfa8ba918063d1fb359 +size 675840 diff --git a/firmware.bin b/firmware.bin new file mode 100644 index 0000000000000000000000000000000000000000..c17de54e82e5048b4114eae9f617c973a33a67eb --- /dev/null +++ b/firmware.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ca5e73c2d254c568bcafb616abb598df8dc1e5774be480169bc2885aa9b98c +size 4194304 diff --git a/release.json b/release.json new file mode 100644 index 0000000000000000000000000000000000000000..9b86d90b7bd447c9924aa165c8d5eb0c74dad6c6 --- /dev/null +++ b/release.json @@ -0,0 +1,64 @@ +{ + "name": "Flower GAN ePaper Badge", + "version": "1.0.0", + "chip": "ESP32-C3", + "flash_bytes": 4194304, + "compatible_hardware": "Espruino 800x480 four-color ePaper Badge (Web AI Summit 2026)", + "firmware_sha256": "03ca5e73c2d254c568bcafb616abb598df8dc1e5774be480169bc2885aa9b98c", + "flash_offset": 0, + "precision": "INT8", + "parameters": 3421462, + "native_width": 320, + "native_height": 176, + "model_offset": 458752, + "model_bytes": 3529772, + "inference_arena_bytes": 146720, + "continuous_generation": true, + "includes_personal_data": false, + "build": { + "esp_idf": "v5.5.1", + "gcc": "14.2.0_20241119", + "cmake": "3.30.2", + "ninja": "1.12.1", + "reproducible_build_mode": true, + "independent_byte_reproduction_verified": false + }, + "components": [ + { + "offset": "0x0", + "bytes": 20880, + "sha256": "e763260459b5210f10b6adb1acd198cc9316f8085b7348b1d81b2f731b348ea4" + }, + { + "offset": "0x8000", + "bytes": 3072, + "sha256": "4aa414953c6a524f81a7e239537472d39e3433f460a9ccf965073131baececea" + }, + { + "offset": "0x10000", + "bytes": 199488, + "sha256": "90ac6adf6d4f80ae6ad6f4e0955fb1f0868e075213b2a80db39bf628a658b3cf" + }, + { + "offset": "0x70000", + "bytes": 3529772, + "sha256": "ebcf094242437d185b8fef08881883728aca9e19a9e4231544da55a4c37f6947" + } + ], + "verified": { + "reference_crc32": "4033cceb", + "seed_2000_crc32": "534cfdc5", + "computer_test_seeds": 7, + "scope": "Inference/display implementation tested; version/reproducibility metadata rebuild not reflashed", + "inference_seconds": [ + 47.614, + 48.799, + 48.236 + ], + "overlay_microseconds": [ + 925, + 941, + 961 + ] + } +} diff --git a/source/README.md b/source/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a85aa8d1924bd7a0d8855c8ad703dc3599330f20 --- /dev/null +++ b/source/README.md @@ -0,0 +1,5 @@ +# Source + +Native C inference, display driver, generated metadata, and the ESP-IDF project. +See ../BUILD.md for versions and build commands; ../data/ contains the weights +and original export. ../training/ contains the original training source. diff --git a/source/firmware/CMakeLists.txt b/source/firmware/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ff947a66ba00abd0cced00fce30e7e4725844c6 --- /dev/null +++ b/source/firmware/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.16) +set(COMPONENTS main) +set(PROJECT_VER "1.0.0") +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(flower_c3) diff --git a/source/firmware/main/CMakeLists.txt b/source/firmware/main/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..01c4c77d77fec9be22e30971550d708848214457 --- /dev/null +++ b/source/firmware/main/CMakeLists.txt @@ -0,0 +1,4 @@ +idf_component_register(SRCS "app_main.c" "epaper.c" "../../native/flower.c" "../../native/render.c" + INCLUDE_DIRS "." "../../native" "../../generated" + REQUIRES esp_driver_gpio esp_driver_spi esp_timer esp_partition esp_hw_support) +target_compile_options(${COMPONENT_LIB} PRIVATE -O3) diff --git a/source/firmware/main/app_main.c b/source/firmware/main/app_main.c new file mode 100644 index 0000000000000000000000000000000000000000..39b6b066f298f8bfa17e283a167cd169b4c99854 --- /dev/null +++ b/source/firmware/main/app_main.c @@ -0,0 +1,110 @@ +#include +#include +#include +#include "flower.h" +#include "render.h" +#include "epaper.h" +#include "esp_heap_caps.h" +#include "esp_log.h" +#include "esp_partition.h" +#include "esp_random.h" +#include "esp_timer.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +static const char *TAG="FLOWER-C3"; +static const uint8_t *weights; +static size_t weights_size; +static int8_t *arena; +static FC3Frame frame; +static int64_t last_yield,last_log,render_us,refresh_started; +static bool refresh_active,first_display=true; + +static esp_err_t service_display(bool wait) +{ + if(!refresh_active || (!wait && !badge_epaper_ready() && esp_timer_get_time()-refresh_started<90000000)) return ESP_OK; + esp_err_t result=badge_epaper_finish(); + refresh_active=false; + ESP_LOGI(TAG,"DISPLAY_DONE result=%s seconds=%.3f",esp_err_to_name(result),(esp_timer_get_time()-refresh_started)/1000000.0); + if(first_display && result==ESP_OK) { + ESP_LOGI(TAG,"READY: continuously generating; next inference overlaps ePaper refresh. USB stays awake."); + first_display=false; + } + return result; +} + +static void heartbeat(int stage,int row,void *user) +{ + (void)user; + int64_t now=esp_timer_get_time(); + if(now-last_yield>250000) { + ESP_ERROR_CHECK(service_display(false)); + vTaskDelay(1);last_yield=esp_timer_get_time(); + } + if(now-last_log>10000000) { + ESP_LOGI(TAG,"Computing stage=%d row=%d free_heap=%u",stage,row,(unsigned)esp_get_free_heap_size()); + last_log=now; + } +} +static int output_row(int y,const int8_t *rgb,void *user) +{ + (void)user; + int64_t start=esp_timer_get_time(); + int result=fc3_frame_row(y,rgb,&frame); + render_us+=esp_timer_get_time()-start; + return result; +} +static bool generate(uint32_t seed,bool self_test,uint32_t number) +{ + fc3_frame_clear(&frame); + int8_t latent[64];fc3_latent_from_seed(seed,latent); + FC3Stats stats; + render_us=0;last_yield=last_log=esp_timer_get_time();int64_t start=last_log; + ESP_LOGI(TAG,"Generating seed=%lu, INT8 320x176, arena=%u",(unsigned long)seed,FC3_ARENA_BYTES); + int result=fc3_generate(weights,weights_size,self_test ? fc3_test_latent() : latent,arena,FC3_ARENA_BYTES,output_row,heartbeat,NULL,&stats); + int64_t elapsed=esp_timer_get_time()-start; + double seconds=elapsed/1000000.0; + ESP_LOGI(TAG,"INFERENCE_DONE status=%d seconds=%.3f crc32=%08lx arena=%u",result,seconds,(unsigned long)stats.output_crc32,(unsigned)stats.arena_bytes); + if(result || (self_test && stats.output_crc32!=fc3_test_crc32())) { + ESP_LOGE(TAG,"Reference validation failed; display update skipped. Expected %08lx",(unsigned long)fc3_test_crc32());return false; + } + if(self_test) ESP_LOGI(TAG,"SELF_TEST_PASS: original model output matched exactly"); + FC3DisplayStats overlay={.generation_ms=(uint32_t)(elapsed/1000),.number=number,.seed=seed,.free_heap_bytes=esp_get_free_heap_size()}; + int64_t overlay_start=esp_timer_get_time(); + fc3_frame_overlay(&frame,&overlay); + ESP_LOGI(TAG,"STATS overlay_us=%u render_ms=%u colors_black_white_yellow_red=%lu,%lu,%lu,%lu", + (unsigned)(esp_timer_get_time()-overlay_start),(unsigned)(render_us/1000), + (unsigned long)frame.colors[0],(unsigned long)frame.colors[1],(unsigned long)frame.colors[2],(unsigned long)frame.colors[3]); + return true; +} + +void app_main(void) +{ + ESP_LOGI(TAG,"INT8 flower generator / ESP32-C3 / native 320x176 / no PSRAM"); + ESP_LOGI(TAG,"Free heap=%u largest=%u",(unsigned)esp_get_free_heap_size(),(unsigned)heap_caps_get_largest_free_block(MALLOC_CAP_8BIT)); + const esp_partition_t *model=esp_partition_find_first(ESP_PARTITION_TYPE_DATA,0x40,"model"); + if(!model) { ESP_LOGE(TAG,"Missing model partition");return; } + esp_partition_mmap_handle_t handle; + ESP_ERROR_CHECK(esp_partition_mmap(model,0,model->size,ESP_PARTITION_MMAP_DATA,(const void **)&weights,&handle)); + weights_size=model->size; + arena=heap_caps_malloc(FC3_ARENA_BYTES,MALLOC_CAP_8BIT); + if(!arena) { ESP_LOGE(TAG,"Cannot allocate inference arena");return; } + for(int i=0;i64 ? 64 : length; + spi_transaction_t tx={.length=n*8,.tx_buffer=p}; + esp_err_t result=spi_device_polling_transmit(panel,&tx); + if(result!=ESP_OK) return result; + p+=n;length-=n; + } + return ESP_OK; +} +static esp_err_t send_command(uint8_t value) +{ + gpio_set_level(PIN_CS,0);gpio_set_level(PIN_DC,0); + esp_err_t result=transfer(&value,1);gpio_set_level(PIN_CS,1);return result; +} +static esp_err_t send_data(const void *data,size_t length) +{ + gpio_set_level(PIN_CS,0);gpio_set_level(PIN_DC,1); + esp_err_t result=transfer(data,length);gpio_set_level(PIN_CS,1);return result; +} +static esp_err_t command_data(uint8_t command,const uint8_t *data,size_t length) +{ + esp_err_t result=send_command(command); + return result==ESP_OK ? send_data(data,length) : result; +} +static esp_err_t wait_ready(void) +{ + int64_t start=esp_timer_get_time(); + while(!gpio_get_level(PIN_BUSY)) { + if(esp_timer_get_time()-start>90000000) return ESP_ERR_TIMEOUT; + pause_ms(5); + } + return ESP_OK; +} + +esp_err_t badge_epaper_setup(void) +{ + gpio_config_t outputs={.pin_bit_mask=(1ULL<chunks[i],FC3_FRAME_CHUNK_BYTES),"EPAPER","Frame transfer failed"); + const uint8_t zero=0; + ESP_RETURN_ON_ERROR(command_data(0x12,&zero,1),"EPAPER","Refresh failed"); + pause_ms(10); + return ESP_OK; +} + +esp_err_t badge_epaper_finish(void) +{ + const uint8_t zero=0,a5=0xa5; + ESP_RETURN_ON_ERROR(wait_ready(),"EPAPER","Refresh timeout"); + ESP_RETURN_ON_ERROR(command_data(0x02,&zero,1),"EPAPER","Power off failed"); + ESP_RETURN_ON_ERROR(wait_ready(),"EPAPER","Power off timeout"); + return command_data(0x07,&a5,1); +} diff --git a/source/firmware/main/epaper.h b/source/firmware/main/epaper.h new file mode 100644 index 0000000000000000000000000000000000000000..d4ebbb02adaf24af0fbf6454f754cceaa394593a --- /dev/null +++ b/source/firmware/main/epaper.h @@ -0,0 +1,11 @@ +#ifndef FC3_EPAPER_H +#define FC3_EPAPER_H +#include +#include "esp_err.h" +#include "render.h" +esp_err_t badge_epaper_setup(void); +/* Start copies the whole framebuffer into the controller before returning. */ +esp_err_t badge_epaper_start(const FC3Frame *frame); +bool badge_epaper_ready(void); +esp_err_t badge_epaper_finish(void); +#endif diff --git a/source/firmware/partitions.csv b/source/firmware/partitions.csv new file mode 100644 index 0000000000000000000000000000000000000000..06022edca630869a31b5bf094dbc4df75a048c47 --- /dev/null +++ b/source/firmware/partitions.csv @@ -0,0 +1,5 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x6000, +phy_init, data, phy, 0xf000, 0x1000, +factory, app, factory, 0x10000, 0x60000, +model, data, 0x40, 0x70000, 0x390000, diff --git a/source/firmware/sdkconfig b/source/firmware/sdkconfig new file mode 100644 index 0000000000000000000000000000000000000000..acfc3ac9850751136f6f53aa9179e46ba04f0bf2 --- /dev/null +++ b/source/firmware/sdkconfig @@ -0,0 +1,1278 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.1 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_UHCI_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_XT_WDT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_HAS_EFUSE_RST_BUG=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_CACHE_MEMORY_IBANK_SIZE=0x4000 +CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=22 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=21 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=21 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=6 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x00000000003FFFC0 +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_TIMER_NUM=4 +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=108 +CONFIG_SOC_SLEEP_SYSTIMER_STALL_WORKAROUND=y +CONFIG_SOC_SLEEP_TGWDT_STOP_WORKAROUND=y +CONFIG_SOC_RTCIO_PIN_COUNT=0 +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4 +CONFIG_SOC_SDM_CLK_SUPPORT_APB=y +CONFIG_SOC_SPI_PERIPH_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=512 +CONFIG_SOC_UART_NUM=2 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +CONFIG_SOC_UHCI_NUM=1 +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_WIFI_PD=y +CONFIG_SOC_PM_SUPPORT_BT_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y +CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_CSI_SUPPORT=y +CONFIG_SOC_WIFI_MESH_SUPPORT=y +CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TOOLCHAIN_GCC=y +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c3" +CONFIG_IDF_INIT_VERSION="5.5.1" +CONFIG_IDF_TARGET_ESP32C3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +CONFIG_APP_REPRODUCIBLE_BUILD=y +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set + +# +# Log +# +CONFIG_BOOTLOADER_LOG_VERSION_1=y +CONFIG_BOOTLOADER_LOG_VERSION=1 +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# CONFIG_BOOTLOADER_LOG_COLORS is not set +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_HAS_MZ_CRC32=y +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="40m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +CONFIG_COMPILER_OPTIMIZATION_PERF=y +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:SPI Configurations +# +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# Hardware Settings +# + +# +# Chip revision +# +# CONFIG_ESP32C3_REV_MIN_0 is not set +# CONFIG_ESP32C3_REV_MIN_1 is not set +# CONFIG_ESP32C3_REV_MIN_2 is not set +CONFIG_ESP32C3_REV_MIN_3=y +# CONFIG_ESP32C3_REV_MIN_4 is not set +# CONFIG_ESP32C3_REV_MIN_101 is not set +CONFIG_ESP32C3_REV_MIN_FULL=3 +CONFIG_ESP_REV_MIN_FULL=3 + +# +# Maximum Supported ESP32-C3 Revision (Rev v1.99) +# +CONFIG_ESP32C3_REV_MAX_FULL=199 +CONFIG_ESP_REV_MAX_FULL=199 +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-C3 eFuse Block Revision (eFuse Block Rev v1.99) +# +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# Power Management +# +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_IRAM_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP-ROM +# +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP_SYSTEM_IN_IRAM=y +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# CONFIG_ESP_CONSOLE_UART_DEFAULT is not set +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_NONE=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART_NUM=-1 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=3 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=30 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +CONFIG_ESP_TIMER_IN_IRAM=y +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_USE_TIMERS=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +CONFIG_LOG_VERSION_1=y +# CONFIG_LOG_VERSION_2 is not set +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# CONFIG_LOG_COLORS is not set +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +CONFIG_LOG_MODE_TEXT_EN=y +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA1_C=y +CONFIG_MBEDTLS_SHA512_C=y +# CONFIG_MBEDTLS_SHA3_C is not set +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# LibC +# +CONFIG_LIBC_NEWLIB=y +CONFIG_LIBC_MISC_IN_IRAM=y +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +CONFIG_LIBC_NEWLIB_NANO_FORMAT=y +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS is not set +# end of LibC + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# CONFIG_SPI_FLASH_ROM_IMPL is not set +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver +# end of Component config + +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP32C3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32C3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32C3_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP32C3_MEMPROT_FEATURE=y +CONFIG_ESP32C3_MEMPROT_FEATURE_LOCK=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=12288 +# CONFIG_CONSOLE_UART_DEFAULT is not set +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART_NUM=-1 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=30 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32C3_DEBUG_OCDAWARE=y +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +CONFIG_NEWLIB_NANO_FORMAT=y +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +# End of deprecated options diff --git a/source/firmware/sdkconfig.defaults b/source/firmware/sdkconfig.defaults new file mode 100644 index 0000000000000000000000000000000000000000..225a7714b7b089f0d14412420094b22c7a7ba93b --- /dev/null +++ b/source/firmware/sdkconfig.defaults @@ -0,0 +1,15 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_COMPILER_OPTIMIZATION_PERF=y +CONFIG_APP_REPRODUCIBLE_BUILD=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_40M=y +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_SECONDARY_NONE=y +CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288 +CONFIG_ESP_TASK_WDT_TIMEOUT_S=30 +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +CONFIG_NEWLIB_NANO_FORMAT=y diff --git a/source/generated/model-int8.json b/source/generated/model-int8.json new file mode 100644 index 0000000000000000000000000000000000000000..4beb574625e66fb82679ba16e774fd9ec5286123 --- /dev/null +++ b/source/generated/model-int8.json @@ -0,0 +1,204 @@ +{ + "source_sha256": "3a5ccc5f7dc423d65778aa3226fb97100f9aa6aaf79b3a1f95c2268629c6f66d", + "weight_precision_bits": 8, + "weights_requantized": false, + "bytes": 3529772, + "sha256": "ebcf094242437d185b8fef08881883728aca9e19a9e4231544da55a4c37f6947", + "layers": [ + { + "name": "/generator/fc/Gemm", + "input": "latent", + "output": "/generator/relu/Relu_output_0", + "weight_offset": 0, + "bias_offset": 2252800, + "input_channels": 64, + "output_channels": 35200, + "kernel": 1, + "input_exponent": -7, + "weight_exponent": -9, + "bias_exponent": -16, + "output_exponent": -7, + "relu": true + }, + { + "name": "/generator/trunk11/trunk11.0/conv/Conv", + "input": "PPQ_Variable_5", + "output": "/generator/trunk11/trunk11.0/conv/Conv_output_0", + "weight_offset": 2393600, + "bias_offset": 2624000, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -7, + "weight_exponent": -8, + "bias_exponent": -15, + "output_exponent": -5, + "relu": false + }, + { + "name": "/generator/trunk11/trunk11.1/conv/Conv", + "input": "/generator/trunk11/trunk11.0/relu/Relu_output_0", + "output": "/generator/trunk11/trunk11.1/conv/Conv_output_0", + "weight_offset": 2624640, + "bias_offset": 2855040, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -10, + "bias_exponent": -15, + "output_exponent": -4, + "relu": false + }, + { + "name": "/generator/trunk11/trunk11.2/conv/Conv", + "input": "/generator/trunk11/trunk11.1/relu/Relu_output_0", + "output": "/generator/trunk11/trunk11.2/conv/Conv_output_0", + "weight_offset": 2855680, + "bias_offset": 3086080, + "input_channels": 160, + "output_channels": 160, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -10, + "bias_exponent": -14, + "output_exponent": -3, + "relu": false + }, + { + "name": "/generator/stage22/stage22.0/conv/Conv", + "input": "/generator/stage22/stage22.0/resize/Resize_output_0", + "output": "/generator/stage22/stage22.0/relu/Relu_output_0", + "weight_offset": 3086720, + "bias_offset": 3271040, + "input_channels": 160, + "output_channels": 128, + "kernel": 3, + "input_exponent": -3, + "weight_exponent": -10, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage22/stage22.1/conv/Conv", + "input": "/generator/stage22/stage22.0/relu/Relu_output_0", + "output": "/generator/stage22/stage22.1/relu/Relu_output_0", + "weight_offset": 3271552, + "bias_offset": 3419008, + "input_channels": 128, + "output_channels": 128, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage44/conv/Conv", + "input": "/generator/stage44/resize/Resize_output_0", + "output": "/generator/stage44/relu/Relu_output_0", + "weight_offset": 3419520, + "bias_offset": 3493248, + "input_channels": 128, + "output_channels": 64, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage88/stage88.0/conv/Conv", + "input": "/generator/stage88/stage88.0/resize/Resize_output_0", + "output": "/generator/stage88/stage88.0/relu/Relu_output_0", + "weight_offset": 3493504, + "bias_offset": 3511936, + "input_channels": 64, + "output_channels": 32, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -7, + "bias_exponent": -11, + "output_exponent": -5, + "relu": true + }, + { + "name": "/generator/stage88/stage88.1/conv/Conv", + "input": "/generator/stage88/stage88.0/relu/Relu_output_0", + "output": "/generator/stage88/stage88.1/relu/Relu_output_0", + "weight_offset": 3512064, + "bias_offset": 3521280, + "input_channels": 32, + "output_channels": 32, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -7, + "bias_exponent": -12, + "output_exponent": -5, + "relu": true + }, + { + "name": "/generator/base_rgb/Conv", + "input": "/generator/stage88/stage88.1/relu/Relu_output_0", + "output": "/generator/base_rgb/Conv_output_0", + "weight_offset": 3521408, + "bias_offset": 3522272, + "input_channels": 32, + "output_channels": 3, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -10, + "bias_exponent": -15, + "output_exponent": -5, + "relu": false + }, + { + "name": "/generator/detail_reduce/conv/Conv", + "input": "/generator/stage88/stage88.1/relu/Relu_output_0", + "output": "/generator/detail_reduce/relu/Relu_output_0", + "weight_offset": 3522288, + "bias_offset": 3526896, + "input_channels": 32, + "output_channels": 16, + "kernel": 3, + "input_exponent": -5, + "weight_exponent": -7, + "bias_exponent": -12, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/stage176/conv/Conv", + "input": "/generator/stage176/resize/Resize_output_0", + "output": "/generator/stage176/relu/Relu_output_0", + "weight_offset": 3526960, + "bias_offset": 3529264, + "input_channels": 16, + "output_channels": 16, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -7, + "bias_exponent": -11, + "output_exponent": -4, + "relu": true + }, + { + "name": "/generator/detail_rgb/Conv", + "input": "/generator/stage176/relu/Relu_output_0", + "output": "/generator/detail_rgb/Conv_output_0", + "weight_offset": 3529328, + "bias_offset": 3529760, + "input_channels": 16, + "output_channels": 3, + "kernel": 3, + "input_exponent": -4, + "weight_exponent": -9, + "bias_exponent": -13, + "output_exponent": -5, + "relu": false + } + ] +} diff --git a/source/generated/model-meta.h b/source/generated/model-meta.h new file mode 100644 index 0000000000000000000000000000000000000000..9f2964d0e2531fdc49e427ba3a5c2e0baa3db6cd --- /dev/null +++ b/source/generated/model-meta.h @@ -0,0 +1,25 @@ +/* Generated from the verified original INT8 export; do not edit. */ +#define FC3_MODEL_BYTES 3529772u +#define FC3_REFERENCE_CRC 0x4033ccebu +static const FC3Layer fc3_layers[13] = { + {0u,2252800u,64,35200,9,-7,-7,1}, + {2393600u,2624000u,160,160,10,-7,-5,0}, + {2624640u,2855040u,160,160,11,-5,-4,0}, + {2855680u,3086080u,160,160,11,-4,-3,0}, + {3086720u,3271040u,160,128,9,-3,-4,1}, + {3271552u,3419008u,128,128,9,-4,-4,1}, + {3419520u,3493248u,128,64,9,-4,-4,1}, + {3493504u,3511936u,64,32,6,-4,-5,1}, + {3512064u,3521280u,32,32,7,-5,-5,1}, + {3521408u,3522272u,32,3,10,-5,-5,0}, + {3522288u,3526896u,32,16,8,-5,-4,1}, + {3526960u,3529264u,16,16,7,-4,-4,1}, + {3529328u,3529760u,16,3,8,-4,-5,0}, +}; +static const int8_t fc3_lut[4][256] = { + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}, + {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}, + {-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-126,-126,-126,-126,-126,-126,-126,-126,-126,-125,-125,-125,-125,-125,-124,-124,-124,-124,-123,-123,-123,-122,-122,-122,-121,-121,-120,-120,-120,-119,-118,-118,-117,-117,-116,-115,-114,-113,-113,-112,-111,-110,-109,-107,-106,-105,-104,-102,-101,-99,-97,-96,-94,-92,-90,-88,-86,-84,-81,-79,-76,-74,-71,-68,-65,-62,-59,-56,-53,-49,-46,-42,-39,-35,-31,-28,-24,-20,-16,-12,-8,-4,0,4,8,12,16,20,24,28,31,35,39,42,46,49,53,56,59,62,65,68,71,74,76,79,81,84,86,88,90,92,94,96,97,99,101,102,104,105,106,107,109,110,111,112,113,113,114,115,116,117,117,118,118,119,120,120,120,121,121,122,122,122,123,123,123,124,124,124,124,125,125,125,125,125,126,126,126,126,126,126,126,126,126,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127}, +}; +static const int8_t fc3_reference_latent[64] = {-108,-17,112,72,96,4,-69,44,52,74,-54,-16,-88,-3,-32,80,-99,63,-53,-75,114,-117,-85,82,-32,118,53,87,-126,113,127,-127,-9,118,57,14,79,51,-66,-90,113,48,-111,-123,5,-13,-120,111,2,89,43,-103,-11,-73,-69,-105,-126,-3,-117,78,93,88,101,42}; diff --git a/source/generated/palette-lut.h b/source/generated/palette-lut.h new file mode 100644 index 0000000000000000000000000000000000000000..dcb07f81be4fd6c8018467da46590f2ddcd7c906 --- /dev/null +++ b/source/generated/palette-lut.h @@ -0,0 +1,4099 @@ +/* Generated by tools/palette_lut.py: 16^3 closest four-ink mixtures. */ +static const uint8_t fc3_palette_mix[4096][3]={ + {64,64,64}, + {63,63,63}, + {63,63,63}, + {62,62,62}, + {61,61,61}, + {61,61,61}, + {60,60,60}, + {60,60,60}, + {59,59,59}, + {59,59,59}, + {58,58,58}, + {57,57,57}, + {57,57,57}, + {56,56,56}, + {56,56,56}, + {55,55,55}, + {60,60,62}, + {60,60,60}, + {59,59,59}, + {59,59,59}, + {58,58,58}, + {57,57,57}, + {57,57,57}, + {56,56,56}, + {56,56,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {51,51,51}, + {58,58,60}, + {57,57,57}, + {57,57,57}, + {56,56,56}, + {56,56,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {55,55,59}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {53,53,57}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {50,50,56}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {48,48,54}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {45,45,53}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {42,42,51}, + {43,43,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {35,35,35}, + {40,40,50}, + {41,41,43}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {37,37,48}, + {38,38,41}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {35,35,47}, + {36,36,40}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {28,28,28}, + {32,32,46}, + {33,33,39}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {30,30,44}, + {31,31,37}, + {31,31,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {27,27,43}, + {28,28,36}, + {29,29,31}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {24,24,40}, + {25,25,33}, + {25,25,29}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {23,23,23}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {58,64,64}, + {57,64,64}, + {58,63,63}, + {58,62,62}, + {58,61,61}, + {59,59,59}, + {59,59,59}, + {58,58,58}, + {57,57,57}, + {57,57,57}, + {56,56,56}, + {56,56,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {57,57,64}, + {58,58,58}, + {57,57,57}, + {57,57,57}, + {56,56,56}, + {56,56,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {54,54,63}, + {55,55,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {47,47,47}, + {52,52,62}, + {53,53,55}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {49,49,61}, + {50,50,54}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {47,47,59}, + {48,48,52}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {44,44,58}, + {45,45,51}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {42,42,56}, + {43,43,49}, + {43,43,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {39,39,55}, + {40,40,48}, + {41,41,43}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {37,37,53}, + {38,38,46}, + {38,38,41}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {31,31,31}, + {34,34,52}, + {35,35,45}, + {36,36,40}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {32,32,50}, + {33,33,43}, + {33,33,39}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {29,29,49}, + {30,30,42}, + {31,31,37}, + {31,31,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {24,24,24}, + {27,27,47}, + {28,28,40}, + {28,28,36}, + {29,29,31}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {24,24,46}, + {25,25,39}, + {26,26,34}, + {26,26,29}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,44}, + {21,21,37}, + {22,22,32}, + {23,23,27}, + {23,23,23}, + {23,23,23}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {19,19,19}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {54,64,64}, + {53,64,64}, + {53,64,64}, + {53,63,63}, + {54,62,62}, + {54,61,61}, + {54,59,59}, + {55,58,58}, + {55,57,57}, + {55,56,56}, + {55,55,55}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {54,58,64}, + {53,59,59}, + {53,58,58}, + {54,57,57}, + {54,56,56}, + {55,55,55}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {53,53,64}, + {53,53,59}, + {54,54,54}, + {53,53,53}, + {53,53,53}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {46,46,46}, + {50,50,64}, + {51,51,57}, + {51,51,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {47,47,63}, + {48,48,56}, + {49,49,51}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {45,45,61}, + {46,46,54}, + {46,46,50}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {39,39,39}, + {42,42,60}, + {43,43,53}, + {44,44,48}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {40,40,58}, + {41,41,51}, + {41,41,47}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {37,37,57}, + {38,38,50}, + {39,39,45}, + {39,39,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {32,32,32}, + {35,35,55}, + {36,36,48}, + {36,36,44}, + {37,37,39}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {32,32,54}, + {33,33,47}, + {34,34,42}, + {34,34,37}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {30,30,52}, + {31,31,45}, + {31,31,41}, + {32,32,36}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {27,27,51}, + {28,28,44}, + {29,29,39}, + {29,29,35}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {23,23,23}, + {24,24,49}, + {25,25,42}, + {26,26,38}, + {27,27,33}, + {27,27,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {22,22,48}, + {23,23,41}, + {24,24,36}, + {24,24,32}, + {25,25,27}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,46}, + {19,19,39}, + {20,20,34}, + {21,21,29}, + {21,21,25}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {19,19,19}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {15,15,15}, + {50,64,64}, + {49,64,64}, + {49,64,64}, + {48,64,64}, + {49,63,63}, + {49,62,62}, + {49,61,61}, + {50,59,59}, + {50,58,58}, + {50,57,57}, + {51,56,56}, + {51,55,55}, + {52,54,54}, + {52,52,52}, + {52,52,52}, + {51,51,51}, + {49,59,64}, + {48,60,60}, + {49,59,59}, + {49,58,58}, + {49,57,57}, + {50,56,56}, + {50,55,55}, + {50,53,53}, + {51,52,52}, + {51,51,51}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {47,47,47}, + {50,52,64}, + {49,54,60}, + {49,55,55}, + {49,54,54}, + {50,53,53}, + {50,52,52}, + {51,51,51}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {48,48,64}, + {49,49,59}, + {49,49,55}, + {50,50,50}, + {49,49,49}, + {49,49,49}, + {48,48,48}, + {48,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {45,45,64}, + {46,46,58}, + {47,47,53}, + {47,47,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {43,43,63}, + {44,44,56}, + {44,44,52}, + {45,45,47}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {40,40,62}, + {41,41,55}, + {42,42,50}, + {42,42,46}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {38,38,60}, + {39,39,53}, + {39,39,49}, + {40,40,44}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {35,35,59}, + {36,36,52}, + {37,37,47}, + {37,37,43}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {31,31,31}, + {33,33,57}, + {33,33,50}, + {34,34,46}, + {35,35,41}, + {35,35,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {30,30,56}, + {31,31,49}, + {32,32,44}, + {32,32,40}, + {33,33,35}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {27,27,54}, + {28,28,47}, + {29,29,43}, + {30,30,38}, + {30,30,33}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {24,24,24}, + {25,25,53}, + {26,26,46}, + {26,26,41}, + {27,27,37}, + {28,28,32}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,51}, + {23,23,44}, + {24,24,40}, + {25,25,35}, + {25,25,31}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,50}, + {21,21,43}, + {21,21,38}, + {22,22,34}, + {23,23,29}, + {23,23,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {16,16,48}, + {17,17,41}, + {18,18,36}, + {18,18,32}, + {19,19,27}, + {20,20,22}, + {20,20,20}, + {19,19,19}, + {19,19,19}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {46,64,64}, + {45,64,64}, + {45,64,64}, + {44,64,64}, + {44,64,64}, + {44,63,63}, + {45,62,62}, + {45,61,61}, + {45,60,60}, + {46,58,58}, + {46,57,57}, + {46,56,56}, + {47,55,55}, + {47,54,54}, + {47,52,52}, + {48,51,51}, + {44,61,64}, + {43,62,62}, + {44,60,60}, + {44,59,59}, + {44,58,58}, + {45,57,57}, + {45,56,56}, + {46,55,55}, + {46,53,53}, + {46,52,52}, + {47,51,51}, + {47,50,50}, + {47,49,49}, + {48,48,48}, + {47,47,47}, + {46,46,46}, + {45,54,64}, + {44,55,61}, + {44,56,56}, + {45,55,55}, + {45,54,54}, + {45,53,53}, + {46,52,52}, + {46,51,51}, + {46,49,49}, + {47,48,48}, + {47,47,47}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {46,47,64}, + {46,48,61}, + {45,50,56}, + {45,51,51}, + {45,50,50}, + {46,49,49}, + {46,48,48}, + {47,47,47}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {44,44,64}, + {44,44,60}, + {45,45,55}, + {45,45,51}, + {46,46,46}, + {45,45,45}, + {45,45,45}, + {44,44,44}, + {44,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {39,39,39}, + {41,41,64}, + {41,41,58}, + {42,42,54}, + {43,43,49}, + {43,43,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {38,38,64}, + {39,39,57}, + {40,40,52}, + {40,40,48}, + {41,41,43}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {35,35,62}, + {36,36,55}, + {37,37,51}, + {38,38,46}, + {38,38,41}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {32,32,32}, + {33,33,61}, + {34,34,54}, + {35,35,49}, + {35,35,45}, + {36,36,40}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,59}, + {31,31,52}, + {32,32,48}, + {33,33,43}, + {33,33,39}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,58}, + {29,29,51}, + {29,29,46}, + {30,30,42}, + {31,31,37}, + {31,31,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,56}, + {26,26,50}, + {27,27,45}, + {28,28,40}, + {28,28,36}, + {29,29,31}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {23,23,23}, + {23,23,55}, + {24,24,48}, + {24,24,43}, + {25,25,39}, + {26,26,34}, + {26,26,29}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {20,20,54}, + {21,21,47}, + {22,22,42}, + {22,22,37}, + {23,23,33}, + {24,24,28}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,52}, + {19,19,45}, + {19,19,40}, + {20,20,36}, + {21,21,31}, + {21,21,26}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {16,16,16}, + {14,14,50}, + {15,15,43}, + {16,16,38}, + {16,16,34}, + {17,17,29}, + {18,18,24}, + {18,18,20}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {15,15,15}, + {14,14,14}, + {13,13,13}, + {41,64,64}, + {41,64,64}, + {41,64,64}, + {40,64,64}, + {40,64,64}, + {39,64,64}, + {40,63,63}, + {40,62,62}, + {40,61,61}, + {41,60,60}, + {41,58,58}, + {41,57,57}, + {42,56,56}, + {42,55,55}, + {43,54,54}, + {43,52,52}, + {39,63,64}, + {39,63,63}, + {39,62,62}, + {39,61,61}, + {40,59,59}, + {40,58,58}, + {40,57,57}, + {41,56,56}, + {41,55,55}, + {41,53,53}, + {42,52,52}, + {42,51,51}, + {43,50,50}, + {43,49,49}, + {43,48,48}, + {44,46,46}, + {40,56,64}, + {39,57,62}, + {39,58,58}, + {40,56,56}, + {40,55,55}, + {40,54,54}, + {41,53,53}, + {41,52,52}, + {42,51,51}, + {42,49,49}, + {42,48,48}, + {43,47,47}, + {43,46,46}, + {43,45,45}, + {44,44,44}, + {43,43,43}, + {41,48,64}, + {41,49,62}, + {40,51,57}, + {40,52,52}, + {41,51,51}, + {41,50,50}, + {41,49,49}, + {42,48,48}, + {42,47,47}, + {42,45,45}, + {43,44,44}, + {43,43,43}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {42,42,64}, + {42,42,62}, + {42,44,57}, + {41,46,52}, + {41,47,47}, + {41,46,46}, + {42,45,45}, + {42,44,44}, + {42,42,42}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {39,39,64}, + {39,39,61}, + {40,40,56}, + {41,41,51}, + {41,41,47}, + {42,42,42}, + {41,41,41}, + {41,41,41}, + {40,40,40}, + {40,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,64}, + {37,37,59}, + {37,37,54}, + {38,38,50}, + {39,39,45}, + {39,39,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,64}, + {34,34,58}, + {35,35,53}, + {36,36,48}, + {36,36,44}, + {37,37,39}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {31,31,31}, + {31,31,63}, + {32,32,56}, + {32,32,51}, + {33,33,47}, + {34,34,42}, + {34,34,37}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {28,28,62}, + {29,29,55}, + {30,30,50}, + {31,31,45}, + {31,31,41}, + {32,32,36}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,60}, + {27,27,53}, + {27,27,48}, + {28,28,44}, + {29,29,39}, + {29,29,35}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {24,24,24}, + {23,23,59}, + {24,24,52}, + {25,25,47}, + {25,25,42}, + {26,26,38}, + {27,27,33}, + {27,27,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {21,21,57}, + {22,22,50}, + {22,22,46}, + {23,23,41}, + {24,24,36}, + {24,24,32}, + {25,25,27}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {18,18,56}, + {19,19,49}, + {20,20,44}, + {20,20,39}, + {21,21,35}, + {22,22,30}, + {22,22,25}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {16,16,54}, + {17,17,47}, + {17,17,43}, + {18,18,38}, + {18,18,33}, + {19,19,29}, + {20,20,24}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {15,15,15}, + {12,12,52}, + {13,13,45}, + {14,14,40}, + {14,14,36}, + {15,15,31}, + {15,15,26}, + {16,16,22}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {15,15,15}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {37,64,64}, + {37,64,64}, + {36,64,64}, + {36,64,64}, + {36,64,64}, + {35,64,64}, + {35,64,64}, + {35,63,63}, + {36,62,62}, + {36,61,61}, + {36,60,60}, + {37,58,58}, + {37,57,57}, + {37,56,56}, + {38,55,55}, + {38,53,53}, + {34,64,64}, + {34,64,64}, + {34,63,63}, + {34,62,62}, + {35,61,61}, + {35,59,59}, + {36,58,58}, + {36,57,57}, + {36,56,56}, + {37,55,55}, + {37,54,54}, + {37,52,52}, + {38,51,51}, + {38,50,50}, + {38,49,49}, + {39,47,47}, + {35,58,64}, + {35,58,62}, + {35,59,59}, + {35,58,58}, + {35,57,57}, + {36,55,55}, + {36,54,54}, + {36,53,53}, + {37,52,52}, + {37,51,51}, + {37,49,49}, + {38,48,48}, + {38,47,47}, + {39,46,46}, + {39,45,45}, + {39,43,43}, + {36,50,64}, + {36,51,63}, + {35,53,58}, + {35,54,54}, + {36,52,52}, + {36,51,51}, + {36,50,50}, + {37,49,49}, + {37,48,48}, + {38,47,47}, + {38,45,45}, + {38,44,44}, + {39,43,43}, + {39,42,42}, + {39,41,41}, + {39,39,39}, + {38,43,64}, + {37,43,63}, + {37,45,58}, + {36,47,53}, + {36,48,48}, + {37,47,47}, + {37,46,46}, + {37,45,45}, + {38,44,44}, + {38,43,43}, + {38,41,41}, + {39,40,40}, + {39,39,39}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,64}, + {37,37,63}, + {38,38,58}, + {38,40,53}, + {37,42,48}, + {37,43,43}, + {37,42,42}, + {38,41,41}, + {38,40,40}, + {38,38,38}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,64}, + {35,35,61}, + {35,35,56}, + {36,36,52}, + {37,37,47}, + {37,37,43}, + {38,38,38}, + {37,37,37}, + {37,37,37}, + {36,36,36}, + {36,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {32,32,32}, + {32,32,64}, + {32,32,60}, + {33,33,55}, + {33,33,50}, + {34,34,46}, + {35,35,41}, + {35,35,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {29,29,64}, + {30,30,58}, + {30,30,54}, + {31,31,49}, + {32,32,44}, + {32,32,40}, + {33,33,35}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {26,26,64}, + {27,27,57}, + {28,28,52}, + {28,28,47}, + {29,29,43}, + {30,30,38}, + {30,30,33}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {24,24,62}, + {25,25,55}, + {25,25,51}, + {26,26,46}, + {26,26,41}, + {27,27,37}, + {28,28,32}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {23,23,23}, + {21,21,61}, + {22,22,54}, + {23,23,49}, + {23,23,44}, + {24,24,40}, + {25,25,35}, + {25,25,31}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {19,19,59}, + {20,20,52}, + {20,20,48}, + {21,21,43}, + {21,21,38}, + {22,22,34}, + {23,23,29}, + {23,23,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {16,16,58}, + {17,17,51}, + {18,18,46}, + {18,18,41}, + {19,19,37}, + {20,20,32}, + {20,20,28}, + {21,21,23}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {16,16,16}, + {13,13,56}, + {14,14,49}, + {15,15,45}, + {16,16,40}, + {16,16,35}, + {17,17,31}, + {18,18,26}, + {18,18,21}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {10,10,54}, + {11,11,47}, + {11,11,43}, + {12,12,38}, + {13,13,33}, + {13,13,29}, + {14,14,24}, + {15,15,19}, + {15,15,15}, + {15,15,15}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {12,12,12}, + {11,11,11}, + {33,64,64}, + {33,64,64}, + {32,64,64}, + {32,64,64}, + {32,64,64}, + {31,64,64}, + {31,64,64}, + {31,64,64}, + {31,63,63}, + {31,62,62}, + {31,61,61}, + {32,60,60}, + {32,59,59}, + {33,57,57}, + {33,56,56}, + {33,54,54}, + {30,64,64}, + {30,64,64}, + {29,64,64}, + {30,63,63}, + {30,62,62}, + {30,61,61}, + {31,59,59}, + {31,58,58}, + {31,57,57}, + {32,56,56}, + {32,55,55}, + {32,54,54}, + {33,52,52}, + {33,51,51}, + {34,50,50}, + {34,48,48}, + {30,59,64}, + {30,60,63}, + {30,60,60}, + {30,59,59}, + {30,58,58}, + {31,57,57}, + {31,55,55}, + {31,54,54}, + {32,53,53}, + {32,52,52}, + {33,51,51}, + {33,50,50}, + {33,48,48}, + {34,47,47}, + {34,46,46}, + {35,44,44}, + {31,52,64}, + {31,52,63}, + {31,54,58}, + {31,55,55}, + {31,54,54}, + {31,53,53}, + {32,51,51}, + {32,50,50}, + {32,49,49}, + {33,48,48}, + {33,47,47}, + {33,45,45}, + {34,44,44}, + {34,43,43}, + {35,42,42}, + {35,40,40}, + {33,45,64}, + {32,45,64}, + {32,47,59}, + {31,49,54}, + {31,50,50}, + {32,48,48}, + {32,47,47}, + {32,46,46}, + {33,45,45}, + {33,44,44}, + {34,43,43}, + {34,41,41}, + {34,40,40}, + {35,39,39}, + {35,38,38}, + {36,36,36}, + {34,37,64}, + {33,38,64}, + {33,39,59}, + {33,41,54}, + {32,43,49}, + {32,44,44}, + {33,43,43}, + {33,42,42}, + {33,41,41}, + {34,40,40}, + {34,38,38}, + {34,37,37}, + {35,36,36}, + {35,35,35}, + {34,34,34}, + {34,34,34}, + {33,33,64}, + {33,33,63}, + {33,33,59}, + {34,34,54}, + {34,36,49}, + {33,38,44}, + {33,39,39}, + {33,38,38}, + {34,37,37}, + {34,36,36}, + {34,34,34}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {31,31,31}, + {30,30,64}, + {30,30,62}, + {31,31,57}, + {31,31,52}, + {32,32,48}, + {33,33,43}, + {33,33,39}, + {34,34,34}, + {33,33,33}, + {33,33,33}, + {32,32,32}, + {32,32,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {27,27,64}, + {28,28,60}, + {28,28,56}, + {29,29,51}, + {29,29,46}, + {30,30,42}, + {31,31,37}, + {31,31,32}, + {31,31,31}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {24,24,64}, + {25,25,59}, + {26,26,54}, + {26,26,50}, + {27,27,45}, + {28,28,40}, + {28,28,36}, + {29,29,31}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {24,24,24}, + {22,22,64}, + {22,22,57}, + {23,23,53}, + {24,24,48}, + {24,24,43}, + {25,25,39}, + {26,26,34}, + {26,26,29}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {19,19,63}, + {20,20,56}, + {21,21,51}, + {21,21,47}, + {22,22,42}, + {22,22,37}, + {23,23,33}, + {24,24,28}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {16,16,61}, + {17,17,54}, + {18,18,50}, + {19,19,45}, + {19,19,40}, + {20,20,36}, + {21,21,31}, + {21,21,26}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {14,14,60}, + {15,15,53}, + {15,15,48}, + {16,16,44}, + {17,17,39}, + {17,17,34}, + {18,18,30}, + {19,19,25}, + {19,19,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {15,15,15}, + {11,11,58}, + {12,12,51}, + {13,13,47}, + {14,14,42}, + {14,14,37}, + {15,15,33}, + {15,15,28}, + {16,16,24}, + {17,17,19}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {14,14,14}, + {13,13,13}, + {8,8,56}, + {9,9,49}, + {9,9,45}, + {10,10,40}, + {11,11,35}, + {11,11,31}, + {12,12,26}, + {12,12,21}, + {13,13,17}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {12,12,12}, + {11,11,11}, + {11,11,11}, + {10,10,10}, + {29,64,64}, + {29,64,64}, + {28,64,64}, + {28,64,64}, + {28,64,64}, + {27,64,64}, + {27,64,64}, + {26,64,64}, + {26,64,64}, + {26,63,63}, + {27,62,62}, + {27,61,61}, + {27,60,60}, + {28,59,59}, + {28,57,57}, + {29,56,56}, + {26,64,64}, + {26,64,64}, + {25,64,64}, + {25,64,64}, + {25,63,63}, + {25,62,62}, + {26,61,61}, + {26,60,60}, + {27,58,58}, + {27,57,57}, + {27,56,56}, + {28,55,55}, + {28,54,54}, + {28,52,52}, + {29,51,51}, + {29,50,50}, + {25,61,64}, + {25,61,64}, + {25,61,61}, + {25,60,60}, + {26,59,59}, + {26,58,58}, + {26,57,57}, + {27,55,55}, + {27,54,54}, + {27,53,53}, + {28,52,52}, + {28,51,51}, + {28,50,50}, + {29,48,48}, + {29,47,47}, + {30,46,46}, + {27,54,64}, + {26,54,64}, + {26,56,59}, + {26,56,56}, + {26,55,55}, + {26,54,54}, + {27,53,53}, + {27,51,51}, + {27,50,50}, + {28,49,49}, + {28,48,48}, + {29,47,47}, + {29,46,46}, + {29,44,44}, + {30,43,43}, + {30,41,41}, + {28,47,64}, + {27,47,64}, + {27,48,59}, + {27,50,54}, + {26,51,51}, + {27,50,50}, + {27,49,49}, + {28,47,47}, + {28,46,46}, + {28,45,45}, + {29,44,44}, + {29,43,43}, + {29,41,41}, + {30,40,40}, + {30,39,39}, + {31,37,37}, + {29,39,64}, + {28,39,64}, + {28,41,60}, + {28,43,55}, + {27,45,50}, + {27,46,46}, + {28,44,44}, + {28,43,43}, + {28,42,42}, + {29,41,41}, + {29,40,40}, + {30,39,39}, + {30,37,37}, + {30,36,36}, + {31,35,35}, + {31,33,33}, + {30,32,64}, + {30,32,64}, + {29,34,60}, + {29,35,55}, + {29,37,50}, + {28,39,45}, + {28,40,40}, + {29,39,39}, + {29,38,38}, + {29,37,37}, + {30,36,36}, + {30,34,34}, + {30,33,33}, + {31,32,32}, + {31,31,31}, + {30,30,30}, + {28,28,64}, + {28,28,64}, + {29,29,59}, + {29,29,55}, + {30,30,50}, + {30,32,45}, + {29,34,40}, + {29,35,35}, + {29,34,34}, + {30,33,33}, + {30,32,32}, + {30,30,30}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {25,25,64}, + {25,25,62}, + {26,26,58}, + {27,27,53}, + {27,27,48}, + {28,28,44}, + {29,29,39}, + {29,29,35}, + {30,30,30}, + {29,29,29}, + {29,29,29}, + {28,28,28}, + {28,28,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {23,23,64}, + {23,23,61}, + {24,24,56}, + {24,24,52}, + {25,25,47}, + {25,25,42}, + {26,26,38}, + {27,27,33}, + {27,27,28}, + {27,27,27}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {23,23,23}, + {20,20,64}, + {20,20,59}, + {21,21,55}, + {22,22,50}, + {22,22,46}, + {23,23,41}, + {24,24,36}, + {24,24,32}, + {25,25,27}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {17,17,64}, + {18,18,58}, + {18,18,53}, + {19,19,49}, + {20,20,44}, + {20,20,39}, + {21,21,35}, + {22,22,30}, + {22,22,25}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {14,14,63}, + {15,15,56}, + {16,16,52}, + {17,17,47}, + {17,17,43}, + {18,18,38}, + {18,18,33}, + {19,19,29}, + {20,20,24}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {16,16,16}, + {12,12,62}, + {13,13,55}, + {13,13,50}, + {14,14,46}, + {15,15,41}, + {15,15,36}, + {16,16,32}, + {17,17,27}, + {17,17,22}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {9,9,61}, + {10,10,54}, + {11,11,49}, + {11,11,44}, + {12,12,40}, + {13,13,35}, + {13,13,30}, + {14,14,26}, + {15,15,21}, + {15,15,16}, + {15,15,15}, + {14,14,14}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {6,6,58}, + {7,7,51}, + {7,7,47}, + {8,8,42}, + {8,8,37}, + {9,9,33}, + {10,10,28}, + {10,10,24}, + {11,11,19}, + {12,12,14}, + {12,12,12}, + {11,11,11}, + {11,11,11}, + {10,10,10}, + {9,9,9}, + {9,9,9}, + {25,64,64}, + {25,64,64}, + {24,64,64}, + {24,64,64}, + {23,64,64}, + {23,64,64}, + {23,64,64}, + {22,64,64}, + {22,64,64}, + {22,64,64}, + {22,63,63}, + {22,62,62}, + {22,61,61}, + {23,60,60}, + {23,59,59}, + {24,57,57}, + {22,64,64}, + {21,64,64}, + {21,64,64}, + {21,64,64}, + {20,64,64}, + {21,63,63}, + {21,62,62}, + {21,61,61}, + {22,60,60}, + {22,58,58}, + {22,57,57}, + {23,56,56}, + {23,55,55}, + {24,54,54}, + {24,53,53}, + {24,51,51}, + {20,63,64}, + {20,63,64}, + {20,63,63}, + {20,61,61}, + {21,60,60}, + {21,59,59}, + {21,58,58}, + {22,57,57}, + {22,56,56}, + {23,54,54}, + {23,53,53}, + {23,52,52}, + {24,51,51}, + {24,50,50}, + {24,48,48}, + {25,47,47}, + {22,56,64}, + {21,56,64}, + {21,57,60}, + {21,57,57}, + {21,56,56}, + {22,55,55}, + {22,54,54}, + {22,53,53}, + {23,51,51}, + {23,50,50}, + {23,49,49}, + {24,48,48}, + {24,47,47}, + {24,46,46}, + {25,44,44}, + {25,43,43}, + {23,48,64}, + {22,49,64}, + {22,50,60}, + {22,52,55}, + {22,52,52}, + {22,51,51}, + {22,50,50}, + {23,49,49}, + {23,47,47}, + {23,46,46}, + {24,45,45}, + {24,44,44}, + {25,43,43}, + {25,41,41}, + {25,40,40}, + {26,39,39}, + {24,41,64}, + {23,41,64}, + {23,42,61}, + {23,44,55}, + {23,46,50}, + {22,47,47}, + {23,46,46}, + {23,44,44}, + {24,43,43}, + {24,42,42}, + {24,41,41}, + {25,40,40}, + {25,39,39}, + {25,37,37}, + {26,36,36}, + {26,35,35}, + {25,34,64}, + {25,34,64}, + {24,35,61}, + {24,37,56}, + {24,39,51}, + {23,41,46}, + {23,42,42}, + {24,40,40}, + {24,39,39}, + {24,38,38}, + {25,37,37}, + {25,36,36}, + {26,35,35}, + {26,33,33}, + {26,32,32}, + {27,30,30}, + {26,26,64}, + {26,27,64}, + {26,28,61}, + {25,30,56}, + {25,31,51}, + {25,33,46}, + {24,35,41}, + {24,36,36}, + {25,35,35}, + {25,34,34}, + {25,33,33}, + {26,32,32}, + {26,30,30}, + {26,29,29}, + {27,28,28}, + {27,27,27}, + {24,24,64}, + {23,23,64}, + {24,24,60}, + {25,25,55}, + {25,25,51}, + {26,26,46}, + {26,28,41}, + {25,30,36}, + {25,31,31}, + {25,30,30}, + {26,29,29}, + {26,28,28}, + {26,26,26}, + {26,26,26}, + {25,25,25}, + {24,24,24}, + {21,21,64}, + {21,21,63}, + {21,21,58}, + {22,22,54}, + {23,23,49}, + {23,23,44}, + {24,24,40}, + {25,25,35}, + {25,25,31}, + {26,26,26}, + {25,25,25}, + {25,25,25}, + {24,24,24}, + {24,24,24}, + {23,23,23}, + {22,22,22}, + {18,18,64}, + {18,18,62}, + {19,19,57}, + {20,20,52}, + {20,20,48}, + {21,21,43}, + {21,21,38}, + {22,22,34}, + {23,23,29}, + {23,23,24}, + {23,23,23}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {15,15,64}, + {16,16,60}, + {16,16,55}, + {17,17,51}, + {18,18,46}, + {18,18,41}, + {19,19,37}, + {20,20,32}, + {20,20,28}, + {21,21,23}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {12,12,64}, + {13,13,59}, + {14,14,54}, + {14,14,49}, + {15,15,45}, + {16,16,40}, + {16,16,35}, + {17,17,31}, + {18,18,26}, + {18,18,21}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {15,15,15}, + {10,10,64}, + {11,11,57}, + {11,11,52}, + {12,12,48}, + {13,13,43}, + {13,13,39}, + {14,14,34}, + {14,14,29}, + {15,15,25}, + {16,16,20}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {14,14,14}, + {13,13,13}, + {7,7,63}, + {8,8,56}, + {9,9,51}, + {9,9,46}, + {10,10,42}, + {11,11,37}, + {11,11,32}, + {12,12,28}, + {13,13,23}, + {13,13,18}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {12,12,12}, + {11,11,11}, + {4,4,60}, + {4,4,54}, + {5,5,49}, + {6,6,44}, + {6,6,40}, + {7,7,35}, + {8,8,30}, + {8,8,26}, + {9,9,21}, + {10,10,16}, + {10,10,12}, + {10,10,10}, + {9,9,9}, + {9,9,9}, + {8,8,8}, + {7,7,7}, + {21,64,64}, + {20,64,64}, + {20,64,64}, + {20,64,64}, + {19,64,64}, + {19,64,64}, + {19,64,64}, + {18,64,64}, + {18,64,64}, + {18,64,64}, + {17,64,64}, + {17,63,63}, + {18,62,62}, + {18,61,61}, + {18,60,60}, + {19,58,58}, + {18,64,64}, + {17,64,64}, + {17,64,64}, + {17,64,64}, + {16,64,64}, + {16,64,64}, + {16,63,63}, + {16,62,62}, + {17,61,61}, + {17,60,60}, + {18,58,58}, + {18,57,57}, + {18,56,56}, + {19,55,55}, + {19,54,54}, + {20,52,52}, + {16,64,64}, + {15,64,64}, + {15,64,64}, + {15,63,63}, + {16,61,61}, + {16,60,60}, + {17,59,59}, + {17,58,58}, + {17,57,57}, + {18,56,56}, + {18,54,54}, + {18,53,53}, + {19,52,52}, + {19,51,51}, + {19,50,50}, + {20,48,48}, + {17,58,64}, + {16,58,64}, + {16,59,61}, + {16,59,59}, + {16,57,57}, + {17,56,56}, + {17,55,55}, + {17,54,54}, + {18,53,53}, + {18,52,52}, + {18,50,50}, + {19,49,49}, + {19,48,48}, + {20,47,47}, + {20,46,46}, + {20,44,44}, + {18,50,64}, + {17,50,64}, + {17,51,61}, + {17,53,56}, + {17,53,53}, + {17,52,52}, + {17,51,51}, + {18,50,50}, + {18,49,49}, + {19,47,47}, + {19,46,46}, + {19,45,45}, + {20,44,44}, + {20,43,43}, + {20,42,42}, + {21,40,40}, + {19,43,64}, + {19,43,64}, + {18,44,61}, + {18,46,56}, + {18,48,51}, + {18,48,48}, + {18,47,47}, + {18,46,46}, + {19,45,45}, + {19,43,43}, + {19,42,42}, + {20,41,41}, + {20,40,40}, + {21,39,39}, + {21,37,37}, + {21,36,36}, + {20,36,64}, + {20,36,64}, + {19,37,62}, + {19,38,57}, + {19,40,51}, + {18,42,46}, + {18,43,43}, + {19,42,42}, + {19,40,40}, + {20,39,39}, + {20,38,38}, + {20,37,37}, + {21,36,36}, + {21,35,35}, + {21,33,33}, + {22,32,32}, + {22,28,64}, + {21,28,64}, + {21,29,62}, + {20,31,57}, + {20,33,52}, + {20,35,47}, + {19,37,42}, + {19,38,38}, + {20,36,36}, + {20,35,35}, + {20,34,34}, + {21,33,33}, + {21,32,32}, + {22,31,31}, + {22,29,29}, + {22,28,28}, + {22,22,64}, + {22,22,64}, + {22,22,62}, + {22,24,57}, + {21,26,52}, + {21,27,47}, + {21,29,42}, + {20,31,37}, + {20,32,32}, + {21,31,31}, + {21,30,30}, + {21,29,29}, + {22,28,28}, + {22,26,26}, + {22,25,25}, + {23,24,24}, + {19,19,64}, + {19,19,64}, + {19,19,61}, + {20,20,56}, + {21,21,51}, + {21,21,47}, + {22,22,42}, + {22,24,37}, + {21,26,32}, + {21,27,27}, + {21,26,26}, + {22,25,25}, + {22,24,24}, + {22,22,22}, + {22,22,22}, + {21,21,21}, + {16,16,64}, + {16,16,64}, + {17,17,59}, + {17,17,54}, + {18,18,50}, + {19,19,45}, + {19,19,40}, + {20,20,36}, + {21,21,31}, + {21,21,26}, + {22,22,22}, + {21,21,21}, + {21,21,21}, + {20,20,20}, + {20,20,20}, + {19,19,19}, + {14,14,64}, + {14,14,62}, + {14,14,58}, + {15,15,53}, + {15,15,48}, + {16,16,44}, + {17,17,39}, + {17,17,34}, + {18,18,30}, + {19,19,25}, + {19,19,20}, + {19,19,19}, + {18,18,18}, + {18,18,18}, + {17,17,17}, + {16,16,16}, + {11,11,64}, + {11,11,61}, + {12,12,56}, + {12,12,51}, + {13,13,47}, + {14,14,42}, + {14,14,37}, + {15,15,33}, + {15,15,28}, + {16,16,24}, + {17,17,19}, + {17,17,17}, + {16,16,16}, + {16,16,16}, + {15,15,15}, + {14,14,14}, + {8,8,64}, + {9,9,59}, + {9,9,55}, + {10,10,50}, + {10,10,45}, + {11,11,41}, + {12,12,36}, + {12,12,31}, + {13,13,27}, + {14,14,22}, + {14,14,17}, + {14,14,14}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {5,5,64}, + {6,6,58}, + {7,7,53}, + {7,7,48}, + {8,8,44}, + {9,9,39}, + {9,9,35}, + {10,10,30}, + {10,10,25}, + {11,11,21}, + {12,12,16}, + {12,12,12}, + {12,12,12}, + {11,11,11}, + {10,10,10}, + {10,10,10}, + {1,1,63}, + {2,2,56}, + {3,3,51}, + {4,4,46}, + {4,4,42}, + {5,5,37}, + {6,6,32}, + {6,6,28}, + {7,7,23}, + {7,7,18}, + {8,8,14}, + {9,9,9}, + {8,8,8}, + {8,8,8}, + {7,7,7}, + {6,6,6}, + {17,64,64}, + {16,64,64}, + {16,64,64}, + {16,64,64}, + {15,64,64}, + {15,64,64}, + {15,64,64}, + {14,64,64}, + {14,64,64}, + {13,64,64}, + {13,64,64}, + {13,64,64}, + {13,63,63}, + {13,62,62}, + {13,61,61}, + {14,59,59}, + {14,64,64}, + {13,64,64}, + {13,64,64}, + {13,64,64}, + {12,64,64}, + {12,64,64}, + {11,64,64}, + {12,63,63}, + {12,62,62}, + {12,61,61}, + {13,60,60}, + {13,59,59}, + {13,57,57}, + {14,56,56}, + {14,55,55}, + {15,53,53}, + {12,64,64}, + {11,64,64}, + {11,64,64}, + {11,64,64}, + {11,63,63}, + {11,62,62}, + {12,60,60}, + {12,59,59}, + {12,58,58}, + {13,57,57}, + {13,56,56}, + {14,54,54}, + {14,53,53}, + {14,52,52}, + {15,51,51}, + {15,49,49}, + {12,59,64}, + {11,59,64}, + {11,60,62}, + {11,60,60}, + {11,59,59}, + {12,57,57}, + {12,56,56}, + {13,55,55}, + {13,54,54}, + {13,53,53}, + {14,52,52}, + {14,50,50}, + {14,49,49}, + {15,48,48}, + {15,47,47}, + {16,45,45}, + {13,52,64}, + {12,52,64}, + {12,53,62}, + {12,55,57}, + {12,55,55}, + {12,53,53}, + {13,52,52}, + {13,51,51}, + {13,50,50}, + {14,49,49}, + {14,47,47}, + {14,46,46}, + {15,45,45}, + {15,44,44}, + {16,43,43}, + {16,41,41}, + {14,45,64}, + {14,45,64}, + {13,46,62}, + {13,47,57}, + {13,49,52}, + {13,49,49}, + {13,48,48}, + {13,47,47}, + {14,46,46}, + {14,45,45}, + {15,43,43}, + {15,42,42}, + {15,41,41}, + {16,40,40}, + {16,39,39}, + {17,37,37}, + {15,37,64}, + {15,38,64}, + {14,38,62}, + {14,40,57}, + {14,42,52}, + {14,44,47}, + {14,44,44}, + {14,43,43}, + {14,42,42}, + {15,41,41}, + {15,39,39}, + {15,38,38}, + {16,37,37}, + {16,36,36}, + {17,35,35}, + {17,33,33}, + {17,30,64}, + {16,30,64}, + {16,31,63}, + {15,33,58}, + {15,34,53}, + {15,36,47}, + {14,38,42}, + {14,39,39}, + {15,38,38}, + {15,36,36}, + {16,35,35}, + {16,34,34}, + {16,33,33}, + {17,32,32}, + {17,31,31}, + {18,29,29}, + {18,23,64}, + {17,23,64}, + {17,23,63}, + {17,25,58}, + {16,27,53}, + {16,29,48}, + {16,31,43}, + {15,33,37}, + {15,34,34}, + {16,32,32}, + {16,31,31}, + {16,30,30}, + {17,29,29}, + {17,28,28}, + {17,27,27}, + {18,25,25}, + {17,17,64}, + {17,17,64}, + {17,17,63}, + {18,18,58}, + {18,20,53}, + {17,22,48}, + {17,23,43}, + {17,25,38}, + {16,27,33}, + {16,28,28}, + {16,27,27}, + {17,26,26}, + {17,25,25}, + {18,24,24}, + {18,22,22}, + {18,21,21}, + {15,15,64}, + {14,14,64}, + {15,15,61}, + {15,15,56}, + {16,16,52}, + {17,17,47}, + {17,17,43}, + {18,18,38}, + {18,20,33}, + {17,22,28}, + {17,23,23}, + {17,22,22}, + {18,21,21}, + {18,20,20}, + {18,18,18}, + {18,18,18}, + {12,12,64}, + {12,12,64}, + {12,12,60}, + {13,13,55}, + {13,13,50}, + {14,14,46}, + {15,15,41}, + {15,15,36}, + {16,16,32}, + {17,17,27}, + {17,17,22}, + {18,18,18}, + {17,17,17}, + {17,17,17}, + {16,16,16}, + {15,15,15}, + {9,9,64}, + {9,9,63}, + {10,10,58}, + {10,10,54}, + {11,11,49}, + {11,11,44}, + {12,12,40}, + {13,13,35}, + {13,13,30}, + {14,14,26}, + {15,15,21}, + {15,15,16}, + {15,15,15}, + {14,14,14}, + {14,14,14}, + {13,13,13}, + {6,6,64}, + {6,6,61}, + {7,7,57}, + {8,8,52}, + {8,8,47}, + {9,9,43}, + {10,10,38}, + {10,10,33}, + {11,11,29}, + {11,11,24}, + {12,12,20}, + {13,13,15}, + {13,13,13}, + {12,12,12}, + {12,12,12}, + {11,11,11}, + {3,3,64}, + {4,4,60}, + {5,5,55}, + {5,5,51}, + {6,6,46}, + {6,6,41}, + {7,7,37}, + {8,8,32}, + {8,8,27}, + {9,9,23}, + {10,10,18}, + {10,10,13}, + {10,10,10}, + {10,10,10}, + {9,9,9}, + {8,8,8}, + {0,0,64}, + {0,0,58}, + {1,1,53}, + {1,1,48}, + {2,2,44}, + {3,3,39}, + {3,3,35}, + {4,4,30}, + {5,5,25}, + {5,5,21}, + {6,6,16}, + {7,7,11}, + {7,7,7}, + {6,6,6}, + {6,6,6}, + {5,5,5}, + {13,64,64}, + {12,64,64}, + {12,64,64}, + {12,64,64}, + {11,64,64}, + {11,64,64}, + {10,64,64}, + {10,64,64}, + {10,64,64}, + {9,64,64}, + {9,64,64}, + {9,64,64}, + {8,64,64}, + {8,64,64}, + {9,62,62}, + {9,61,61}, + {10,64,64}, + {9,64,64}, + {9,64,64}, + {8,64,64}, + {8,64,64}, + {8,64,64}, + {7,64,64}, + {7,64,64}, + {7,63,63}, + {7,62,62}, + {8,61,61}, + {8,60,60}, + {9,59,59}, + {9,57,57}, + {9,56,56}, + {10,55,55}, + {8,64,64}, + {7,64,64}, + {7,64,64}, + {6,64,64}, + {6,64,64}, + {6,63,63}, + {7,62,62}, + {7,60,60}, + {8,59,59}, + {8,58,58}, + {8,57,57}, + {9,56,56}, + {9,55,55}, + {9,53,53}, + {10,52,52}, + {10,50,50}, + {7,61,64}, + {6,61,64}, + {6,62,63}, + {6,61,61}, + {7,60,60}, + {7,59,59}, + {7,58,58}, + {8,56,56}, + {8,55,55}, + {8,54,54}, + {9,53,53}, + {9,52,52}, + {10,50,50}, + {10,49,49}, + {10,48,48}, + {11,46,46}, + {8,54,64}, + {8,54,64}, + {7,54,63}, + {7,56,58}, + {7,56,56}, + {7,55,55}, + {8,53,53}, + {8,52,52}, + {9,51,51}, + {9,50,50}, + {9,49,49}, + {10,48,48}, + {10,46,46}, + {10,45,45}, + {11,44,44}, + {11,42,42}, + {9,47,64}, + {9,47,64}, + {8,47,63}, + {8,49,58}, + {8,51,53}, + {8,51,51}, + {8,49,49}, + {9,48,48}, + {9,47,47}, + {9,46,46}, + {10,45,45}, + {10,43,43}, + {10,42,42}, + {11,41,41}, + {11,40,40}, + {12,38,38}, + {11,39,64}, + {10,39,64}, + {10,40,63}, + {9,42,58}, + {9,43,53}, + {9,45,48}, + {9,45,45}, + {9,44,44}, + {9,43,43}, + {10,42,42}, + {10,41,41}, + {11,39,39}, + {11,38,38}, + {11,37,37}, + {12,36,36}, + {12,34,34}, + {12,32,64}, + {11,32,64}, + {11,32,63}, + {10,34,58}, + {10,36,53}, + {10,38,48}, + {10,40,43}, + {10,40,40}, + {10,39,39}, + {10,38,38}, + {11,37,37}, + {11,35,35}, + {11,34,34}, + {12,33,33}, + {12,32,32}, + {13,30,30}, + {13,25,64}, + {12,25,64}, + {12,25,64}, + {12,27,59}, + {11,29,54}, + {11,30,48}, + {11,32,43}, + {10,34,38}, + {10,35,35}, + {11,34,34}, + {11,32,32}, + {12,31,31}, + {12,30,30}, + {12,29,29}, + {13,28,28}, + {13,26,26}, + {14,17,64}, + {14,17,64}, + {13,17,64}, + {13,19,59}, + {13,21,54}, + {12,23,49}, + {12,25,44}, + {12,27,39}, + {11,29,33}, + {11,30,30}, + {12,28,28}, + {12,27,27}, + {12,26,26}, + {13,25,25}, + {13,24,24}, + {14,22,22}, + {13,13,64}, + {13,13,64}, + {13,13,63}, + {13,13,59}, + {14,14,54}, + {14,16,49}, + {13,17,44}, + {13,19,39}, + {13,21,34}, + {12,23,29}, + {12,24,24}, + {12,23,23}, + {13,22,22}, + {13,21,21}, + {14,20,20}, + {14,18,18}, + {10,10,64}, + {10,10,64}, + {10,10,62}, + {11,11,57}, + {11,11,52}, + {12,12,48}, + {13,13,43}, + {13,13,39}, + {14,14,34}, + {14,16,29}, + {13,17,24}, + {13,19,19}, + {13,18,18}, + {14,17,17}, + {14,16,16}, + {14,14,14}, + {7,7,64}, + {7,7,64}, + {7,7,60}, + {8,8,56}, + {9,9,51}, + {9,9,46}, + {10,10,42}, + {11,11,37}, + {11,11,32}, + {12,12,28}, + {13,13,23}, + {13,13,18}, + {14,14,14}, + {13,13,13}, + {13,13,13}, + {12,12,12}, + {4,4,64}, + {4,4,63}, + {5,5,59}, + {6,6,54}, + {6,6,50}, + {7,7,45}, + {7,7,40}, + {8,8,36}, + {9,9,31}, + {9,9,26}, + {10,10,22}, + {11,11,17}, + {11,11,12}, + {11,11,11}, + {10,10,10}, + {10,10,10}, + {2,2,64}, + {2,2,62}, + {2,2,57}, + {3,3,53}, + {4,4,48}, + {4,4,43}, + {5,5,39}, + {6,6,34}, + {6,6,29}, + {7,7,25}, + {7,7,20}, + {8,8,15}, + {9,9,11}, + {9,9,9}, + {8,8,8}, + {7,7,7}, + {0,0,64}, + {0,0,58}, + {0,0,54}, + {0,0,50}, + {0,0,46}, + {1,1,41}, + {1,1,37}, + {2,2,32}, + {3,3,27}, + {3,3,23}, + {4,4,18}, + {4,4,13}, + {5,5,9}, + {5,5,5}, + {5,5,5}, + {4,4,4}, + {9,64,64}, + {8,64,64}, + {8,64,64}, + {7,64,64}, + {7,64,64}, + {7,64,64}, + {6,64,64}, + {6,64,64}, + {6,64,64}, + {5,64,64}, + {5,64,64}, + {5,64,64}, + {4,64,64}, + {4,64,64}, + {4,64,64}, + {4,62,62}, + {6,64,64}, + {5,64,64}, + {5,64,64}, + {4,64,64}, + {4,64,64}, + {4,64,64}, + {3,64,64}, + {3,64,64}, + {3,64,64}, + {3,63,63}, + {3,62,62}, + {3,61,61}, + {4,60,60}, + {4,59,59}, + {4,57,57}, + {5,56,56}, + {4,64,64}, + {3,64,64}, + {3,64,64}, + {2,64,64}, + {2,64,64}, + {2,64,64}, + {2,63,63}, + {2,62,62}, + {3,60,60}, + {3,59,59}, + {3,58,58}, + {4,57,57}, + {4,56,56}, + {5,55,55}, + {5,53,53}, + {5,52,52}, + {2,63,64}, + {1,63,64}, + {1,63,64}, + {1,62,62}, + {2,61,61}, + {2,60,60}, + {2,59,59}, + {3,58,58}, + {3,56,56}, + {4,55,55}, + {4,54,54}, + {4,53,53}, + {5,52,52}, + {5,50,50}, + {5,49,49}, + {6,48,48}, + {3,56,64}, + {3,56,64}, + {2,56,64}, + {2,58,59}, + {2,57,57}, + {3,56,56}, + {3,55,55}, + {3,53,53}, + {4,52,52}, + {4,51,51}, + {4,50,50}, + {5,49,49}, + {5,48,48}, + {5,46,46}, + {6,45,45}, + {6,44,44}, + {4,48,64}, + {4,48,64}, + {3,49,64}, + {3,50,59}, + {3,52,54}, + {3,52,52}, + {3,51,51}, + {4,49,49}, + {4,48,48}, + {4,47,47}, + {5,46,46}, + {5,45,45}, + {6,44,44}, + {6,42,42}, + {6,41,41}, + {7,39,39}, + {6,41,64}, + {5,41,64}, + {5,41,64}, + {4,43,59}, + {4,45,54}, + {4,47,49}, + {4,47,47}, + {4,45,45}, + {5,44,44}, + {5,43,43}, + {5,42,42}, + {6,41,41}, + {6,39,39}, + {6,38,38}, + {7,37,37}, + {7,35,35}, + {7,34,64}, + {6,34,64}, + {6,34,64}, + {6,36,59}, + {5,38,54}, + {5,39,49}, + {5,41,44}, + {5,41,41}, + {5,40,40}, + {5,39,39}, + {6,38,38}, + {6,37,37}, + {7,35,35}, + {7,34,34}, + {7,33,33}, + {8,31,31}, + {8,26,64}, + {7,27,64}, + {7,27,64}, + {7,28,59}, + {6,30,54}, + {6,32,49}, + {6,34,44}, + {6,36,39}, + {6,36,36}, + {6,35,35}, + {6,34,34}, + {7,32,32}, + {7,31,31}, + {7,30,30}, + {8,29,29}, + {8,27,27}, + {9,19,64}, + {9,19,64}, + {8,19,64}, + {8,21,60}, + {8,23,55}, + {7,25,50}, + {7,26,44}, + {7,28,39}, + {6,30,34}, + {6,31,31}, + {7,30,30}, + {7,28,28}, + {8,27,27}, + {8,26,26}, + {8,25,25}, + {9,23,23}, + {11,12,64}, + {10,12,64}, + {10,12,64}, + {9,13,60}, + {9,15,55}, + {9,17,50}, + {8,19,45}, + {8,21,40}, + {8,23,35}, + {7,25,29}, + {7,26,26}, + {8,24,24}, + {8,23,23}, + {8,22,22}, + {9,21,21}, + {9,19,19}, + {8,8,64}, + {8,8,64}, + {8,8,64}, + {9,9,59}, + {9,9,55}, + {10,10,50}, + {9,12,45}, + {9,13,40}, + {9,15,35}, + {9,17,30}, + {8,19,25}, + {8,20,20}, + {8,19,19}, + {9,18,18}, + {9,17,17}, + {10,15,15}, + {6,6,64}, + {5,5,64}, + {5,5,62}, + {6,6,58}, + {7,7,53}, + {7,7,48}, + {8,8,44}, + {9,9,39}, + {9,9,35}, + {10,10,30}, + {9,12,25}, + {9,13,20}, + {9,15,15}, + {9,14,14}, + {10,13,13}, + {10,11,11}, + {3,3,64}, + {2,2,64}, + {3,3,61}, + {3,3,56}, + {4,4,52}, + {5,5,47}, + {5,5,42}, + {6,6,38}, + {7,7,33}, + {7,7,28}, + {8,8,24}, + {9,9,19}, + {9,9,14}, + {10,10,10}, + {9,9,9}, + {8,8,8}, + {0,0,64}, + {0,0,64}, + {0,0,59}, + {1,1,55}, + {2,2,50}, + {2,2,46}, + {3,3,41}, + {3,3,36}, + {4,4,32}, + {5,5,27}, + {5,5,22}, + {6,6,18}, + {7,7,13}, + {7,7,8}, + {7,7,7}, + {6,6,6}, + {0,0,64}, + {0,0,58}, + {0,0,54}, + {0,0,50}, + {0,0,46}, + {0,0,42}, + {0,0,38}, + {0,0,34}, + {0,0,29}, + {1,1,25}, + {2,2,20}, + {2,2,15}, + {3,3,11}, + {4,4,6}, + {4,4,4}, + {3,3,3}, + {5,64,64}, + {4,64,64}, + {4,64,64}, + {3,64,64}, + {3,64,64}, + {3,64,64}, + {2,64,64}, + {2,64,64}, + {2,64,64}, + {1,64,64}, + {1,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,63,63}, + {2,64,64}, + {1,64,64}, + {1,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,63,63}, + {0,62,62}, + {0,61,61}, + {0,60,60}, + {0,59,59}, + {0,57,57}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,63,63}, + {0,62,62}, + {0,61,61}, + {0,60,60}, + {0,59,59}, + {0,58,58}, + {0,57,57}, + {0,56,56}, + {0,55,55}, + {1,53,53}, + {0,63,64}, + {0,63,64}, + {0,63,64}, + {0,62,62}, + {0,61,61}, + {0,60,60}, + {0,59,59}, + {0,58,58}, + {0,57,57}, + {0,56,56}, + {0,55,55}, + {0,54,54}, + {0,53,53}, + {0,52,52}, + {1,51,51}, + {1,49,49}, + {0,57,64}, + {0,56,64}, + {0,56,64}, + {0,58,59}, + {0,57,57}, + {0,56,56}, + {0,55,55}, + {0,54,54}, + {0,53,53}, + {0,52,52}, + {0,51,51}, + {0,50,50}, + {0,49,49}, + {1,48,48}, + {1,46,46}, + {2,45,45}, + {0,50,64}, + {0,50,64}, + {0,50,64}, + {0,51,60}, + {0,53,55}, + {0,52,52}, + {0,51,51}, + {0,50,50}, + {0,49,49}, + {0,48,48}, + {0,47,47}, + {0,46,46}, + {1,45,45}, + {1,44,44}, + {1,42,42}, + {2,41,41}, + {1,43,64}, + {0,43,64}, + {0,43,64}, + {0,44,60}, + {0,46,55}, + {0,48,50}, + {0,47,47}, + {0,46,46}, + {0,45,45}, + {0,44,44}, + {0,43,43}, + {1,42,42}, + {1,41,41}, + {2,40,40}, + {2,38,38}, + {2,37,37}, + {2,36,64}, + {1,36,64}, + {1,36,64}, + {1,37,60}, + {0,39,55}, + {0,41,50}, + {0,43,45}, + {0,42,42}, + {0,41,41}, + {1,40,40}, + {1,39,39}, + {1,38,38}, + {2,37,37}, + {2,35,35}, + {2,34,34}, + {3,33,33}, + {3,28,64}, + {3,28,64}, + {2,28,64}, + {2,30,60}, + {2,32,55}, + {1,33,50}, + {1,35,45}, + {1,37,40}, + {1,37,37}, + {1,36,36}, + {1,35,35}, + {2,34,34}, + {2,33,33}, + {3,31,31}, + {3,30,30}, + {3,29,29}, + {4,21,64}, + {4,21,64}, + {3,21,64}, + {3,22,61}, + {3,24,55}, + {2,26,50}, + {2,28,45}, + {2,30,40}, + {2,32,35}, + {2,32,32}, + {2,31,31}, + {2,30,30}, + {3,28,28}, + {3,27,27}, + {3,26,26}, + {4,24,24}, + {6,14,64}, + {5,14,64}, + {5,14,64}, + {4,15,61}, + {4,17,56}, + {4,19,51}, + {3,21,46}, + {3,22,40}, + {3,24,35}, + {2,26,30}, + {2,27,27}, + {3,26,26}, + {3,24,24}, + {3,23,23}, + {4,22,22}, + {4,20,20}, + {7,7,64}, + {6,6,64}, + {6,6,64}, + {5,8,61}, + {5,9,56}, + {5,11,51}, + {5,13,46}, + {4,15,41}, + {4,17,36}, + {4,19,31}, + {3,21,25}, + {3,22,22}, + {4,20,20}, + {4,19,19}, + {4,18,18}, + {5,16,16}, + {4,4,64}, + {4,4,64}, + {3,3,64}, + {4,4,60}, + {5,5,55}, + {5,5,51}, + {6,6,46}, + {5,8,41}, + {5,9,36}, + {5,11,31}, + {5,13,26}, + {4,15,21}, + {4,16,16}, + {4,15,15}, + {5,14,14}, + {5,12,12}, + {1,1,64}, + {1,1,64}, + {1,1,63}, + {1,1,58}, + {2,2,54}, + {3,3,49}, + {3,3,44}, + {4,4,40}, + {5,5,35}, + {5,5,31}, + {6,6,26}, + {5,8,21}, + {5,9,16}, + {5,11,11}, + {5,10,10}, + {6,8,8}, + {0,0,64}, + {0,0,64}, + {0,0,60}, + {0,0,56}, + {0,0,52}, + {0,0,48}, + {1,1,43}, + {1,1,38}, + {2,2,34}, + {3,3,29}, + {3,3,24}, + {4,4,20}, + {5,5,15}, + {5,5,10}, + {6,6,6}, + {5,5,5}, + {0,0,64}, + {0,0,58}, + {0,0,54}, + {0,0,50}, + {0,0,46}, + {0,0,42}, + {0,0,38}, + {0,0,34}, + {0,0,30}, + {0,0,26}, + {0,0,22}, + {0,0,18}, + {1,1,13}, + {1,1,8}, + {2,2,4}, + {2,2,2}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,62,62}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,63,63}, + {0,62,62}, + {0,61,61}, + {0,60,60}, + {0,59,59}, + {0,58,58}, + {0,57,57}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,64,64}, + {0,63,63}, + {0,62,62}, + {0,60,60}, + {0,59,59}, + {0,58,58}, + {0,57,57}, + {0,56,56}, + {0,55,55}, + {0,54,54}, + {0,53,53}, + {0,62,64}, + {0,62,64}, + {0,62,64}, + {0,62,62}, + {0,61,61}, + {0,60,60}, + {0,59,59}, + {0,58,58}, + {0,57,57}, + {0,55,55}, + {0,54,54}, + {0,53,53}, + {0,52,52}, + {0,51,51}, + {0,50,50}, + {0,49,49}, + {0,55,64}, + {0,55,64}, + {0,55,64}, + {0,56,60}, + {0,57,57}, + {0,56,56}, + {0,55,55}, + {0,54,54}, + {0,53,53}, + {0,52,52}, + {0,51,51}, + {0,49,49}, + {0,48,48}, + {0,47,47}, + {0,46,46}, + {0,45,45}, + {0,49,64}, + {0,49,64}, + {0,48,64}, + {0,50,61}, + {0,51,56}, + {0,52,52}, + {0,51,51}, + {0,50,50}, + {0,49,49}, + {0,48,48}, + {0,47,47}, + {0,46,46}, + {0,44,44}, + {0,43,43}, + {0,42,42}, + {0,41,41}, + {0,42,64}, + {0,42,64}, + {0,42,64}, + {0,43,61}, + {0,44,56}, + {0,46,51}, + {0,47,47}, + {0,46,46}, + {0,45,45}, + {0,44,44}, + {0,43,43}, + {0,42,42}, + {0,41,41}, + {0,40,40}, + {0,38,38}, + {0,37,37}, + {0,35,64}, + {0,35,64}, + {0,35,64}, + {0,36,61}, + {0,38,56}, + {0,39,51}, + {0,41,46}, + {0,42,42}, + {0,41,41}, + {0,40,40}, + {0,39,39}, + {0,38,38}, + {0,37,37}, + {0,36,36}, + {0,35,35}, + {0,33,33}, + {0,29,64}, + {0,29,64}, + {0,28,64}, + {0,29,61}, + {0,31,56}, + {0,33,51}, + {0,34,46}, + {0,36,41}, + {0,37,37}, + {0,36,36}, + {0,35,35}, + {0,34,34}, + {0,33,33}, + {0,32,32}, + {0,31,31}, + {0,29,29}, + {0,22,64}, + {0,22,64}, + {0,22,64}, + {0,22,62}, + {0,24,57}, + {0,26,51}, + {0,28,46}, + {0,29,41}, + {0,31,36}, + {0,32,32}, + {0,31,31}, + {0,30,30}, + {0,29,29}, + {0,28,28}, + {0,27,27}, + {0,25,25}, + {0,15,64}, + {0,15,64}, + {0,15,64}, + {0,16,62}, + {0,17,57}, + {0,19,52}, + {0,21,47}, + {0,22,42}, + {0,24,36}, + {0,26,31}, + {0,27,27}, + {0,26,26}, + {0,25,25}, + {0,24,24}, + {0,23,23}, + {0,21,21}, + {0,9,64}, + {0,9,64}, + {0,8,64}, + {0,9,62}, + {0,11,57}, + {0,12,52}, + {0,14,47}, + {0,16,42}, + {0,17,37}, + {0,19,32}, + {0,21,27}, + {0,22,22}, + {0,21,21}, + {0,20,20}, + {0,19,19}, + {0,17,17}, + {1,2,64}, + {0,2,64}, + {0,2,64}, + {0,2,62}, + {0,4,57}, + {0,6,52}, + {0,7,47}, + {0,9,42}, + {0,11,37}, + {0,12,32}, + {0,14,27}, + {0,16,22}, + {0,17,17}, + {0,16,16}, + {0,15,15}, + {0,13,13}, + {0,0,64}, + {0,0,64}, + {0,0,64}, + {0,0,60}, + {0,0,56}, + {0,0,52}, + {0,1,47}, + {0,2,42}, + {0,4,37}, + {0,6,32}, + {0,7,27}, + {0,9,22}, + {0,11,17}, + {0,12,12}, + {0,11,11}, + {0,10,10}, + {0,0,64}, + {0,0,64}, + {0,0,60}, + {0,0,56}, + {0,0,52}, + {0,0,48}, + {0,0,44}, + {0,0,40}, + {0,0,36}, + {0,0,32}, + {0,1,27}, + {0,2,22}, + {0,4,17}, + {0,6,12}, + {0,7,7}, + {0,6,6}, + {0,0,64}, + {0,0,58}, + {0,0,54}, + {0,0,50}, + {0,0,46}, + {0,0,42}, + {0,0,38}, + {0,0,34}, + {0,0,30}, + {0,0,26}, + {0,0,22}, + {0,0,18}, + {0,0,14}, + {0,0,10}, + {0,0,6}, + {0,0,0}, +}; diff --git a/source/licenses/MPL-2.0.txt b/source/licenses/MPL-2.0.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3f8fa150185755495940b392d05b1c4a36932f6 --- /dev/null +++ b/source/licenses/MPL-2.0.txt @@ -0,0 +1,378 @@ +All files in this package are Copyright 2019 Gordon Williams, Pur3 Ltd unless +otherwise noted. + +------------------------------------------------------------------------------- + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/source/licenses/esp-idf/LICENSE b/source/licenses/esp-idf/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc/LICENSE.txt b/source/licenses/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab099ae5a519b92de9ec903422de6457aa9e0310 --- /dev/null +++ b/source/licenses/esp-idf/components/bootloader/subproject/components/micro-ecc/micro-ecc/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (c) 2014, Kenneth MacKay +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/bt/common/tinycrypt/LICENSE b/source/licenses/esp-idf/components/bt/common/tinycrypt/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..b3c55243052a172b2e22e0c2f59b196a368128d5 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/common/tinycrypt/LICENSE @@ -0,0 +1,61 @@ + +================================================================================ + + TinyCrypt Cryptographic Library + +================================================================================ + + Copyright (c) 2017, Intel Corporation. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ +Copyright (c) 2014, Kenneth MacKay +All rights reserved. + +https://github.com/kmackay/micro-ecc + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32/LICENSE b/source/licenses/esp-idf/components/bt/controller/lib_esp32/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/NOTICE b/source/licenses/esp-idf/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..73decc2cc375037a6362f8c77a780646590722a1 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32c2/esp32c2-bt-lib/NOTICE @@ -0,0 +1,9 @@ +Apache Mynewt NimBLE +Copyright 2015-2021 The Apache Software Foundation +Modifications Copyright 2017-2022 Espressif Systems (Shanghai) CO., LTD. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Portions of this software were developed at +Runtime Inc, copyright 2015. \ No newline at end of file diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32c3_family/LICENSE b/source/licenses/esp-idf/components/bt/controller/lib_esp32c3_family/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32c3_family/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32c5/esp32c5-bt-lib/NOTICE b/source/licenses/esp-idf/components/bt/controller/lib_esp32c5/esp32c5-bt-lib/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..f996f9a2e980149bd1df942f1a191f4010c6131b --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32c5/esp32c5-bt-lib/NOTICE @@ -0,0 +1,9 @@ +Apache Mynewt NimBLE +Copyright 2015-2021 The Apache Software Foundation +Modifications Copyright 2017-2024 Espressif Systems (Shanghai) CO., LTD. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Portions of this software were developed at +Runtime Inc, copyright 2015. \ No newline at end of file diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32c6/esp32c6-bt-lib/NOTICE b/source/licenses/esp-idf/components/bt/controller/lib_esp32c6/esp32c6-bt-lib/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..f996f9a2e980149bd1df942f1a191f4010c6131b --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32c6/esp32c6-bt-lib/NOTICE @@ -0,0 +1,9 @@ +Apache Mynewt NimBLE +Copyright 2015-2021 The Apache Software Foundation +Modifications Copyright 2017-2024 Espressif Systems (Shanghai) CO., LTD. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Portions of this software were developed at +Runtime Inc, copyright 2015. \ No newline at end of file diff --git a/source/licenses/esp-idf/components/bt/controller/lib_esp32h2/esp32h2-bt-lib/NOTICE b/source/licenses/esp-idf/components/bt/controller/lib_esp32h2/esp32h2-bt-lib/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..ed17c42a3bd77c7b1e9aca3dece8efcc96179541 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/controller/lib_esp32h2/esp32h2-bt-lib/NOTICE @@ -0,0 +1,9 @@ +Apache Mynewt NimBLE +Copyright 2015-2022 The Apache Software Foundation +Modifications Copyright 2017-2023 Espressif Systems (Shanghai) CO., LTD. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Portions of this software were developed at +Runtime Inc, copyright 2015. diff --git a/source/licenses/esp-idf/components/bt/esp_ble_mesh/lib/lib/LICENSE b/source/licenses/esp-idf/components/bt/esp_ble_mesh/lib/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/esp_ble_mesh/lib/lib/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/bt/host/nimble/nimble/LICENSE b/source/licenses/esp-idf/components/bt/host/nimble/nimble/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..960e8257e996301da8f795be6f1ec762bf06826c --- /dev/null +++ b/source/licenses/esp-idf/components/bt/host/nimble/nimble/LICENSE @@ -0,0 +1,227 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +This product bundles queue.h 8.5, which is available under the "3-clause BSD" +license. For details, see porting/nimble/include/os/queue.h + +This product partly derives from FreeBSD, which is available under the +"3-clause BSD" license. For details, see: + * porting/nimble/src/os_mbuf.c + +This product bundles Gary S. Brown's CRC32 implementation, which is available +under the following license: + COPYRIGHT (C) 1986 Gary S. Brown. You may use this program, or + code or tables extracted from it, as desired without restriction. + +This product bundles tinycrypt, which is available under the "3-clause BSD" +license. For details, and bundled files see: + * ext/tinycrypt/LICENSE + +This product bundles and partly derives from parts of the Nordic nRF52 SDK, +which are available under a BSD style license. Relevant files are: + * babblesim/hw/mcu/nordic/nrf52_bsim/src/system_nrf52.c + +This product bundles additional files from CMSIS-CORE, but these files are +missing licensing information. The BSD license was subsequently added to +these files in later releases. These files are: + * babblesim/hw/mcu/nordic/nrf52_bsim/include/mcu/cmsis_nvic.h + diff --git a/source/licenses/esp-idf/components/bt/host/nimble/nimble/NOTICE b/source/licenses/esp-idf/components/bt/host/nimble/nimble/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..3f9a1c8c758031a0f9c34133dddb4e0be7fe3568 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/host/nimble/nimble/NOTICE @@ -0,0 +1,9 @@ +Apache Mynewt NimBLE +Copyright 2015-2022 The Apache Software Foundation +Modifications Copyright 2017-2022 Espressif Systems (Shanghai) CO., LTD. + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +Portions of this software were developed at +Runtime Inc, copyright 2015. diff --git a/source/licenses/esp-idf/components/bt/host/nimble/nimble/ext/tinycrypt/LICENSE b/source/licenses/esp-idf/components/bt/host/nimble/nimble/ext/tinycrypt/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..2e1db516ad74af176072f411c7720c30583ce020 --- /dev/null +++ b/source/licenses/esp-idf/components/bt/host/nimble/nimble/ext/tinycrypt/LICENSE @@ -0,0 +1,61 @@ + +================================================================================ + + TinyCrypt Cryptographic Library + +================================================================================ + + Copyright (c) 2017, Intel Corporation. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + - Neither the name of the Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ +Copyright (c) 2014, Kenneth MacKay +All rights reserved. + +https://github.com/kmackay/micro-ecc + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +================================================================================ diff --git a/source/licenses/esp-idf/components/cmock/CMock/LICENSE.txt b/source/licenses/esp-idf/components/cmock/CMock/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..98167e40c3338a0fa8d6733c4f26a34de309ee6e --- /dev/null +++ b/source/licenses/esp-idf/components/cmock/CMock/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/source/licenses/esp-idf/components/cmock/CMock/vendor/unity/LICENSE.txt b/source/licenses/esp-idf/components/cmock/CMock/vendor/unity/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..d66fba53e5845843ad40ee19442894db4448dcd8 --- /dev/null +++ b/source/licenses/esp-idf/components/cmock/CMock/vendor/unity/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/source/licenses/esp-idf/components/console/argtable3/LICENSE b/source/licenses/esp-idf/components/console/argtable3/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..63c7a7fbd82587546cf5216155153201c7ab194c --- /dev/null +++ b/source/licenses/esp-idf/components/console/argtable3/LICENSE @@ -0,0 +1,167 @@ +Copyright (C) 1998-2001,2003-2011,2013 Stewart Heitmann + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of STEWART HEITMANN nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL STEWART HEITMANN BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +FreeBSD getopt library +====================== + +Copyright (c) 2000 The NetBSD Foundation, Inc. +All rights reserved. + +This code is derived from software contributed to The NetBSD Foundation +by Dieter Baron and Thomas Klausner. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Tcl library +=========== + +This software is copyrighted by the Regents of the University of +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY +FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY +DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE +IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE +NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR +MODIFICATIONS. + +GOVERNMENT USE: If you are acquiring this software on behalf of the +U.S. government, the Government shall have only "Restricted Rights" +in the software and related documentation as defined in the Federal +Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you +are acquiring the software on behalf of the Department of Defense, the +software shall be classified as "Commercial Computer Software" and the +Government shall have only "Restricted Rights" as defined in Clause +252.227-7014 (b) (3) of DFARs. Notwithstanding the foregoing, the +authors grant the U.S. Government and others acting in its behalf +permission to use and distribute the software in accordance with the +terms specified in this license. + + +C Hash Table library +==================== + +Copyright (c) 2002, Christopher Clark +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name of the original author; nor the names of any contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +The Better String library +========================= + +Copyright (c) 2014, Paul Hsieh +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of bstrlib nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/console/linenoise/LICENSE b/source/licenses/esp-idf/components/console/linenoise/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..18e814865a54f94fb81127fd0bf1b52e9350c530 --- /dev/null +++ b/source/licenses/esp-idf/components/console/linenoise/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2010-2014, Salvatore Sanfilippo +Copyright (c) 2010-2013, Pieter Noordhuis + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/driver/test_apps/components/esp_serial_slave_link/LICENSE b/source/licenses/esp-idf/components/driver/test_apps/components/esp_serial_slave_link/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/driver/test_apps/components/esp_serial_slave_link/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/esp_coex/lib/LICENSE b/source/licenses/esp-idf/components/esp_coex/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/esp_coex/lib/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/esp_phy/lib/LICENSE b/source/licenses/esp-idf/components/esp_phy/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/esp_phy/lib/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/esp_wifi/lib/LICENSE b/source/licenses/esp-idf/components/esp_wifi/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/esp_wifi/lib/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/esptool_py/LICENSE b/source/licenses/esp-idf/components/esptool_py/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d159169d1050894d3ea3b98e1c965c4058208fe1 --- /dev/null +++ b/source/licenses/esp-idf/components/esptool_py/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/licenses/esp-idf/components/freertos/FreeRTOS-Kernel/LICENSE.md b/source/licenses/esp-idf/components/freertos/FreeRTOS-Kernel/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..9cf106272ac3b56b0c4c80218e8fc10a664ca5f4 --- /dev/null +++ b/source/licenses/esp-idf/components/freertos/FreeRTOS-Kernel/LICENSE.md @@ -0,0 +1,19 @@ +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/source/licenses/esp-idf/components/http_parser/LICENSE.txt b/source/licenses/esp-idf/components/http_parser/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..df6ff2563adcf2133cccc209f11440b209f22d92 --- /dev/null +++ b/source/licenses/esp-idf/components/http_parser/LICENSE.txt @@ -0,0 +1,23 @@ +/* Based on src/http/ngx_http_parse.c from NGINX copyright Igor Sysoev + * + * Additional changes are licensed under the same terms as NGINX and + * copyright Joyent, Inc. and other Node contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ diff --git a/source/licenses/esp-idf/components/json/cJSON/LICENSE b/source/licenses/esp-idf/components/json/cJSON/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..78deb0406d713ab9730e3c2447be1abdbd70b9a2 --- /dev/null +++ b/source/licenses/esp-idf/components/json/cJSON/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2009-2017 Dave Gamble and cJSON contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/source/licenses/esp-idf/components/json/cJSON/tests/unity/docs/license.txt b/source/licenses/esp-idf/components/json/cJSON/tests/unity/docs/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..d66fba53e5845843ad40ee19442894db4448dcd8 --- /dev/null +++ b/source/licenses/esp-idf/components/json/cJSON/tests/unity/docs/license.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/source/licenses/esp-idf/components/lwip/lwip/COPYING b/source/licenses/esp-idf/components/lwip/lwip/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..90465f592ceafc10f2e8d3374cf52d55a39d6cde --- /dev/null +++ b/source/licenses/esp-idf/components/lwip/lwip/COPYING @@ -0,0 +1,25 @@ +Copyright (c) 2001, 2002 Swedish Institute of Computer Science. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. + diff --git a/source/licenses/esp-idf/components/lwip/lwip/contrib/apps/LwipMibCompiler/SharpSnmpLib/license.txt b/source/licenses/esp-idf/components/lwip/lwip/contrib/apps/LwipMibCompiler/SharpSnmpLib/license.txt new file mode 100644 index 0000000000000000000000000000000000000000..27946de210082fa0e30252ecf926cdf28db0d344 --- /dev/null +++ b/source/licenses/esp-idf/components/lwip/lwip/contrib/apps/LwipMibCompiler/SharpSnmpLib/license.txt @@ -0,0 +1,458 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/source/licenses/esp-idf/components/mbedtls/mbedtls/LICENSE b/source/licenses/esp-idf/components/mbedtls/mbedtls/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..776ac77eaf5a0da545f95ad7386b9954378fa8ae --- /dev/null +++ b/source/licenses/esp-idf/components/mbedtls/mbedtls/LICENSE @@ -0,0 +1,553 @@ +Mbed TLS files are provided under a dual [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) +OR [GPL-2.0-or-later](https://spdx.org/licenses/GPL-2.0-or-later.html) license. +This means that users may choose which of these licenses they take the code +under. + +The full text of each of these licenses is given below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/licenses/esp-idf/components/mbedtls/mbedtls/framework/LICENSE b/source/licenses/esp-idf/components/mbedtls/mbedtls/framework/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..75e3d54f39922255ebc6199aea111be094d28b5a --- /dev/null +++ b/source/licenses/esp-idf/components/mbedtls/mbedtls/framework/LICENSE @@ -0,0 +1,553 @@ +mbedtls-framework files are provided under a dual [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) +OR [GPL-2.0-or-later](https://spdx.org/licenses/GPL-2.0-or-later.html) license. +This means that users may choose which of these licenses they take the code +under. + +The full text of each of these licenses is given below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/licenses/esp-idf/components/mqtt/esp-mqtt/LICENSE b/source/licenses/esp-idf/components/mqtt/esp-mqtt/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..a623b53ffcbf30742ce5b393d500f0a83e6f642c --- /dev/null +++ b/source/licenses/esp-idf/components/mqtt/esp-mqtt/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016 Tuan PM + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/newlib/COPYING.NEWLIB b/source/licenses/esp-idf/components/newlib/COPYING.NEWLIB new file mode 100644 index 0000000000000000000000000000000000000000..86827de4bcecbe78b0ae77d1e381588f9d4effc7 --- /dev/null +++ b/source/licenses/esp-idf/components/newlib/COPYING.NEWLIB @@ -0,0 +1,952 @@ +The newlib subdirectory is a collection of software from several sources. + +Each file may have its own copyright/license that is embedded in the source +file. Unless otherwise noted in the body of the source file(s), the following copyright +notices will apply to the contents of the newlib subdirectory: + +(1) Red Hat Incorporated + +Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + +This copyrighted material is made available to anyone wishing to use, +modify, copy, or redistribute it subject to the terms and conditions +of the BSD License. This program is distributed in the hope that +it will be useful, but WITHOUT ANY WARRANTY expressed or implied, +including the implied warranties of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. A copy of this license is available at +http://www.opensource.org/licenses. Any Red Hat trademarks that are +incorporated in the source code or documentation are not subject to +the BSD License and may only be used or replicated with the express +permission of Red Hat, Inc. + +(2) University of California, Berkeley + +Copyright (c) 1981-2000 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. + +(3) David M. Gay (AT&T 1991, Lucent 1998) + +The author of this software is David M. Gay. + +Copyright (c) 1991 by AT&T. + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +------------------------------------------------------------------- + +The author of this software is David M. Gay. + +Copyright (C) 1998-2001 by Lucent Technologies +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and +its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notice appear in all +copies and that both that the copyright notice and this +permission notice and warranty disclaimer appear in supporting +documentation, and that the name of Lucent or any of its entities +not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. + +This software is the property of Advanced Micro Devices, Inc (AMD) which +specifically grants the user the right to modify, use and distribute this +software provided this notice is not removed or altered. All other rights +are reserved by AMD. + +AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS +SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL +DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR +USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the 29K Technical Support Center at +800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or +0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118. + +Advanced Micro Devices, Inc. +29K Support Products +Mail Stop 573 +5900 E. Ben White Blvd. +Austin, TX 78741 +800-292-9263 + +(5) + +(6) + +(7) Sun Microsystems + +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice is preserved. + +(8) Hewlett Packard + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(9) Hans-Peter Nilsson + +Copyright (C) 2001 Hans-Peter Nilsson + +Permission to use, copy, modify, and distribute this software is +freely granted, provided that the above copyright notice, this notice +and the following disclaimer are preserved with no changes. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. + +(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only) + +Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(11) Christopher G. Demetriou + +Copyright (c) 2001 Christopher G. Demetriou +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(12) SuperH, Inc. + +Copyright 2002 SuperH, Inc. All rights reserved + +This software is the property of SuperH, Inc (SuperH) which specifically +grants the user the right to modify, use and distribute this software +provided this notice is not removed or altered. All other rights are +reserved by SuperH. + +SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM +THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the SuperH Support Center via +e-mail at softwaresupport@superh.com . + +SuperH, Inc. +405 River Oaks Parkway +San Jose +CA 95134 +USA + +(13) Royal Institute of Technology + +Copyright (c) 1999 Kungliga Tekniska Högskolan +(Royal Institute of Technology, Stockholm, Sweden). +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of KTH nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(14) Alexey Zelkin + +Copyright (c) 2000, 2001 Alexey Zelkin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(15) Andrey A. Chernov + +Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(16) FreeBSD + +Copyright (c) 1997-2002 FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(17) S. L. Moshier + +Author: S. L. Moshier. + +Copyright (c) 1984,2000 S.L. Moshier + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION +OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS +SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(18) Citrus Project + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(19) Todd C. Miller + +Copyright (c) 1998 Todd C. Miller +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(20) DJ Delorie (i386) +Copyright (C) 1991 DJ Delorie +All rights reserved. + +Redistribution, modification, and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(21) Free Software Foundation LGPL License (*-linux* targets only) + + Copyright (C) 1990-1999, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Mark Kettenis , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + +(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) + +Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Library General Public License for more details. + +(23) Intel (i960) + +Copyright (c) 1993 Intel Corporation + +Intel hereby grants you permission to copy, modify, and distribute this +software and its documentation. Intel grants this permission provided +that the above copyright notice appears in all copies and that both the +copyright notice and this permission notice appear in supporting +documentation. In addition, Intel grants this permission provided that +you prominently mark as "not part of the original" any modifications +made to this software or documentation, and that the name of Intel +Corporation not be used in advertising or publicity pertaining to +distribution of the software or the documentation without specific, +written prior permission. + +Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR +IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or +representations regarding the use of, or the results of the use of, +the software and documentation in terms of correctness, accuracy, +reliability, currentness, or otherwise; and you rely on the software, +documentation and results solely at your own risk. + +IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS, +LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES +OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM +PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. + +(24) Hewlett-Packard (hppa targets only) + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(25) Henry Spencer (only *-linux targets) + +Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + +(26) Mike Barcroft + +Copyright (c) 2001 Mike Barcroft +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(27) Konstantin Chuguev (--enable-newlib-iconv) + +Copyright (c) 1999, 2000 + Konstantin Chuguev. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + iconv (Charset Conversion Library) v2.0 + +(28) Artem Bityuckiy (--enable-newlib-iconv) + +Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation. +Rights transferred to Franklin Electronic Publishers. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(29) IBM, Sony, Toshiba (only spu-* targets) + + (C) Copyright 2001,2006, + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +(30) - Alex Tatmanjants (targets using libc/posix) + + Copyright (c) 1995 Alex Tatmanjants + at Electronni Visti IA, Kiev, Ukraine. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +(31) - M. Warner Losh (targets using libc/posix) + + Copyright (c) 1998, M. Warner Losh + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +(32) - Andrey A. Chernov (targets using libc/posix) + + Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +(33) - Daniel Eischen (targets using libc/posix) + + Copyright (c) 2001 Daniel Eischen . + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + +(34) - Jon Beniston (only lm32-* targets) + + Contributed by Jon Beniston + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + +(35) - ARM Ltd (arm and thumb variant targets only) + + Copyright (c) 2009 ARM Ltd + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(36) - Xilinx, Inc. (microblaze-* and powerpc-* targets) + +Copyright (c) 2004, 2009 Xilinx, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +3. Neither the name of Xilinx nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +(37) Texas Instruments Incorporated (tic6x-*, *-tirtos targets) + +Copyright (c) 1996-2010,2014 Texas Instruments Incorporated +http://www.ti.com/ + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + Neither the name of Texas Instruments Incorporated nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(38) National Semiconductor (cr16-* and crx-* targets) + +Copyright (c) 2004 National Semiconductor Corporation + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(39) - Adapteva, Inc. (epiphany-* targets) + +Copyright (c) 2011, Adapteva, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Adapteva nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(40) - Altera Corportion (nios2-* targets) + +Copyright (c) 2003 Altera Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + o Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + o Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + o Neither the name of Altera Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY ALTERA CORPORATION, THE COPYRIGHT HOLDER, +AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(41) Ed Schouten - Free BSD + +Copyright (c) 2008 Ed Schouten +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/newlib/COPYING.picolibc b/source/licenses/esp-idf/components/newlib/COPYING.picolibc new file mode 100644 index 0000000000000000000000000000000000000000..89955b323213bed1ad55f1e7f7e6a0b8c8af4419 --- /dev/null +++ b/source/licenses/esp-idf/components/newlib/COPYING.picolibc @@ -0,0 +1,6332 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: picolibc +Upsream-Contact: Keith Packard +Source: https://keithp.com/git/picolibc +Copyright: 2019 Keith Packard +License: BSD3-1 + +Files: * +Copyright: 2020 The Newlib Project +License: Default-1 + +Files: debian/* +Copyright: 2019-2022 Keith Packard +License: BSD3-1 + +Files: *.md +Copyright: 2019 Keith Packard +License: BSD3-1 + +Files: scripts/GeneratePicolibcCrossFile.sh +Copyright: 2022 R. Diez - Licensed under the GNU AGPLv3 +License: AGPL3-1 + +Files: newlib/libc/iconv/ccs/ccs.h + newlib/libc/iconv/ces/us-ascii.c + newlib/libc/iconv/lib/aliasesi.c + newlib/libc/iconv/lib/encoding.deps + newlib/libc/iconv/lib/endian.h + newlib/libc/iconv/lib/iconvnls.c + newlib/libc/iconv/lib/iconvnls.h + newlib/libc/iconv/lib/local.h +Copyright: 2003-2004, Artem B. Bityuckiy +License: BSD2-1 + +Files: newlib/libc/iconv/ccs/mktbl.pl + newlib/libc/iconv/ces/mkdeps.pl +Copyright: 2003-2004, Artem B. Bityuckiy, SoftMine Corporation. +License: BSD2-1 + +Files: newlib/libc/iconv/ces/euc.c + newlib/libc/iconv/ces/table.c + newlib/libc/iconv/ces/ucs-2-internal.c + newlib/libc/iconv/ces/ucs-2.c + newlib/libc/iconv/ces/ucs-4-internal.c + newlib/libc/iconv/ces/ucs-4.c + newlib/libc/iconv/ces/utf-16.c + newlib/libc/iconv/ces/utf-8.c + newlib/libc/iconv/lib/conv.h + newlib/libc/iconv/lib/iconv.c + newlib/libc/iconv/lib/nullconv.c + newlib/libc/iconv/lib/ucsconv.c + newlib/libc/iconv/lib/ucsconv.h +Copyright: 2003-2004, Artem B. Bityuckiy + 1999,2000, Konstantin Chuguev. +License: BSD2-1 + +Files: newlib/libc/include/devctl.h +Copyright: 2016,2019 Joel Sherrill . +License: BSD2-1 + +Files: newlib/libc/include/iconv.h +Copyright: 2003-2004, Artem B. Bityuckiy, SoftMine Corporation. Rights transferred to Franklin Electronic Publishers. +License: BSD2-1 + +Files: newlib/libc/include/langinfo.h + newlib/libc/include/wchar.h + newlib/libc/locale/lmessages.c + newlib/libc/locale/nl_langinfo.c +Copyright: 2001 Alexey Zelkin +License: BSD2-1 + +Files: newlib/libc/include/machine/fenv-softfloat.h +Copyright: 2004-2011 David Schultz +License: BSD2-1 + +Files: newlib/libc/include/spawn.h +Copyright: 2008 Ed Schouten +License: BSD2-1 + +Files: newlib/libc/include/strings.h + newlib/libc/include/sys/_timeval.h +Copyright: 2002 Mike Barcroft +License: BSD2-1 + +Files: newlib/libc/include/sys/endian.h +Copyright: 2002 Thomas Moestl +License: BSD2-1 + +Files: newlib/libc/include/sys/iconvnls.h +Copyright: 2003-2004, Artem B. Bityuckiy. Rights transferred to Franklin Electronic Publishers. +License: BSD2-1 + +Files: newlib/libc/include/threads.h +Copyright: 2011 Ed Schouten +License: BSD2-1 + +Files: newlib/libc/locale/lctype.c +Copyright: 2010 Corinna Vinschen +License: BSD2-1 + +Files: newlib/libc/locale/lmonetary.c + newlib/libc/locale/lnumeric.c +Copyright: 2000, 2001 Alexey Zelkin +License: BSD2-1 + +Files: newlib/libc/locale/timelocal.c +Copyright: 2001 Alexey Zelkin + 1997 FreeBSD Inc. +License: BSD2-1 + +Files: newlib/libc/machine/aarch64/machine/_fpmath.h + newlib/libc/machine/riscv/machine/_fpmath.h +Copyright: 2002, 2003 David Schultz + 2014 The FreeBSD Foundation +License: BSD2-1 + +Files: newlib/libc/machine/aarch64/machine/fenv-fp.h + newlib/libc/machine/aarch64/machine/fenv.h + newlib/libc/machine/arm/machine/fenv.h + newlib/libc/machine/mips/machine/fenv-fp.h + newlib/libc/machine/mips/machine/fenv.h + newlib/libc/machine/powerpc/machine/fenv-fp.h + newlib/libc/machine/powerpc/machine/fenv.h + newlib/libc/machine/sh/machine/fenv.h + newlib/libc/machine/sparc/machine/fenv.h + newlib/libm/ld/common/s_frexpl.c +Copyright: 2004-2005 David Schultz +License: BSD2-1 + +Files: newlib/libc/machine/lm32/setjmp.S +Copyright: 2008 Jon Beniston +License: BSD2-1 + +Files: newlib/libc/machine/sh/machine/fenv-fp.h +Copyright: 2004-2005 David Schultz + 2013 Andrew Turner +License: BSD2-1 + +Files: newlib/libc/machine/x86/machine/fenv.h +Copyright: 2010-2019 Red Hat, Inc. +License: BSD2-1 + +Files: newlib/libc/machine/x86_64/machine/_fpmath.h + newlib/libm/ld/ld80/i386_fpmath.h +Copyright: 2002, 2003 David Schultz +License: BSD2-1 + +Files: newlib/libc/stdio/clearerr_u.c + newlib/libc/stdio/feof_u.c + newlib/libc/stdio/ferror_u.c + newlib/libc/stdio/fflush_u.c + newlib/libc/stdio/fgetc_u.c + newlib/libc/stdio/fgets_u.c + newlib/libc/stdio/fgetwc_u.c + newlib/libc/stdio/fgetws_u.c + newlib/libc/stdio/fileno_u.c + newlib/libc/stdio/fputc_u.c + newlib/libc/stdio/fputs_u.c + newlib/libc/stdio/fputwc_u.c + newlib/libc/stdio/fputws_u.c + newlib/libc/stdio/fread_u.c + newlib/libc/stdio/fsetlocking.c + newlib/libc/stdio/fwrite_u.c + newlib/libc/stdio/getwc_u.c + newlib/libc/stdio/getwchar_u.c + newlib/libc/stdio/putwc_u.c + newlib/libc/stdio/putwchar_u.c +Copyright: 2014 Red Hat, Inc. +License: BSD2-1 + +Files: newlib/libc/stdio/fgetwc.c + newlib/libc/stdio/fgetws.c + newlib/libc/stdio/fputwc.c + newlib/libc/stdio/fputws.c + newlib/libc/stdio/fwide.c + newlib/libc/stdio/ungetwc.c +Copyright: 2002-2004 Tim J. Robbins. +License: BSD2-1 + +Files: newlib/libc/stdio/getwc.c + newlib/libc/stdio/getwchar.c + newlib/libc/stdio/putwc.c + newlib/libc/stdio/putwchar.c + newlib/libc/stdlib/wcstod.c +Copyright: 2002 Tim J. Robbins. +License: BSD2-1 + +Files: newlib/libc/stdlib/arc4random.h +Copyright: 2016 embedded brains GmbH +License: BSD2-1 + +Files: newlib/libc/stdlib/imaxabs.c + newlib/libc/stdlib/imaxdiv.c + newlib/libc/stdlib/llabs.c + newlib/libc/stdlib/lldiv.c +Copyright: 2001 Mike Barcroft +License: BSD2-1 + +Files: newlib/libc/stdlib/quick_exit.c +Copyright: 2011 David Chisnall + 2015 embedded brains GmbH +License: BSD2-1 + +Files: newlib/libc/stdlib/reallocf.c +Copyright: 1998, M. Warner Losh +License: BSD2-1 + +Files: newlib/libc/stdlib/rpmatch.c +Copyright: 2004-2005 Tim J. Robbins. +License: BSD2-1 + +Files: newlib/libc/string/ffsl.c + newlib/libc/string/ffsll.c + newlib/libc/string/fls.c + newlib/libc/string/flsl.c + newlib/libc/string/flsll.c + newlib/libm/machine/arm/s_sqrt.c + newlib/libm/machine/arm/sf_sqrt.c +Copyright: 2017 embedded brains GmbH +License: BSD2-1 + +Files: newlib/libc/string/wcscat.c + newlib/libc/string/wcschr.c + newlib/libc/string/wcscpy.c + newlib/libc/string/wcscspn.c + newlib/libc/string/wcslen.c + newlib/libc/string/wcsncat.c + newlib/libc/string/wcsncpy.c + newlib/libc/string/wcspbrk.c + newlib/libc/string/wcsrchr.c + newlib/libc/string/wcsspn.c + newlib/libc/string/wcsstr.c + newlib/libc/string/wmemchr.c + newlib/libc/string/wmemcmp.c + newlib/libc/string/wmemcpy.c + newlib/libc/string/wmemmove.c + newlib/libc/string/wmemset.c +Copyright: 1999 Citrus Project, +License: BSD2-1 + +Files: newlib/libm/common/fma_inc.h +Copyright: 2005-2011 David Schultz +License: BSD2-1 + +Files: newlib/libm/complex/csqrtl.c +Copyright: 2007-2008 David Schultz +License: BSD2-1 + +Files: newlib/libm/ld/common/e_remainderl.c + newlib/libm/ld/common/s_rintl.c + newlib/libm/ld/ld128/invtrig.c + newlib/libm/ld/ld128/invtrig.h + newlib/libm/ld/ld80/invtrig.c + newlib/libm/ld/ld80/invtrig.h +Copyright: 2008 David Schultz +License: BSD2-1 + +Files: newlib/libm/ld/common/s_fdiml.c + newlib/libm/ld/common/s_finitel.c + newlib/libm/ld/common/s_fmaxl.c + newlib/libm/ld/common/s_fminl.c + newlib/libm/ld/common/s_isinfl.c + newlib/libm/ld/common/s_isnanl.c + newlib/libm/ld/common/s_scalbl.c + newlib/libm/ld/common/s_scalbln.c + newlib/libm/ld/common/s_signbitl.c +Copyright: 2004 David Schultz +License: BSD2-1 + +Files: newlib/libm/ld/common/s_lrintl.c + newlib/libm/ld/common/s_lround.c +Copyright: 2005 David Schultz +License: BSD2-1 + +Files: newlib/libm/ld/ld128/s_exp2l.c + newlib/libm/ld/ld80/s_exp2l.c +Copyright: 2005-2008 David Schultz +License: BSD2-1 + +Files: newlib/testsuite/newlib.iconv/iconv.exp + newlib/testsuite/newlib.iconv/iconvjp.c + newlib/testsuite/newlib.iconv/iconvnm.c + newlib/testsuite/newlib.iconv/iconvru.c +Copyright: 2003, Artem B. Bityuckiy, SoftMine Corporation. Rights transferred to Franklin Electronic Publishers. +License: BSD2-1 + +Files: test/t_fmemopen.c +Copyright: 2010 Takehiko NOZAKI, +License: BSD2-1 + +Files: newlib/libc/iconv/ces/table-pcs.c +Copyright: 2003-2004, Artem B. Bityuckiy +License: BSD2-2 + +Files: newlib/libc/include/machine/fenv.h +Copyright: 2019 Joel Sherrill +License: BSD2-3 + +Files: newlib/libm/fenv/fe_dfl_env.c +Copyright: 2019 Joel Sherrill +License: BSD2-5 + +Files: newlib/libc/machine/pru/setjmp.s + newlib/libm/machine/pru/fpclassify.c + newlib/libm/machine/pru/fpclassifyf.c + newlib/libm/machine/pru/isfinite.c + newlib/libm/machine/pru/isfinitef.c + newlib/libm/machine/pru/isinf.c + newlib/libm/machine/pru/isinff.c + newlib/libm/machine/pru/isnan.c + newlib/libm/machine/pru/isnanf.c + newlib/libm/machine/pru/isnormal.c + newlib/libm/machine/pru/isnormalf.c +Copyright: 2018-2019 Dimitar Dimitrov +License: BSD2-5 + +Files: newlib/libc/locale/nl_langinfo.3 +Copyright: 2001 Alexey Zelkin +License: BSD2-6 + +Files: newlib/libc/locale/setlocale.h +Copyright: 1997 Andrey A. Chernov, Moscow, Russia. +License: BSD2-7 + +Files: newlib/libc/posix/collcmp.c +Copyright: 1996 Andrey A. Chernov, Moscow, Russia. +License: BSD2-7 + +Files: newlib/libc/machine/or1k/setjmp.S +Copyright: 2014, Hesham ALMatary +License: BSD2-8 + +Files: newlib/libc/machine/sparc/machine/fenv-fp.h +Copyright: 2004-2005 David Schultz +License: BSD2-9 + +Files: newlib/libc/machine/xtensa/machine/fenv-fp.h + newlib/libc/machine/xtensa/machine/fenv.h + newlib/libc/sys/xtensa/include/fenv.h +Copyright: 2011 Tensilica Inc. +License: BSD2-10 + +Files: newlib/libc/posix/collate.h +Copyright: 1995 Alex Tatmanjants at Electronni Visti IA, Kiev, Ukraine. +License: BSD2-11 + +Files: newlib/libc/signal/sig2str.c +Copyright: 2021 Matthew Joyce +License: BSD2-12 + +Files: newlib/libc/sys/xtensa/clibrary_init.c +Copyright: 2003-2006 Tensilica Inc. +License: BSD2-13 + +Files: newlib/libc/sys/xtensa/sys/file.h +Copyright: 2005-2006 Tensilica Inc. +License: BSD2-13 + +Files: newlib/libm/ld/common/e_sqrtl.c + newlib/libm/ld/common/s_cosl.c + newlib/libm/ld/common/s_sinl.c + newlib/libm/ld/common/s_tanl.c +Copyright: 2007 Steven G. Kargl +License: BSD2-14 + +Files: newlib/libm/ld/common/s_roundl.c +Copyright: 2003, Steven G. Kargl +License: BSD2-14 + +Files: newlib/libm/ld/ld128/s_nanl.c + newlib/libm/ld/ld80/s_nanl.c +Copyright: 2007 David Schultz +License: BSD2-15 + +Files: CMakeLists.txt + cmake/picolibc.cmake + newlib/CMakeLists.txt + newlib/libc/CMakeLists.txt + newlib/libc/argz/CMakeLists.txt + newlib/libc/ctype/CMakeLists.txt + newlib/libc/errno/CMakeLists.txt + newlib/libc/iconv/CMakeLists.txt + newlib/libc/iconv/ccs/CMakeLists.txt + newlib/libc/iconv/ccs/iconv_data/CMakeLists.txt + newlib/libc/iconv/ces/CMakeLists.txt + newlib/libc/iconv/lib/CMakeLists.txt + newlib/libc/include/CMakeLists.txt + newlib/libc/include/arpa/CMakeLists.txt + newlib/libc/include/byteswap.h + newlib/libc/include/machine/CMakeLists.txt + newlib/libc/include/rpc/CMakeLists.txt + newlib/libc/include/rpc/meson.build + newlib/libc/include/ssp/CMakeLists.txt + newlib/libc/include/sys/CMakeLists.txt + newlib/libc/locale/CMakeLists.txt + newlib/libc/machine/CMakeLists.txt + newlib/libc/machine/aarch64/CMakeLists.txt + newlib/libc/machine/aarch64/machine/CMakeLists.txt + newlib/libc/machine/aarch64/machine/math.h + newlib/libc/machine/aarch64/machine/meson.build + newlib/libc/machine/arc/CMakeLists.txt + newlib/libc/machine/arc/meson.build + newlib/libc/machine/arc64/CMakeLists.txt + newlib/libc/machine/arc64/meson.build + newlib/libc/machine/arm/CMakeLists.txt + newlib/libc/machine/arm/machine/CMakeLists.txt + newlib/libc/machine/avr/meson.build + newlib/libc/machine/m68k/machine/CMakeLists.txt + newlib/libc/machine/mips/CMakeLists.txt + newlib/libc/machine/mips/machine/CMakeLists.txt + newlib/libc/machine/mips/machine/meson.build + newlib/libc/machine/mips/meson.build + newlib/libc/machine/msp430/meson.build + newlib/libc/machine/nios2/CMakeLists.txt + newlib/libc/machine/nios2/meson.build + newlib/libc/machine/powerpc/CMakeLists.txt + newlib/libc/machine/powerpc/machine/CMakeLists.txt + newlib/libc/machine/powerpc/machine/meson.build + newlib/libc/machine/riscv/CMakeLists.txt + newlib/libc/machine/riscv/machine/CMakeLists.txt + newlib/libc/machine/sparc/CMakeLists.txt + newlib/libc/machine/sparc/machine/CMakeLists.txt + newlib/libc/machine/sparc/machine/meson.build + newlib/libc/machine/sparc/meson.build + newlib/libc/machine/x86/CMakeLists.txt + newlib/libc/machine/x86/machine/CMakeLists.txt + newlib/libc/machine/xtensa/CMakeLists.txt + newlib/libc/machine/xtensa/machine/CMakeLists.txt + newlib/libc/misc/CMakeLists.txt + newlib/libc/misc/ubsan.c + newlib/libc/picolib/CMakeLists.txt + newlib/libc/picolib/machine/CMakeLists.txt + newlib/libc/picolib/machine/aarch64/CMakeLists.txt + newlib/libc/picolib/machine/arc/CMakeLists.txt + newlib/libc/picolib/machine/arc/tls.c + newlib/libc/picolib/machine/arc64/CMakeLists.txt + newlib/libc/picolib/machine/arm/CMakeLists.txt + newlib/libc/picolib/machine/mips/tls.c + newlib/libc/picolib/machine/msp430/CMakeLists.txt + newlib/libc/picolib/machine/riscv/CMakeLists.txt + newlib/libc/picolib/machine/sparc/CMakeLists.txt + newlib/libc/picolib/machine/xtensa/CMakeLists.txt + newlib/libc/picolib/machine/xtensa/tls.c + newlib/libc/posix/CMakeLists.txt + newlib/libc/search/CMakeLists.txt + newlib/libc/signal/CMakeLists.txt + newlib/libc/ssp/CMakeLists.txt + newlib/libc/stdlib/CMakeLists.txt + newlib/libc/string/CMakeLists.txt + newlib/libc/time/CMakeLists.txt + newlib/libc/tinystdio/CMakeLists.txt + newlib/libc/tinystdio/ecvt_r.c + newlib/libc/tinystdio/ecvtf_r.c + newlib/libc/tinystdio/ecvtl_r.c + newlib/libc/tinystdio/fcvt_r.c + newlib/libc/tinystdio/fcvtf_r.c + newlib/libc/tinystdio/fcvtl_r.c + newlib/libc/tinystdio/fmemopen.c + newlib/libc/tinystdio/getline.c + newlib/libc/tinystdio/remove.c + newlib/libc/tinystdio/stdio-bufio.h + newlib/libc/tinystdio/strtol_l.c + newlib/libc/tinystdio/strtoll_l.c + newlib/libc/tinystdio/strtoul_l.c + newlib/libc/tinystdio/strtoull_l.c + newlib/libc/tinystdio/tmpfile.c + newlib/libc/tinystdio/tmpnam.c + newlib/libc/xdr/CMakeLists.txt + newlib/libm/CMakeLists.txt + newlib/libm/common/CMakeLists.txt + newlib/libm/common/s_iseqsig.c + newlib/libm/common/sf_iseqsig.c + newlib/libm/common/sl_iseqsig.c + newlib/libm/fenv/CMakeLists.txt + newlib/libm/fenv/fegetmode.c + newlib/libm/fenv/fesetmode.c + newlib/libm/ld/CMakeLists.txt + newlib/libm/ld/common/meson.build + newlib/libm/ld/common/s_issignalingl.c + newlib/libm/ld/common/s_significandl.c + newlib/libm/ld/e_acoshl.c + newlib/libm/ld/e_acosl.c + newlib/libm/ld/e_asinl.c + newlib/libm/ld/e_atan2l.c + newlib/libm/ld/e_atanhl.c + newlib/libm/ld/e_coshl.c + newlib/libm/ld/e_expl.c + newlib/libm/ld/e_fmodl.c + newlib/libm/ld/e_hypotl.c + newlib/libm/ld/e_lgammal.c + newlib/libm/ld/e_lgammal_r.c + newlib/libm/ld/e_log10l.c + newlib/libm/ld/e_log2l.c + newlib/libm/ld/e_logl.c + newlib/libm/ld/e_powl.c + newlib/libm/ld/e_remainderl.c + newlib/libm/ld/e_sinhl.c + newlib/libm/ld/e_sqrtl.c + newlib/libm/ld/e_tgammal.c + newlib/libm/ld/invtrig.c + newlib/libm/ld/k_cosl.c + newlib/libm/ld/k_rem_pio2.c + newlib/libm/ld/k_sinl.c + newlib/libm/ld/k_tanl.c + newlib/libm/ld/ldd/s_ceill.c + newlib/libm/ld/ldd/s_floorl.c + newlib/libm/ld/ldd/s_fpclassifyl.c + newlib/libm/ld/ldd/s_nanl.c + newlib/libm/ld/ldd/s_nearbyintl.c + newlib/libm/ld/ldd/s_truncl.c + newlib/libm/ld/math_ld.h + newlib/libm/ld/meson.build + newlib/libm/ld/polevll.c + newlib/libm/ld/s_asinhl.c + newlib/libm/ld/s_atanl.c + newlib/libm/ld/s_cbrtl.c + newlib/libm/ld/s_ceill.c + newlib/libm/ld/s_copysignl.c + newlib/libm/ld/s_cosl.c + newlib/libm/ld/s_erfl.c + newlib/libm/ld/s_exp2l.c + newlib/libm/ld/s_expm1l.c + newlib/libm/ld/s_fabsl.c + newlib/libm/ld/s_fdiml.c + newlib/libm/ld/s_finitel.c + newlib/libm/ld/s_floorl.c + newlib/libm/ld/s_fmal.c + newlib/libm/ld/s_fmaxl.c + newlib/libm/ld/s_fminl.c + newlib/libm/ld/s_fpclassifyl.c + newlib/libm/ld/s_frexpl.c + newlib/libm/ld/s_getpayloadl.c + newlib/libm/ld/s_ilogbl.c + newlib/libm/ld/s_isnanl.c + newlib/libm/ld/s_issignalingl.c + newlib/libm/ld/s_llrintl.c + newlib/libm/ld/s_llroundl.c + newlib/libm/ld/s_log1pl.c + newlib/libm/ld/s_logbl.c + newlib/libm/ld/s_lrintl.c + newlib/libm/ld/s_lroundl.c + newlib/libm/ld/s_modfl.c + newlib/libm/ld/s_nanl.c + newlib/libm/ld/s_nextafterl.c + newlib/libm/ld/s_nexttoward.c + newlib/libm/ld/s_nexttowardf.c + newlib/libm/ld/s_remquol.c + newlib/libm/ld/s_rintl.c + newlib/libm/ld/s_roundl.c + newlib/libm/ld/s_scalbl.c + newlib/libm/ld/s_scalbln.c + newlib/libm/ld/s_scalbnl.c + newlib/libm/ld/s_significandl.c + newlib/libm/ld/s_sincosl.c + newlib/libm/ld/s_sinl.c + newlib/libm/ld/s_tanhl.c + newlib/libm/ld/s_tanl.c + newlib/libm/ld/s_truncl.c + newlib/libm/machine/CMakeLists.txt + newlib/libm/machine/aarch64/CMakeLists.txt + newlib/libm/machine/arm/CMakeLists.txt + newlib/libm/machine/arm/s_fabs.c + newlib/libm/machine/arm/sf_fabs.c + newlib/libm/machine/powerpc/CMakeLists.txt + newlib/libm/machine/powerpc/complex128.c + newlib/libm/machine/riscv/CMakeLists.txt + newlib/libm/machine/x86/CMakeLists.txt + newlib/libm/math/CMakeLists.txt + newlib/testsuite/newlib.time/meson.build + picocrt/CMakeLists.txt + picocrt/machine/arc/CMakeLists.txt + picocrt/machine/arc64/CMakeLists.txt + picocrt/machine/arm/CMakeLists.txt + picocrt/machine/powerpc/crt0.S + picocrt/machine/powerpc/powerpc_crt.h + picocrt/machine/sh/CMakeLists.txt + semihost/CMakeLists.txt + semihost/fake/fake_exit.c + semihost/fake/fake_io.c + semihost/fake/fake_kill.c + semihost/fake/fake_stub.c + semihost/fake/meson.build + semihost/getentropy.c + semihost/machine/arc/CMakeLists.txt + semihost/machine/arc64/CMakeLists.txt + semihost/machine/arm/CMakeLists.txt + semihost/machine/powerpc/opal.h + semihost/machine/powerpc/opal_call.S + semihost/machine/powerpc/opal_cec_power_down.c + semihost/machine/powerpc/opal_console_write.c + semihost/machine/sh/sh_io.c + test/CMakeLists.txt + test/lock-valid.c + test/long_double.c + test/test-efcvt.c + test/test-except.c + test/test-fopen.c + test/test-mktemp.c + test/test-strtod.c + zephyr/zephyr.cmake +Copyright: 2022 Keith Packard +License: BSD3-1 + +Files: cmake/TC-arm-none-eabi.ld + cmake/TC-microbit.ld + hello-world/hello-worldpp.cpp + newlib/libc/errno/errno.c + newlib/libc/iconv/ccs/iconv_data/meson.build + newlib/libc/include/machine/math.h + newlib/libc/include/ssp/meson.build + newlib/libc/include/sys/auxv.h + newlib/libc/machine/arm/machine/meson.build + newlib/libc/machine/csky/meson.build + newlib/libc/machine/riscv/machine/math.h + newlib/libc/machine/riscv/machine/meson.build + newlib/libc/machine/x86/machine/meson.build + newlib/libc/picolib/getauxval.c + newlib/libc/picolib/machine/aarch64/tls.c + newlib/libc/picolib/machine/arm/arm_tls.h + newlib/libc/posix/meson.build + newlib/libc/stdio/nano-svfprintf.c + newlib/libc/stdio/nano-svfscanf.c + newlib/libc/stdio64/meson.build + newlib/libc/tinystdio/asprintf.c + newlib/libc/tinystdio/compare_exchange.c + newlib/libc/tinystdio/ecvt.c + newlib/libc/tinystdio/ecvtf.c + newlib/libc/tinystdio/ecvtl.c + newlib/libc/tinystdio/exchange.c + newlib/libc/tinystdio/fcvt.c + newlib/libc/tinystdio/fcvtf.c + newlib/libc/tinystdio/fcvtl.c + newlib/libc/tinystdio/fflush.c + newlib/libc/tinystdio/filestrget.c + newlib/libc/tinystdio/filestrput.c + newlib/libc/tinystdio/filestrputalloc.c + newlib/libc/tinystdio/filewstrget.c + newlib/libc/tinystdio/gcvt.c + newlib/libc/tinystdio/gcvtf.c + newlib/libc/tinystdio/gcvtl.c + newlib/libc/tinystdio/perror.c + newlib/libc/tinystdio/setvbuf.c + newlib/libc/tinystdio/strtod_l.c + newlib/libc/tinystdio/strtof_l.c + newlib/libc/tinystdio/strtold_l.c + newlib/libc/tinystdio/vasprintf.c + newlib/libm/machine/arm/s_fma_arm.c + newlib/libm/machine/arm/sf_fma_arm.c + newlib/libm/machine/riscv/s_fma.c + newlib/libm/machine/riscv/s_sqrt.c + newlib/libm/machine/riscv/sf_fma.c + newlib/libm/machine/riscv/sf_sqrt.c + newlib/libm/math/s_lgamma.c + scripts/run-aarch64 + scripts/run-arc + scripts/run-i386 + scripts/run-m68k + scripts/run-mips + scripts/run-msp430 + scripts/run-nios2 + scripts/run-sh + scripts/run-sparc + scripts/run-x86 + scripts/run-x86_64 + semihost/fstat.c + semihost/isatty.c + semihost/mapstdio.c + semihost/sys_iserror.c + semihost/sys_system.c + semihost/sys_tickfreq.c + test/fenv.c + test/ffs.c + test/malloc.c + test/malloc_stress.c + test/math_errhandling.c + test/math_errhandling_tests.c + test/regex.c + test/semihost/meson.build + test/semihost/semihost-argv.c + test/semihost/semihost-clock.c + test/semihost/semihost-close.c + test/semihost/semihost-elapsed.c + test/semihost/semihost-errno.c + test/semihost/semihost-exit-extended-failure.c + test/semihost/semihost-exit-extended.c + test/semihost/semihost-exit-failure.c + test/semihost/semihost-exit.c + test/semihost/semihost-flen.c + test/semihost/semihost-get-cmdline.c + test/semihost/semihost-gettimeofday.c + test/semihost/semihost-heapinfo.c + test/semihost/semihost-iserror.c + test/semihost/semihost-istty.c + test/semihost/semihost-no-argv.c + test/semihost/semihost-open.c + test/semihost/semihost-read.c + test/semihost/semihost-readc.c + test/semihost/semihost-remove.c + test/semihost/semihost-rename.c + test/semihost/semihost-seek.c + test/semihost/semihost-system-failure.c + test/semihost/semihost-system.c + test/semihost/semihost-tickfreq.c + test/semihost/semihost-time.c + test/semihost/semihost-times.c + test/semihost/semihost-tmpnam.c + test/semihost/semihost-tmpname.c + test/semihost/semihost-write.c + test/semihost/semihost-write0.c + test/semihost/semihost-writec.c + test/setjmp.c + test/stack-smash.c + test/tls.c + test/try-ilp32-sub.c + test/try-ilp32.c + test/try-ilp32.h +Copyright: 2020 Keith Packard +License: BSD3-1 + +Files: doc/printf-sample/Makefile + doc/printf-sample/printf.c + dummyhost/exit.c + newlib/libc/machine/arm/machine/fenv-fp.h + newlib/libc/machine/m68k/CMakeLists.txt + newlib/libc/machine/m68k/machine/fenv-fp.h + newlib/libc/machine/m68k/machine/fenv.h + newlib/libc/tinystdio/dtox_engine.c + newlib/libc/tinystdio/ftox_engine.c + newlib/libc/tinystdio/getdelim.c + newlib/libc/tinystdio/ldtox_engine.c + newlib/libc/tinystdio/swprintf.c + newlib/libc/tinystdio/vswprintf.c + newlib/testsuite/newlib.time/asctime.c + picocrt/machine/m68k/crt0.c + picocrt/machine/mips/crt0.c + picocrt/machine/msp430/crt0.c + picocrt/machine/nios2/crt0.c + picocrt/machine/sparc/crt0.c + semihost/machine/arc/arc_close.c + semihost/machine/arc/arc_errno.c + semihost/machine/arc/arc_exit.c + semihost/machine/arc/arc_fstat.c + semihost/machine/arc/arc_lseek.c + semihost/machine/arc/arc_open.c + semihost/machine/arc/arc_read.c + semihost/machine/arc/arc_semihost.h + semihost/machine/arc/arc_stat.c + semihost/machine/arc/arc_unlink.c + semihost/machine/arc/arc_write.c + semihost/machine/m68k/m68k_close.c + semihost/machine/m68k/m68k_exit.c + semihost/machine/m68k/m68k_fstat.c + semihost/machine/m68k/m68k_lseek.c + semihost/machine/m68k/m68k_open.c + semihost/machine/m68k/m68k_read.c + semihost/machine/m68k/m68k_semihost.S + semihost/machine/m68k/m68k_semihost.h + semihost/machine/m68k/m68k_stat.c + semihost/machine/m68k/m68k_unlink.c + semihost/machine/m68k/m68k_write.c + semihost/machine/mips/mips-semihost.h + semihost/machine/mips/mips_iob.c + semihost/machine/msp430/msp430-iob.c + semihost/machine/msp430/msp430-semihost.h + semihost/machine/nios2/nios2_close.c + semihost/machine/nios2/nios2_exit.c + semihost/machine/nios2/nios2_fstat.c + semihost/machine/nios2/nios2_lseek.c + semihost/machine/nios2/nios2_open.c + semihost/machine/nios2/nios2_read.c + semihost/machine/nios2/nios2_semihost.c + semihost/machine/nios2/nios2_semihost.h + semihost/machine/nios2/nios2_stat.c + semihost/machine/nios2/nios2_unlink.c + semihost/machine/nios2/nios2_write.c + semihost/machine/sh/sh_semihost.h + semihost/machine/sparc/sparc-semihost.h + semihost/machine/sparc/sparc_iob.c + test/test-fma.c + test/test-fread-fwrite.c + test/test-gets.c + test/test-long-long.c + test/test-raise.c + test/test-ubsan.c +Copyright: 2023 Keith Packard +License: BSD3-1 + +Files: dummyhost/iob.c + dummyhost/meson.build + hello-world/Makefile + hello-world/hello-world.c + hello-world/printf.c + hello-world/run-aarch64 + hello-world/run-aarch64++ + hello-world/run-arm + hello-world/run-riscv + hello-world/run-riscv++ + hello-world/*.ld + meson_options.txt + newlib/libc/argz/meson.build + newlib/libc/ctype/meson.build + newlib/libc/errno/meson.build + newlib/libc/iconv/ccs/meson.build + newlib/libc/iconv/ces/meson.build + newlib/libc/iconv/lib/meson.build + newlib/libc/iconv/meson.build + newlib/libc/include/arpa/meson.build + newlib/libc/include/endian.h + newlib/libc/include/machine/meson.build + newlib/libc/include/meson.build + newlib/libc/include/newlib.h + newlib/libc/include/picotls.h + newlib/libc/include/sys/meson.build + newlib/libc/locale/meson.build + newlib/libc/machine/arm/meson.build + newlib/libc/machine/riscv/meson.build + newlib/libc/machine/x86/meson.build + newlib/libc/meson.build + newlib/libc/misc/meson.build + newlib/libc/picolib/dso_handle.c + newlib/libc/picolib/inittls.c + newlib/libc/picolib/machine/aarch64/interrupt.c + newlib/libc/picolib/machine/arm/interrupt.c + newlib/libc/picolib/machine/riscv/tls.c + newlib/libc/picolib/machine/sparc/interrupt.S + newlib/libc/picolib/machine/sparc/tls.c + newlib/libc/picolib/meson.build + newlib/libc/picolib/picosbrk.c + newlib/libc/reent/meson.build + newlib/libc/search/meson.build + newlib/libc/signal/meson.build + newlib/libc/ssp/meson.build + newlib/libc/stdio/meson.build + newlib/libc/stdio/svfiprintf.c + newlib/libc/stdio/svfiscanf.c + newlib/libc/stdio/svfiwprintf.c + newlib/libc/stdio/svfiwscanf.c + newlib/libc/stdio/svfprintf.c + newlib/libc/stdio/svfscanf.c + newlib/libc/stdio/svfwprintf.c + newlib/libc/stdio/svfwscanf.c + newlib/libc/stdio/sys/meson.build + newlib/libc/stdio/vfiprintf.c + newlib/libc/stdio/vfiscanf.c + newlib/libc/stdio/vfiwprintf.c + newlib/libc/stdio/vfiwscanf.c + newlib/libc/stdlib/malloc-calloc.c + newlib/libc/stdlib/malloc-cfree.c + newlib/libc/stdlib/malloc-free.c + newlib/libc/stdlib/malloc-mallinfo.c + newlib/libc/stdlib/malloc-malloc.c + newlib/libc/stdlib/malloc-malloc_stats.c + newlib/libc/stdlib/malloc-malloc_usable_size.c + newlib/libc/stdlib/malloc-mallopt.c + newlib/libc/stdlib/malloc-memalign.c + newlib/libc/stdlib/malloc-posix_memalign.c + newlib/libc/stdlib/malloc-pvalloc.c + newlib/libc/stdlib/malloc-realloc.c + newlib/libc/stdlib/malloc-valloc.c + newlib/libc/stdlib/meson.build + newlib/libc/string/meson.build + newlib/libc/time/meson.build + newlib/libc/tinystdio/bufio.c + newlib/libc/tinystdio/fdopen.c + newlib/libc/tinystdio/fileno.c + newlib/libc/tinystdio/fopen.c + newlib/libc/tinystdio/freopen.c + newlib/libc/tinystdio/fseek.c + newlib/libc/tinystdio/fseeko.c + newlib/libc/tinystdio/ftell.c + newlib/libc/tinystdio/ftello.c + newlib/libc/tinystdio/fwide.c + newlib/libc/tinystdio/meson.build + newlib/libc/tinystdio/posixiob_stderr.c + newlib/libc/tinystdio/posixiob_stdin.c + newlib/libc/tinystdio/posixiob_stdout.c + newlib/libc/tinystdio/setbuf.c + newlib/libc/tinystdio/setbuffer.c + newlib/libc/tinystdio/setlinebuf.c + newlib/libc/xdr/meson.build + newlib/libm/common/meson.build + newlib/libm/common/s_issignaling.c + newlib/libm/common/sf_issignaling.c + newlib/libm/common/signgam.c + newlib/libm/common/sl_issignaling.c + newlib/libm/complex/meson.build + newlib/libm/fenv/meson.build + newlib/libm/machine/arm/meson.build + newlib/libm/machine/riscv/meson.build + newlib/libm/machine/x86/meson.build + newlib/libm/math/meson.build + newlib/libm/meson.build + newlib/libm/test/copysign_vec.c + newlib/libm/test/copysignf_vec.c + newlib/libm/test/issignaling_vec.c + newlib/libm/test/meson.build + newlib/libm/test/modf_vec.c + newlib/libm/test/modff_vec.c + newlib/libm/test/pow_vec.c + newlib/libm/test/powf_vec.c + newlib/meson.build + newlib/testsuite/meson.build + newlib/testsuite/newlib.iconv/meson.build + newlib/testsuite/newlib.locale/meson.build + newlib/testsuite/newlib.search/meson.build + newlib/testsuite/newlib.stdio/meson.build + newlib/testsuite/newlib.stdlib/meson.build + newlib/testsuite/newlib.string/meson.build + newlib/testsuite/newlib.wctype/meson.build + newlib/testsuite/stdio-bits.c + picocrt/crt0.h + picocrt/machine/aarch64/crt0.c + picocrt/machine/arc/crt0.c + picocrt/machine/arm/crt0.c + picocrt/machine/sh/crt0.c + picocrt/meson.build + picocrt/shared/crt0.c + scripts/do-aarch64-configure + scripts/do-aarch64-zephyr-configure + scripts/do-aarch64-zephyr-elf-configure + scripts/do-arc-configure + scripts/do-arc64-configure + scripts/do-arm-configure + scripts/do-avr-configure + scripts/do-clang-aarch64-configure + scripts/do-clang-arm-configure + scripts/do-clang-msp430-configure + scripts/do-clang-riscv-configure + scripts/do-clang-rv32imafdc-configure + scripts/do-clang-thumb-configure + scripts/do-clang-thumbv6m-configure + scripts/do-clang-thumbv7-a-configure + scripts/do-clang-thumbv7e+dp-configure + scripts/do-clang-thumbv7e+fp-configure + scripts/do-clang-thumbv7m-configure + scripts/do-configure + scripts/do-cortex-a9-configure + scripts/do-esp32-configure + scripts/do-freedom-tools-configure + scripts/do-i386-configure + scripts/do-lx106-configure + scripts/do-mips-configure + scripts/do-mips-zephyr-configure + scripts/do-mips64-configure + scripts/do-mipsel-configure + scripts/do-msp430-configure + scripts/do-msp430-unknown-elf-configure + scripts/do-native-configure + scripts/do-native-m32-configure + scripts/do-nios2-configure + scripts/do-riscv-configure + scripts/do-rv32imac-configure + scripts/do-sh-unknown-elf-configure + scripts/do-sparc-zephyr-configure + scripts/do-sparc64-configure + scripts/do-thumbv8_1m-configure + scripts/do-thumbv8m_main_fp-configure + scripts/do-x86-configure + scripts/do-x86_64-configure + scripts/do-x86_64-zephyr-configure + scripts/do-xtensa-espressif_esp32-configure + scripts/do-xtensa-espressif_esp32s2-configure + scripts/do-xtensa-intel_apl_adsp-configure + scripts/do-xtensa-intel_s1000-configure + scripts/do-xtensa-nxp_imx8m_adsp-configure + scripts/do-xtensa-nxp_imx_adsp-configure + scripts/do-xtensa-sample_controller-configure + scripts/do-zephyr-aarch64-configure + scripts/do-zephyr-arm-configure + scripts/do-zephyr-riscv-configure + scripts/run-arm + scripts/run-power9 + scripts/run-riscv + semihost/close.c + semihost/exit.c + semihost/iob.c + semihost/kill.c + semihost/lseek.c + semihost/lseek64.c + semihost/machine/aarch64/semihost-aarch64.S + semihost/machine/arm/semihost-arm.S + semihost/machine/riscv/semihost-riscv.S + semihost/meson.build + semihost/open.c + semihost/read.c + semihost/semihost-private.h + semihost/semihost.h + semihost/sys_clock.c + semihost/sys_close.c + semihost/sys_elapsed.c + semihost/sys_errno.c + semihost/sys_exit.c + semihost/sys_exit_extended.c + semihost/sys_feature.c + semihost/sys_flen.c + semihost/sys_get_cmdline.c + semihost/sys_getc.c + semihost/sys_heapinfo.c + semihost/sys_istty.c + semihost/sys_open.c + semihost/sys_putc.c + semihost/sys_read.c + semihost/sys_remove.c + semihost/sys_rename.c + semihost/sys_seek.c + semihost/sys_time.c + semihost/sys_tmpnam.c + semihost/sys_write.c + semihost/sys_write0.c + semihost/sysconf.c + semihost/times.c + semihost/unlink.c + semihost/write.c + test/libc-testsuite/meson.build + test/meson.build + test/posix-io.c + test/printf_scanf.c + test/rand.c + test/ungetc.c +Copyright: 2019 Keith Packard +License: BSD3-1 + +Files: meson.build +Copyright: 2019-2021 Keith Packard +License: BSD3-1 + +Files: newlib/empty.c + newlib/libc/machine/arm/memmove.c + newlib/libc/machine/xtensa/machine/meson.build + newlib/libc/picolib/machine/aarch64/meson.build + newlib/libc/picolib/machine/arc/meson.build + newlib/libc/picolib/machine/arc64/meson.build + newlib/libc/picolib/machine/arm/meson.build + newlib/libc/picolib/machine/mips/meson.build + newlib/libc/picolib/machine/msp430/meson.build + newlib/libc/picolib/machine/riscv/meson.build + newlib/libc/picolib/machine/sparc/meson.build + newlib/libc/picolib/machine/xtensa/meson.build + newlib/libc/stdlib/pico-atexit.c + newlib/libc/stdlib/pico-cxa-atexit.c + newlib/libc/stdlib/pico-exit.c + newlib/libc/stdlib/pico-onexit.c + newlib/libc/stdlib/pico-onexit.h + newlib/libc/tinystdio/atold_engine.c + newlib/libc/tinystdio/ldtoa_engine.c + newlib/libc/tinystdio/matchcaseprefix.c + newlib/libc/tinystdio/rewind.c + newlib/libc/tinystdio/strfromd.c + newlib/libc/tinystdio/strfromf.c + newlib/libc/tinystdio/strfroml.c + newlib/libm/common/exp10l.c + newlib/libm/common/math_inexact.c + newlib/libm/common/math_inexactf.c + newlib/libm/common/math_inexactl.c + newlib/libm/common/s_getpayload.c + newlib/libm/common/sf_getpayload.c + newlib/libm/ld/ld128/s_getpayloadl.c + newlib/libm/ld/ld80/s_getpayloadl.c + newlib/libm/machine/powerpc/meson.build + newlib/libm/test/scalb_vec.c + newlib/libm/test/scalbn_vec.c + picocrt/machine/aarch64/meson.build + picocrt/machine/arc/meson.build + picocrt/machine/arc64/meson.build + picocrt/machine/arm/meson.build + picocrt/machine/m68k/meson.build + picocrt/machine/mips/meson.build + picocrt/machine/msp430/meson.build + picocrt/machine/nios2/meson.build + picocrt/machine/powerpc/meson.build + picocrt/machine/riscv/meson.build + picocrt/machine/sh/meson.build + picocrt/machine/sparc/meson.build + picocrt/machine/x86/meson.build + scripts/do-power9-configure + scripts/do-power9-fp128-configure + scripts/do-powerpc64-configure + scripts/do-powerpc64le-configure + semihost/gettimeofday.c + semihost/machine/aarch64/meson.build + semihost/machine/arc/arc_stub.c + semihost/machine/arc/meson.build + semihost/machine/arc64/meson.build + semihost/machine/arm/meson.build + semihost/machine/m68k/m68k_stub.c + semihost/machine/m68k/meson.build + semihost/machine/mips/meson.build + semihost/machine/mips/mips_exit.c + semihost/machine/mips/mips_stub.c + semihost/machine/msp430/meson.build + semihost/machine/msp430/msp430-exit.c + semihost/machine/msp430/msp430-stub.c + semihost/machine/nios2/meson.build + semihost/machine/nios2/nios2_stub.c + semihost/machine/powerpc/meson.build + semihost/machine/powerpc/powerpc_exit.c + semihost/machine/powerpc/powerpc_io.c + semihost/machine/powerpc/powerpc_kill.c + semihost/machine/powerpc/powerpc_stub.c + semihost/machine/riscv/meson.build + semihost/machine/sh/meson.build + semihost/machine/sh/sh_exit.c + semihost/machine/sh/sh_stub.c + semihost/machine/sparc/meson.build + semihost/machine/sparc/sparc_exit.c + semihost/machine/sparc/sparc_stub.c + semihost/machine/x86/bios.S + semihost/machine/x86/e9_exit.c + semihost/machine/x86/e9_io.c + semihost/machine/x86/e9_kill.c + semihost/machine/x86/e9_stub.c + semihost/machine/x86/meson.build + test/atexit.c + test/constructor-skip.c + test/constructor.c + test/hosted-exit.c + test/libc-testsuite/testcase.h + test/math-funcs.c + test/on_exit.c + test/rounding-mode-sub.c + test/rounding-mode.c + test/rounding-mode.h + test/test-memset.c + test/test-put.c + test/test-strchr.c + test/timegm.c + test/timegm.h +Copyright: 2021 Keith Packard +License: BSD3-1 + +Files: newlib/libc/include/stdnoreturn.h + newlib/libc/include/sys/_initfini.h + newlib/libc/machine/m68k/machine/meson.build + newlib/libc/machine/sh/CMakeLists.txt + newlib/libc/machine/sh/machine/CMakeLists.txt + newlib/libc/machine/sh/machine/meson.build + newlib/libc/picolib/machine/m68k/interrupt.c + newlib/libc/picolib/machine/m68k/meson.build + newlib/libc/stdio/flockfile.c + newlib/libc/stdio/funlockfile.c + newlib/libc/tinystdio/atomic_load.c + newlib/libc/tinystdio/flockfile.c + newlib/libc/tinystdio/ftrylockfile.c + newlib/libc/tinystdio/funlockfile.c + newlib/libc/tinystdio/funopen.c + newlib/libm/fenv/fenv.c + scripts/validate-cdefs + test/test-cplusplus.cpp + test/test-ctype.c + test/test-funopen.c +Copyright: 2024 Keith Packard +License: BSD3-1 + +Files: newlib/libc/machine/aarch64/meson.build + newlib/libm/machine/aarch64/meson.build +Copyright: 2019 Keith Packard, + 2020 Anthony Anderson +License: BSD3-1 + +Files: newlib/libc/machine/arm/machine/math.h +Copyright: 2020 Keith Packard + 2017 embedded brains GmbH. + 2011, 2012 ARM Ltd. +License: BSD3-1 + +Files: newlib/libc/machine/m68k/meson.build + scripts/do-m68k-configure + scripts/do-m68k-unknown-elf-configure +Copyright: 2020 Thomas Daede +License: BSD3-1 + +Files: newlib/libc/machine/microblaze/CMakeLists.txt + newlib/libc/machine/microblaze/meson.build + scripts/do-microblazeel-configure +Copyright: 2023 Advanced Micro Devices, Inc. (AMD) + 2023 Alp Sayin +License: BSD3-1 + +Files: newlib/libc/machine/powerpc/meson.build +Copyright: 2019 Ash Logan, Keith Packard +License: BSD3-1 + +Files: newlib/libc/machine/sh/meson.build +Copyright: 2023 Adrian Siekierka +License: BSD3-1 + +Files: newlib/libc/machine/xtensa/meson.build +Copyright: 2019 Jonathan McDowell +License: BSD3-1 + +Files: newlib/libc/picolib/machine/arm/read_tp.S +Copyright: 2020 Keith Packard + 2024 Stephen Street +License: BSD3-1 + +Files: newlib/libc/picolib/machine/arm/tls.c +Copyright: 2019 Keith Packard + 2024 Stephen Street +License: BSD3-1 + +Files: newlib/libc/stdlib/local_s.h + newlib/libc/stdlib/set_constraint_handler_s.c + newlib/libc/string/memcpy_s.c + newlib/libc/string/memmove_s.c + newlib/libc/string/memset_s.c + newlib/libc/string/strcat_s.c + newlib/libc/string/strcpy_s.c + newlib/libc/string/strerror_s.c + newlib/libc/string/strerrorlen_s.c + newlib/libc/string/string_private.h + newlib/libc/string/strncat_s.c + newlib/libc/string/strncpy_s.c + newlib/libc/string/strnlen_s.c + newlib/libc/tinystdio/sprintf_s.c + test/test-fgetc.c + test/test-fgets-eof.c + test/test-memcpy_s.c + test/test-memmove_s.c + test/test-memset_s.c + test/test-sprintf_s.c + test/test-strcat_s.c + test/test-strcpy_s.c + test/test-strerror_s.c + test/test-strerrorlen_s.c + test/test-strncat_s.c + test/test-strncpy_s.c + test/test-strnlen_s.c +Copyright: 2024, Synopsys Inc. +License: BSD3-1 + +Files: newlib/libm/machine/riscv/s_copysign.c + newlib/libm/machine/riscv/s_fabs.c + newlib/libm/machine/riscv/s_finite.c + newlib/libm/machine/riscv/s_fmax.c + newlib/libm/machine/riscv/s_fmin.c + newlib/libm/machine/riscv/s_fpclassify.c + newlib/libm/machine/riscv/s_isinf.c + newlib/libm/machine/riscv/s_isnan.c + newlib/libm/machine/riscv/s_llrint.c + newlib/libm/machine/riscv/s_llround.c + newlib/libm/machine/riscv/s_lrint.c + newlib/libm/machine/riscv/s_lround.c + newlib/libm/machine/riscv/sf_copysign.c + newlib/libm/machine/riscv/sf_fabs.c + newlib/libm/machine/riscv/sf_finite.c + newlib/libm/machine/riscv/sf_fmax.c + newlib/libm/machine/riscv/sf_fmin.c + newlib/libm/machine/riscv/sf_fpclassify.c + newlib/libm/machine/riscv/sf_isinf.c + newlib/libm/machine/riscv/sf_isnan.c + newlib/libm/machine/riscv/sf_llrint.c + newlib/libm/machine/riscv/sf_llround.c + newlib/libm/machine/riscv/sf_lrint.c + newlib/libm/machine/riscv/sf_lround.c +Copyright: 2020 Kito Cheng +License: BSD3-1 + +Files: picocrt/machine/powerpc/cstart.c + picocrt/machine/riscv/crt0.c +Copyright: 2020 Sebastian Meyer +License: BSD3-1 + +Files: picocrt/machine/x86/crt0-32.S + picocrt/machine/x86/crt0-64.S +Copyright: 2021 Mike Haertel and Keith Packard +License: BSD3-1 + +Files: scripts/do-freedom-tools-package +Copyright: 2020 SiFive Inc. +License: BSD3-1 + +Files: test/test-sprintf-percent-n.c + test/test-vfscanf-percent-a.c + test/test-wchar.c +Copyright: 2024, Synopsys Inc. + 2024, Solid Sands B.V. +License: BSD3-1 + +Files: test/test-tmpnam.c +Copyright: 2024 Mostafa Salmaan +License: BSD3-1 + +Files: test/test-ungetc-ftell.c +Copyright: 2024 Hana Ashour +License: BSD3-1 + +Files: test/time-tests.c +Copyright: 2021 R. Diez +License: BSD3-1 + +Files: newlib/libc/ctype/ctype_.c + newlib/libc/ctype/isalnum.c + newlib/libc/ctype/isalpha.c + newlib/libc/ctype/isascii.c + newlib/libc/ctype/iscntrl.c + newlib/libc/ctype/isdigit.c + newlib/libc/ctype/isgraph.c + newlib/libc/ctype/islower.c + newlib/libc/ctype/isprint.c + newlib/libc/ctype/ispunct.c + newlib/libc/ctype/isspace.c + newlib/libc/ctype/isupper.c + newlib/libc/ctype/isxdigit.c + newlib/libc/ctype/toascii.c + newlib/libc/ctype/tolower.c + newlib/libc/ctype/toupper.c + newlib/libc/include/pwd.h +Copyright: 1989 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/dirent.h + newlib/libc/string/wcsncmp.c +Copyright: 1989, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/ndbm.h + newlib/libc/include/search.h + newlib/libc/search/hash_func.c + newlib/libc/search/ndbm.c + newlib/libc/stdlib/getsubopt.c + newlib/libc/string/wcscmp.c +Copyright: 1990, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/sys/_select.h + newlib/libc/include/sys/_timespec.h + newlib/libc/include/sys/_types.h + newlib/libc/include/sys/_wait.h + newlib/libc/include/sys/config.h + newlib/libc/include/sys/dirent.h + newlib/libc/include/sys/errno.h + newlib/libc/include/sys/fcntl.h + newlib/libc/include/sys/file.h + newlib/libc/include/sys/param.h + newlib/libc/include/sys/resource.h + newlib/libc/include/sys/select.h + newlib/libc/include/sys/stat.h + newlib/libc/include/sys/time.h + newlib/libc/include/sys/timeb.h + newlib/libc/include/sys/times.h + newlib/libc/include/sys/types.h + newlib/libc/include/sys/unistd.h + newlib/libc/include/sys/utime.h + newlib/libc/include/sys/wait.h +Copyright: 1982, 1986, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/sys/cdefs.h + newlib/libc/include/sys/queue.h +Copyright: 1991, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/sys/syslimits.h + newlib/libc/stdlib/atoll.c +Copyright: 1988, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/include/unctrl.h + newlib/libc/misc/ffs.c + newlib/libc/misc/misc.tex + newlib/libc/misc/unctrl.c +Copyright: 1981, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/posix/cclass.h + newlib/libc/posix/cname.h + newlib/libc/posix/regex2.h + newlib/libc/posix/utils.h +Copyright: 1992, 1993, 1994 Henry Spencer. + 1992, 1993, 1994 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/search/bsearch.c + newlib/libc/search/extern.h + newlib/libc/search/hcreate.3 + newlib/libc/search/tdelete.c + newlib/libc/search/tdestroy.c + newlib/libc/search/tfind.c + newlib/libc/search/tsearch.c + newlib/libc/search/twalk.c +Copyright: 1991, 1993, 1994 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/search/db_local.h + newlib/libc/search/hash.c + newlib/libc/search/hash.h + newlib/libc/search/hash_bigkey.c + newlib/libc/search/hash_buf.c + newlib/libc/search/hash_log2.c + newlib/libc/search/hash_page.c + newlib/libc/search/page.h +Copyright: 1990, 1993, 1994 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/search/qsort.c +Copyright: 1992, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/stdio/nano-vfprintf.c + newlib/libc/stdio/nano-vfprintf_float.c + newlib/libc/stdio/nano-vfprintf_local.h + newlib/libc/stdio/vfprintf.c + newlib/libc/stdlib/strtol.c + newlib/libc/stdlib/strtoll.c + newlib/libc/stdlib/wcstol.c + newlib/libc/stdlib/wcstoll.c + newlib/libc/stdlib/wcstoll_r.c + newlib/libc/stdlib/wcstoull_r.c +Copyright: 1990 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/stdlib/div.c + newlib/libc/stdlib/ldiv.c + newlib/libc/stdlib/strtoul.c + newlib/libc/stdlib/strtoull.c + newlib/libc/stdlib/wcstoul.c + newlib/libc/stdlib/wcstoull.c +Copyright: 1990 Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/stdlib/getsubopt.3 +Copyright: 1990, 1991, 1993 The Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/string/strtok_r.c + newlib/libc/string/strtok_r.h + newlib/libc/string/wcstok.c +Copyright: 1988 Regents of the University of California. +License: BSD3-2 + +Files: newlib/libc/ctype/iswalnum.c + newlib/libc/ctype/iswalpha.c + newlib/libc/ctype/iswblank.c + newlib/libc/ctype/iswcntrl.c + newlib/libc/ctype/iswctype.c + newlib/libc/ctype/iswdigit.c + newlib/libc/ctype/iswgraph.c + newlib/libc/ctype/iswlower.c + newlib/libc/ctype/iswprint.c + newlib/libc/ctype/iswpunct.c + newlib/libc/ctype/iswspace.c + newlib/libc/ctype/iswupper.c + newlib/libc/ctype/iswxdigit.c + newlib/libc/ctype/jp2uc.c + newlib/libc/ctype/jp2uc.h + newlib/libc/ctype/local.h + newlib/libc/ctype/towctrans.c + newlib/libc/ctype/towlower.c + newlib/libc/ctype/towupper.c + newlib/libc/ctype/wctrans.c + newlib/libc/ctype/wctype.c +Copyright: 2002 Red Hat Incorporated. +License: BSD3-3 + +Files: newlib/libc/machine/hppa/setjmp.S +Copyright: 1995, 2002 Red Hat Incorporated. +License: BSD3-3 + +Files: newlib/libc/machine/m32c/setjmp.S +Copyright: 2005 Red Hat Incorporated. +License: BSD3-3 + +Files: newlib/libc/machine/rl78/setjmp.S +Copyright: 2011 Red Hat Incorporated. +License: BSD3-3 + +Files: newlib/libc/stdlib/environ.c +Copyright: 1995, 1996, 2002 Red Hat Incorporated. +License: BSD3-3 + +Files: newlib/libc/include/_syslist.h + newlib/libc/include/ar.h + newlib/libc/include/assert.h + newlib/libc/include/ctype.h + newlib/libc/include/errno.h + newlib/libc/include/fastmath.h + newlib/libc/include/fcntl.h + newlib/libc/include/ieeefp.h + newlib/libc/include/locale.h + newlib/libc/include/malloc.h + newlib/libc/include/math.h + newlib/libc/include/paths.h + newlib/libc/include/regdef.h + newlib/libc/include/setjmp.h + newlib/libc/include/signal.h + newlib/libc/include/stdlib.h + newlib/libc/include/string.h + newlib/libc/include/termios.h + newlib/libc/include/time.h + newlib/libc/include/unistd.h + newlib/libc/include/utime.h + newlib/libc/include/utmp.h +Copyright: 1991, 1993 The Regents of the University of California. +License: BSD3-4 + +Files: newlib/libc/include/grp.h +Copyright: 1989, 1993 The Regents of the University of California. +License: BSD3-4 + +Files: newlib/libc/include/envlock.h + newlib/libc/include/fnmatch.h +Copyright: 1992, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/include/glob.h +Copyright: 1989, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/include/regex.h +Copyright: 1992 Henry Spencer. + 1992, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/include/sys/timespec.h +Copyright: 1982, 1986, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/locale/duplocale.c + newlib/libc/locale/freelocale.c + newlib/libc/locale/locale.c + newlib/libc/locale/locale.tex + newlib/libc/locale/localeconv.c + newlib/libc/locale/newlocale.c + newlib/libc/locale/uselocale.c +Copyright: 1996 - 2002 FreeBSD Project + 1991, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/misc/__dprintf.c + newlib/libc/stdio/vfwprintf.c +Copyright: 1990 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/posix/engine.c + newlib/libc/posix/regcomp.c + newlib/libc/posix/regerror.c + newlib/libc/posix/regexec.c + newlib/libc/posix/regfree.c +Copyright: 1992, 1993, 1994 Henry Spencer. + 1992, 1993, 1994 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/posix/fnmatch.c +Copyright: 1989, 1993, 1994 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/posix/rune.h + newlib/libc/posix/runetype.h +Copyright: 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/posix/sysexits.h +Copyright: 1987, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/string/strcasestr.c +Copyright: 1990, 1993 The Regents of the University of California. +License: BSD3-5 + +Files: newlib/libc/include/rpc/types.h + newlib/libc/include/rpc/xdr.h + newlib/libc/xdr/xdr.c + newlib/libc/xdr/xdr_array.c + newlib/libc/xdr/xdr_float.c + newlib/libc/xdr/xdr_float_vax.c + newlib/libc/xdr/xdr_mem.c + newlib/libc/xdr/xdr_rec.c + newlib/libc/xdr/xdr_reference.c + newlib/libc/xdr/xdr_sizeof.c + newlib/libc/xdr/xdr_stdio.c +Copyright: 2009, Sun Microsystems, Inc. +License: BSD3-6 + +Files: newlib/libc/include/sys/_sigset.h +Copyright: 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. +License: BSD3-7 + +Files: newlib/libc/machine/aarch64/machine/_types.h +Copyright: 2012 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/aarch64/setjmp.S + newlib/libm/machine/aarch64/s_ceil.c + newlib/libm/machine/aarch64/s_floor.c + newlib/libm/machine/aarch64/s_fma.c + newlib/libm/machine/aarch64/s_fmax.c + newlib/libm/machine/aarch64/s_fmin.c + newlib/libm/machine/aarch64/s_llrint.c + newlib/libm/machine/aarch64/s_llround.c + newlib/libm/machine/aarch64/s_lrint.c + newlib/libm/machine/aarch64/s_lround.c + newlib/libm/machine/aarch64/s_nearbyint.c + newlib/libm/machine/aarch64/s_rint.c + newlib/libm/machine/aarch64/s_round.c + newlib/libm/machine/aarch64/s_trunc.c + newlib/libm/machine/aarch64/sf_ceil.c + newlib/libm/machine/aarch64/sf_floor.c + newlib/libm/machine/aarch64/sf_fma.c + newlib/libm/machine/aarch64/sf_fmax.c + newlib/libm/machine/aarch64/sf_fmin.c + newlib/libm/machine/aarch64/sf_llrint.c + newlib/libm/machine/aarch64/sf_llround.c + newlib/libm/machine/aarch64/sf_lrint.c + newlib/libm/machine/aarch64/sf_lround.c + newlib/libm/machine/aarch64/sf_nearbyint.c + newlib/libm/machine/aarch64/sf_rint.c + newlib/libm/machine/aarch64/sf_round.c + newlib/libm/machine/aarch64/sf_trunc.c + newlib/libm/machine/arm/s_ceil.c + newlib/libm/machine/arm/s_floor.c + newlib/libm/machine/arm/s_nearbyint.c + newlib/libm/machine/arm/s_rint.c + newlib/libm/machine/arm/s_round.c + newlib/libm/machine/arm/s_trunc.c + newlib/libm/machine/arm/sf_ceil.c + newlib/libm/machine/arm/sf_floor.c + newlib/libm/machine/arm/sf_nearbyint.c + newlib/libm/machine/arm/sf_rint.c + newlib/libm/machine/arm/sf_round.c + newlib/libm/machine/arm/sf_trunc.c +Copyright: 2011, 2012 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/aeabi_memcpy-armv7a.S + newlib/libc/machine/arm/machine/acle-compat.h + newlib/libc/machine/arm/strcmp-armv6m.S +Copyright: 2014 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/aeabi_memset.c + newlib/libc/machine/arm/bzero.c + newlib/libc/machine/arm/machine/_endian.h + newlib/libc/machine/arm/memset-arm.S + newlib/libc/machine/arm/memset-thumb.S + newlib/libc/machine/arm/memset-thumb2.S + newlib/libc/machine/arm/memset.S + newlib/libc/machine/arm/memset.c + newlib/libm/machine/aarch64/s_fabs.c + newlib/libm/machine/aarch64/s_sqrt.c + newlib/libm/machine/aarch64/sf_fabs.c + newlib/libm/machine/aarch64/sf_sqrt.c +Copyright: 2015 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/arm_asm.h +Copyright: 2009 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/memcpy-armv7m.S +Copyright: 2013 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/memcpy.S +Copyright: 2013-2015 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/strcmp-arm-tiny.S + newlib/libc/machine/arm/strcmp-armv4.S + newlib/libc/machine/arm/strcmp-armv4t.S + newlib/libc/machine/arm/strcmp-armv6.S + newlib/libc/machine/arm/strcmp-armv7.S + newlib/libc/machine/arm/strcmp-armv7m.S + newlib/libc/machine/arm/strcmp.S + newlib/libc/stdio/nano-vfprintf_i.c + newlib/libc/stdio/nano-vfscanf_i.c +Copyright: 2012-2014 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/strcpy.S +Copyright: 2008 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/arm/strlen.c +Copyright: 2008-2015 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/stdlib/nano-calloc.c + newlib/libc/stdlib/nano-free.c + newlib/libc/stdlib/nano-getpagesize.c + newlib/libc/stdlib/nano-mallinfo.c + newlib/libc/stdlib/nano-malloc-stats.c + newlib/libc/stdlib/nano-malloc-usable-size.c + newlib/libc/stdlib/nano-malloc.c + newlib/libc/stdlib/nano-malloc.h + newlib/libc/stdlib/nano-mallopt.c + newlib/libc/stdlib/nano-memalign.c + newlib/libc/stdlib/nano-posix-memalign.c + newlib/libc/stdlib/nano-pvalloc.c + newlib/libc/stdlib/nano-realloc.c + newlib/libc/stdlib/nano-valloc.c +Copyright: 2012, 2013 ARM Ltd +License: BSD3-8 + +Files: newlib/testsuite/newlib.string/memcpy-1.c + newlib/testsuite/newlib.string/strcmp-1.c +Copyright: 2011 ARM Ltd +License: BSD3-8 + +Files: newlib/libc/machine/aarch64/memchr-stub.c + newlib/libc/machine/aarch64/memcmp-stub.c + newlib/libc/machine/aarch64/memmove-stub.c + newlib/libc/machine/aarch64/strlen-stub.c + newlib/libc/machine/aarch64/strncmp-stub.c + newlib/libc/machine/aarch64/strnlen-stub.c + newlib/libc/machine/aarch64/strnlen.S +Copyright: 2013, Linaro Limited +License: BSD3-9 + +Files: newlib/libc/machine/aarch64/memcpy-stub.c + newlib/libc/machine/aarch64/memset-stub.c + newlib/libc/machine/aarch64/strcmp-stub.c +Copyright: 2012-2013, Linaro Limited +License: BSD3-9 + +Files: newlib/libc/machine/aarch64/strlen.S +Copyright: 2013-2015, Linaro Limited +License: BSD3-9 + +Files: newlib/libc/machine/aarch64/strncmp.S +Copyright: 2013, 2018, Linaro Limited +License: BSD3-9 + +Files: newlib/libc/machine/arm/memchr.c + newlib/libc/machine/arm/memcpy.c + newlib/libc/machine/arm/strlen-thumb1-Os.S + newlib/libc/machine/arm/strlen-thumb2-Os.S + newlib/libc/machine/arm/strlen.S +Copyright: 2015 ARM Ltd. +License: BSD3-9 + +Files: newlib/libc/machine/aarch64/rawmemchr-stub.c + newlib/libc/machine/aarch64/rawmemchr.S +Copyright: 2015-2016, ARM Limited +License: BSD3-10 + +Files: newlib/libc/machine/aarch64/stpcpy-stub.c +Copyright: 2015, ARM Limited +License: BSD3-10 + +Files: newlib/libc/machine/aarch64/strchr-stub.c + newlib/libc/machine/aarch64/strchrnul-stub.c + newlib/libc/machine/aarch64/strcpy-stub.c + newlib/libc/machine/aarch64/strrchr-stub.c + newlib/libc/machine/aarch64/strrchr.S +Copyright: 2014, ARM Limited +License: BSD3-10 + +Files: newlib/libc/machine/aarch64/strchr.S + newlib/libc/machine/aarch64/strchrnul.S +Copyright: 2014-2022, ARM Limited +License: BSD3-10 + +Files: newlib/libc/machine/aarch64/strcpy.S +Copyright: 2013, 2014, 2015, 2020-2023 ARM Ltd. +License: BSD3-10 + +Files: newlib/libc/machine/arc/asm.h + newlib/libc/machine/arc/strchr.S +Copyright: 2015, Synopsys, Inc. +License: BSD3-11 + +Files: newlib/libc/machine/arc/memcmp-bs-norm.S + newlib/libc/machine/arc/memcmp-stub.c + newlib/libc/machine/arc/memcmp.S + newlib/libc/machine/arc/memcpy-archs.S + newlib/libc/machine/arc/memcpy-bs.S + newlib/libc/machine/arc/memcpy-stub.c + newlib/libc/machine/arc/memcpy.S + newlib/libc/machine/arc/memset-archs.S + newlib/libc/machine/arc/memset-bs.S + newlib/libc/machine/arc/memset-stub.c + newlib/libc/machine/arc/memset.S + newlib/libc/machine/arc/setjmp.S + newlib/libc/machine/arc/strchr-bs-norm.S + newlib/libc/machine/arc/strchr-bs.S + newlib/libc/machine/arc/strchr-stub.c + newlib/libc/machine/arc/strcmp-archs.S + newlib/libc/machine/arc/strcmp-stub.c + newlib/libc/machine/arc/strcmp.S + newlib/libc/machine/arc/strcpy-bs-arc600.S + newlib/libc/machine/arc/strcpy-bs.S + newlib/libc/machine/arc/strcpy-stub.c + newlib/libc/machine/arc/strcpy.S + newlib/libc/machine/arc/strlen-bs-norm.S + newlib/libc/machine/arc/strlen-bs.S + newlib/libc/machine/arc/strlen-stub.c + newlib/libc/machine/arc/strlen.S + newlib/libc/machine/arc/strncpy-bs.S + newlib/libc/machine/arc/strncpy-stub.c + newlib/libc/machine/arc/strncpy.S +Copyright: 2015-2024, Synopsys, Inc. +License: BSD3-11 + +Files: newlib/libc/machine/arc64/memchr.S + newlib/libc/machine/arc64/memcmp-stub.c + newlib/libc/machine/arc64/memcmp.S + newlib/libc/machine/arc64/memcpy-stub.c + newlib/libc/machine/arc64/memcpy.S + newlib/libc/machine/arc64/memmove.S + newlib/libc/machine/arc64/memset-stub.c + newlib/libc/machine/arc64/memset.S + newlib/libc/machine/arc64/setjmp.S + newlib/libc/machine/arc64/strcat.S + newlib/libc/machine/arc64/strcmp.S + newlib/libc/machine/arc64/strlen.S + newlib/libc/machine/arc64/sys/asm.h +Copyright: 2024, Synopsys, Inc. +License: BSD3-11 + +Files: newlib/libc/machine/arm/memchr.S +Copyright: 2010-2011, Linaro Limited +License: BSD3-12 + +Files: newlib/libc/machine/arm/memcpy-armv7a.S +Copyright: 2013, Linaro Limited +License: BSD3-12 + +Files: newlib/libc/machine/arm/strlen-armv7.S +Copyright: 2010-2011,2013 Linaro Limited +License: BSD3-12 + +Files: newlib/libc/machine/avr/macros.inc +Copyright: 2002, 2005, 2006, 2007 Marek Michalkiewicz + 2006 Dmitry Xmelkov +License: BSD3-13 + +Files: newlib/libc/machine/avr/sectionname.h +Copyright: 2009 Atmel Corporation +License: BSD3-13 + +Files: newlib/libc/machine/avr/setjmp.S +Copyright: 2002, Marek Michalkiewicz +License: BSD3-13 + +Files: newlib/libc/tinystdio/atod_engine.c + newlib/libc/tinystdio/atof_engine.c + newlib/libc/tinystdio/conv_flt.c + newlib/libc/tinystdio/scanf_private.h + newlib/libc/tinystdio/strtoi.h + newlib/libc/tinystdio/strtoimax.c + newlib/libc/tinystdio/strtol.c + newlib/libc/tinystdio/strtoll.c + newlib/libc/tinystdio/strtoul.c + newlib/libc/tinystdio/strtoull.c + newlib/libc/tinystdio/strtoumax.c + newlib/libc/tinystdio/vfscanf.c +Copyright: 2002,2004,2005 Joerg Wunsch + 2008 Dmitry Xmelkov +License: BSD3-13 + +Files: newlib/libc/tinystdio/clearerr.c + newlib/libc/tinystdio/fclose.c + newlib/libc/tinystdio/feof.c + newlib/libc/tinystdio/ferror.c + newlib/libc/tinystdio/fgetc.c + newlib/libc/tinystdio/stdio_private.h +Copyright: 2002,2005 Joerg Wunsch +License: BSD3-13 + +Files: newlib/libc/tinystdio/dtoa.h + newlib/libc/tinystdio/dtoa_engine.c + newlib/libc/tinystdio/sprintfd.c + newlib/libc/tinystdio/sprintff.c + newlib/libc/tinystdio/vffprintf.c + newlib/libc/tinystdio/vffscanf.c + newlib/libc/tinystdio/vfiprintf.c + newlib/libc/tinystdio/vfiscanf.c + newlib/libc/tinystdio/vflprintf.c + newlib/libc/tinystdio/vflscanf.c + newlib/libc/tinystdio/vfmprintf.c + newlib/libc/tinystdio/vfmscanf.c + newlib/libc/tinystdio/vfwprintf.c + newlib/libc/tinystdio/vfwscanf.c +Copyright: 2018, Keith Packard +License: BSD3-13 + +Files: newlib/libc/tinystdio/fdevopen.c +Copyright: 2002,2005, 2007 Joerg Wunsch +License: BSD3-13 + +Files: newlib/libc/tinystdio/fgets.c + newlib/libc/tinystdio/fgetwc.c + newlib/libc/tinystdio/fgetws.c + newlib/libc/tinystdio/fprintf.c + newlib/libc/tinystdio/fputc.c + newlib/libc/tinystdio/fputs.c + newlib/libc/tinystdio/fputwc.c + newlib/libc/tinystdio/fputws.c + newlib/libc/tinystdio/fread.c + newlib/libc/tinystdio/fscanf.c + newlib/libc/tinystdio/fwprintf.c + newlib/libc/tinystdio/fwrite.c + newlib/libc/tinystdio/fwscanf.c + newlib/libc/tinystdio/getchar.c + newlib/libc/tinystdio/gets.c + newlib/libc/tinystdio/getwchar.c + newlib/libc/tinystdio/printf.c + newlib/libc/tinystdio/putchar.c + newlib/libc/tinystdio/puts.c + newlib/libc/tinystdio/putwchar.c + newlib/libc/tinystdio/scanf.c + newlib/libc/tinystdio/snprintf.c + newlib/libc/tinystdio/sprintf.c + newlib/libc/tinystdio/sscanf.c + newlib/libc/tinystdio/swscanf.c + newlib/libc/tinystdio/ungetc.c + newlib/libc/tinystdio/ungetwc.c + newlib/libc/tinystdio/wprintf.c + newlib/libc/tinystdio/wscanf.c +Copyright: 2002, Joerg Wunsch +License: BSD3-13 + +Files: newlib/libc/tinystdio/snprintfd.c + newlib/libc/tinystdio/snprintff.c +Copyright: 2021 Keith Packard +License: BSD3-13 + +Files: newlib/libc/tinystdio/stdio.h +Copyright: 2002, 2005, 2007 Joerg Wunsch + 1990, 1991, 1993 The Regents of the University of California. +License: BSD3-13 + +Files: newlib/libc/tinystdio/strtod.c + newlib/libc/tinystdio/strtof.c + newlib/libc/tinystdio/strtold.c +Copyright: 2002-2005 Michael Stumpf + 2006,2008 Dmitry Xmelkov +License: BSD3-13 + +Files: newlib/libc/tinystdio/ultoa_invert.c +Copyright: 2017 Keith Packard +License: BSD3-13 + +Files: newlib/libc/tinystdio/vfprintf.c +Copyright: 2002, Alexander Popov (sasho@vip.bg) + 2002,2004,2005 Joerg Wunsch + 2005, Helmut Wallner + 2007, Dmitry Xmelkov +License: BSD3-13 + +Files: newlib/libc/tinystdio/vprintf.c + newlib/libc/tinystdio/vscanf.c + newlib/libc/tinystdio/vsscanf.c + newlib/libc/tinystdio/vswscanf.c + newlib/libc/tinystdio/vwprintf.c + newlib/libc/tinystdio/vwscanf.c +Copyright: 2005, Joerg Wunsch +License: BSD3-13 + +Files: newlib/libc/tinystdio/vsnprintf.c + newlib/libc/tinystdio/vsprintf.c +Copyright: 2003, Joerg Wunsch +License: BSD3-13 + +Files: newlib/libc/machine/epiphany/setjmp.S +Copyright: 2011, Adapteva, Inc. +License: BSD3-14 + +Files: newlib/libc/machine/microblaze/abort.c + newlib/libc/machine/microblaze/longjmp.S + newlib/libc/machine/microblaze/setjmp.S +Copyright: 2001, 2009 Xilinx, Inc. +License: BSD3-15 + +Files: newlib/libc/machine/microblaze/strcmp.c + newlib/libc/machine/microblaze/strcpy.c + newlib/libc/machine/microblaze/strlen.c +Copyright: 2009 Xilinx, Inc. +License: BSD3-15 + +Files: newlib/libc/machine/mips/machine/asm.h + newlib/libc/machine/mips/machine/regdef.h +Copyright: 1996-2007 MIPS Technologies, Inc. + 2009 CodeSourcery, LLC. +License: BSD3-16 + +Files: newlib/libc/machine/mips/memcpy.S +Copyright: 2012-2015 MIPS Technologies, Inc., California. +License: BSD3-17 + +Files: newlib/libc/machine/mips/memset.S +Copyright: 2013 MIPS Technologies, Inc., California. +License: BSD3-17 + +Files: newlib/libc/machine/mips/strcmp.S +Copyright: 2014 Imagination Technologies Limited. +License: BSD3-18 + +Files: newlib/libc/machine/nds32/abort.c + newlib/libc/machine/nds32/memcpy.S + newlib/libc/machine/nds32/memset.S + newlib/libc/machine/nds32/setjmp.S + newlib/libc/machine/nds32/strcmp.S + newlib/libc/machine/nds32/strcpy.S +Copyright: 2013 Andes Technology Corporation. +License: BSD3-19 + +Files: newlib/libm/machine/nds32/w_sqrt.S + newlib/libm/machine/nds32/wf_sqrt.S +Copyright: 2013-2014 Andes Technology Corporation. +License: BSD3-19 + +Files: newlib/libc/machine/nios2/setjmp.s +Copyright: 2003 Altera Corporation +License: BSD3-20 + +Files: newlib/libc/machine/riscv/machine/fenv-fp.h +Copyright: 2017 Michael R. Neilly +License: BSD3-21 + +Files: newlib/libc/machine/sparc/setjmp.S +Copyright: 1992, 1993 The Regents of the University of California. +License: BSD3-22 + +Files: newlib/libc/machine/spu/c99ppe.h + newlib/libc/machine/spu/clearerr.c + newlib/libc/machine/spu/fclose.c + newlib/libc/machine/spu/feof.c + newlib/libc/machine/spu/ferror.c + newlib/libc/machine/spu/fflush.c + newlib/libc/machine/spu/fgetc.c + newlib/libc/machine/spu/fgetpos.c + newlib/libc/machine/spu/fgets.c + newlib/libc/machine/spu/fileno.c + newlib/libc/machine/spu/fopen.c + newlib/libc/machine/spu/fputc.c + newlib/libc/machine/spu/fputs.c + newlib/libc/machine/spu/fread.c + newlib/libc/machine/spu/freopen.c + newlib/libc/machine/spu/fseek.c + newlib/libc/machine/spu/fsetpos.c + newlib/libc/machine/spu/ftell.c + newlib/libc/machine/spu/fwrite.c + newlib/libc/machine/spu/getc.c + newlib/libc/machine/spu/getchar.c + newlib/libc/machine/spu/gets.c + newlib/libc/machine/spu/perror.c + newlib/libc/machine/spu/putc.c + newlib/libc/machine/spu/putchar.c + newlib/libc/machine/spu/puts.c + newlib/libc/machine/spu/remove.c + newlib/libc/machine/spu/rename.c + newlib/libc/machine/spu/rewind.c + newlib/libc/machine/spu/setbuf.c + newlib/libc/machine/spu/setvbuf.c + newlib/libc/machine/spu/sys/custom_file.h + newlib/libc/machine/spu/tmpfile.c + newlib/libc/machine/spu/tmpnam.c + newlib/libc/machine/spu/ungetc.c + newlib/libc/machine/spu/vfprintf.c + newlib/libc/machine/spu/vfscanf.c + newlib/libc/machine/spu/vprintf.c + newlib/libc/machine/spu/vscanf.c + newlib/libc/machine/spu/vsnprintf.c + newlib/libc/machine/spu/vsprintf.c + newlib/libc/machine/spu/vsscanf.c +Copyright: IBM Corp. 2006 +License: BSD3-23 + +Files: newlib/libc/machine/spu/calloc_ea.c + newlib/libc/machine/spu/ea_internal.h + newlib/libc/machine/spu/free_ea.c + newlib/libc/machine/spu/include/ea.h + newlib/libc/machine/spu/malloc_ea.c + newlib/libc/machine/spu/memchr_ea.c + newlib/libc/machine/spu/memcmp_ea.c + newlib/libc/machine/spu/memcpy_ea.c + newlib/libc/machine/spu/memmove_ea.c + newlib/libc/machine/spu/memset_ea.c + newlib/libc/machine/spu/mmap_ea.c + newlib/libc/machine/spu/mremap_ea.c + newlib/libc/machine/spu/msync_ea.c + newlib/libc/machine/spu/munmap_ea.c + newlib/libc/machine/spu/posix_memalign_ea.c + newlib/libc/machine/spu/realloc_ea.c + newlib/libc/machine/spu/strcat_ea.c + newlib/libc/machine/spu/strchr_ea.c + newlib/libc/machine/spu/strcmp_ea.c + newlib/libc/machine/spu/strcpy_ea.c + newlib/libc/machine/spu/strcspn_ea.c + newlib/libc/machine/spu/strlen_ea.c + newlib/libc/machine/spu/strncat_ea.c + newlib/libc/machine/spu/strncmp_ea.c + newlib/libc/machine/spu/strncpy_ea.c + newlib/libc/machine/spu/strpbrk_ea.c + newlib/libc/machine/spu/strrchr_ea.c + newlib/libc/machine/spu/strspn_ea.c + newlib/libc/machine/spu/strstr_ea.c +Copyright: IBM Corp. 2007, 2008 +License: BSD3-23 + +Files: newlib/libc/machine/spu/fdopen.c + newlib/libc/stdlib/strtold.c + newlib/libc/stdlib/wcstold.c + newlib/libm/common/copysignl.c + newlib/libm/common/fabsl.c + newlib/libm/common/frexpl.c + newlib/libm/common/isinfl.c + newlib/libm/common/isnanl.c + newlib/libm/common/nanl.c + newlib/libm/common/scalbnl.c + newlib/libm/ld/s_isinfl.c + newlib/libm/ld/s_signbitl.c +Copyright: IBM Corp. 2009 +License: BSD3-23 + +Files: newlib/libc/machine/spu/include/spu_timer.h + newlib/libc/machine/spu/pread_ea.c + newlib/libc/machine/spu/pwrite_ea.c + newlib/libc/machine/spu/read_ea.c + newlib/libc/machine/spu/readv_ea.c + newlib/libc/machine/spu/spu-gmon.c + newlib/libc/machine/spu/spu-mcount.S + newlib/libc/machine/spu/spu_clock_stop.c + newlib/libc/machine/spu/spu_clock_svcs.c + newlib/libc/machine/spu/spu_timebase.c + newlib/libc/machine/spu/spu_timer_flih.S + newlib/libc/machine/spu/spu_timer_free.c + newlib/libc/machine/spu/spu_timer_internal.h + newlib/libc/machine/spu/spu_timer_slih.c + newlib/libc/machine/spu/spu_timer_slih_reg.c + newlib/libc/machine/spu/spu_timer_stop.c + newlib/libc/machine/spu/spu_timer_svcs.c + newlib/libc/machine/spu/sys/linux_syscalls.h + newlib/libc/machine/spu/write_ea.c + newlib/libc/machine/spu/writev_ea.c +Copyright: IBM Corp. 2008 +License: BSD3-23 + +Files: newlib/libc/machine/spu/setjmp.S +Copyright: IBM Corp. 2005, 2006 +License: BSD3-23 + +Files: newlib/libc/machine/spu/sys/mman.h +Copyright: IBM Corp. 2007 +License: BSD3-23 + +Files: newlib/libc/machine/spu/fiprintf.S + newlib/libc/machine/spu/fiscanf.S + newlib/libc/machine/spu/fprintf.S + newlib/libc/machine/spu/fscanf.S + newlib/libc/machine/spu/iprintf.S + newlib/libc/machine/spu/iscanf.S + newlib/libc/machine/spu/printf.S + newlib/libc/machine/spu/scanf.S + newlib/libc/machine/spu/siprintf.S + newlib/libc/machine/spu/siscanf.S + newlib/libc/machine/spu/sniprintf.S + newlib/libc/machine/spu/snprintf.S + newlib/libc/machine/spu/sprintf.S + newlib/libc/machine/spu/sscanf.S + newlib/libc/machine/spu/stack_reg_va.S +Copyright: 2007, Toshiba Corporation +License: BSD3-24 + +Files: newlib/libc/machine/spu/mk_syscalls + newlib/libc/machine/spu/syscall.def +Copyright: 2007 TOSHIBA CORPORATION +License: BSD3-24 + +Files: newlib/libc/machine/spu/include/fenv.h + newlib/libc/machine/spu/machine/fenv.h +Copyright: 2006, 2007 International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-25 + +Files: newlib/libc/machine/spu/machine/_types.h + newlib/libc/machine/spu/sys/dirent.h + newlib/libm/machine/spu/headers/dom_chkd_less_than.h + newlib/libm/machine/spu/headers/dom_chkd_negone_one.h + newlib/libm/machine/spu/headers/dom_chkf_less_than.h + newlib/libm/machine/spu/headers/dom_chkf_negone_one.h + newlib/libm/machine/spu/sf_finite.c + newlib/libm/machine/spu/sf_isinf.c + newlib/libm/machine/spu/sf_isinff.c + newlib/libm/machine/spu/sf_isnan.c + newlib/libm/machine/spu/sf_isnanf.c + newlib/libm/machine/spu/sf_nan.c +Copyright: 2007 International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-25 + +Files: newlib/libc/machine/spu/memcmp.c + newlib/libc/machine/spu/straddr.h + newlib/libc/machine/spu/strcat.c + newlib/libc/machine/spu/strcpy.c + newlib/libc/machine/spu/strcpy.h + newlib/libc/machine/spu/strncat.c + newlib/libc/machine/spu/strncpy.c +Copyright: 2008 International Business Machines Corporation +License: BSD3-25 + +Files: newlib/libc/machine/spu/memcpy.c + newlib/libc/machine/spu/memmove.c + newlib/libc/machine/spu/memset.c + newlib/libc/machine/spu/strchr.c + newlib/libc/machine/spu/strcmp.c + newlib/libc/machine/spu/strcspn.c + newlib/libc/machine/spu/strlen.c + newlib/libc/machine/spu/strncmp.c + newlib/libc/machine/spu/strpbrk.c + newlib/libc/machine/spu/strrchr.c + newlib/libc/machine/spu/strspn.c + newlib/libc/machine/spu/strxfrm.c + newlib/libc/machine/spu/vec_literal.h + newlib/libm/machine/spu/headers/atanf.h + newlib/libm/machine/spu/headers/cbrt.h + newlib/libm/machine/spu/headers/cbrtf.h + newlib/libm/machine/spu/headers/ceil.h + newlib/libm/machine/spu/headers/ceilf.h + newlib/libm/machine/spu/headers/copysign.h + newlib/libm/machine/spu/headers/copysignf.h + newlib/libm/machine/spu/headers/exp2f.h + newlib/libm/machine/spu/headers/expf.h + newlib/libm/machine/spu/headers/fabs.h + newlib/libm/machine/spu/headers/fabsf.h + newlib/libm/machine/spu/headers/fdim.h + newlib/libm/machine/spu/headers/fdimf.h + newlib/libm/machine/spu/headers/feclearexcept.h + newlib/libm/machine/spu/headers/fefpscr.h + newlib/libm/machine/spu/headers/fegetenv.h + newlib/libm/machine/spu/headers/fegetexceptflag.h + newlib/libm/machine/spu/headers/fegetround.h + newlib/libm/machine/spu/headers/feholdexcept.h + newlib/libm/machine/spu/headers/feraiseexcept.h + newlib/libm/machine/spu/headers/fesetenv.h + newlib/libm/machine/spu/headers/fesetexceptflag.h + newlib/libm/machine/spu/headers/fesetround.h + newlib/libm/machine/spu/headers/fetestexcept.h + newlib/libm/machine/spu/headers/feupdateenv.h + newlib/libm/machine/spu/headers/floor.h + newlib/libm/machine/spu/headers/floorf.h + newlib/libm/machine/spu/headers/fma.h + newlib/libm/machine/spu/headers/fmaf.h + newlib/libm/machine/spu/headers/fmax.h + newlib/libm/machine/spu/headers/fmaxf.h + newlib/libm/machine/spu/headers/fmin.h + newlib/libm/machine/spu/headers/fminf.h + newlib/libm/machine/spu/headers/fmod.h + newlib/libm/machine/spu/headers/fmodf.h + newlib/libm/machine/spu/headers/frexp.h + newlib/libm/machine/spu/headers/frexpf.h + newlib/libm/machine/spu/headers/ilogb.h + newlib/libm/machine/spu/headers/ilogbf.h + newlib/libm/machine/spu/headers/ldexp.h + newlib/libm/machine/spu/headers/ldexpf.h + newlib/libm/machine/spu/headers/llrint.h + newlib/libm/machine/spu/headers/llrintf.h + newlib/libm/machine/spu/headers/llround.h + newlib/libm/machine/spu/headers/llroundf.h + newlib/libm/machine/spu/headers/log10f.h + newlib/libm/machine/spu/headers/log2f.h + newlib/libm/machine/spu/headers/logf.h + newlib/libm/machine/spu/headers/lrint.h + newlib/libm/machine/spu/headers/lrintf.h + newlib/libm/machine/spu/headers/lround.h + newlib/libm/machine/spu/headers/lroundf.h + newlib/libm/machine/spu/headers/nearbyint.h + newlib/libm/machine/spu/headers/remainder.h + newlib/libm/machine/spu/headers/remainderf.h + newlib/libm/machine/spu/headers/remquo.h + newlib/libm/machine/spu/headers/remquof.h + newlib/libm/machine/spu/headers/rint.h + newlib/libm/machine/spu/headers/round.h + newlib/libm/machine/spu/headers/roundf.h + newlib/libm/machine/spu/headers/scalbn.h + newlib/libm/machine/spu/headers/scalbnf.h + newlib/libm/machine/spu/headers/sqrt.h + newlib/libm/machine/spu/headers/trunc.h + newlib/libm/machine/spu/headers/truncf.h + newlib/libm/machine/spu/headers/vec_literal.h + newlib/libm/machine/spu/llrint.c + newlib/libm/machine/spu/llrintf.c + newlib/libm/machine/spu/llround.c + newlib/libm/machine/spu/llroundf.c + newlib/libm/machine/spu/log2f.c + newlib/libm/machine/spu/s_cbrt.c + newlib/libm/machine/spu/s_ceil.c + newlib/libm/machine/spu/s_copysign.c + newlib/libm/machine/spu/s_fabs.c + newlib/libm/machine/spu/s_fdim.c + newlib/libm/machine/spu/s_floor.c + newlib/libm/machine/spu/s_fma.c + newlib/libm/machine/spu/s_fmax.c + newlib/libm/machine/spu/s_fmin.c + newlib/libm/machine/spu/s_frexp.c + newlib/libm/machine/spu/s_ilogb.c + newlib/libm/machine/spu/s_ldexp.c + newlib/libm/machine/spu/s_lrint.c + newlib/libm/machine/spu/s_lround.c + newlib/libm/machine/spu/s_nearbyint.c + newlib/libm/machine/spu/s_remquo.c + newlib/libm/machine/spu/s_rint.c + newlib/libm/machine/spu/s_round.c + newlib/libm/machine/spu/s_scalbn.c + newlib/libm/machine/spu/s_trunc.c + newlib/libm/machine/spu/sf_atan.c + newlib/libm/machine/spu/sf_cbrt.c + newlib/libm/machine/spu/sf_ceil.c + newlib/libm/machine/spu/sf_copysign.c + newlib/libm/machine/spu/sf_fabs.c + newlib/libm/machine/spu/sf_fdim.c + newlib/libm/machine/spu/sf_floor.c + newlib/libm/machine/spu/sf_fma.c + newlib/libm/machine/spu/sf_fmax.c + newlib/libm/machine/spu/sf_fmin.c + newlib/libm/machine/spu/sf_frexp.c + newlib/libm/machine/spu/sf_ilogb.c + newlib/libm/machine/spu/sf_ldexp.c + newlib/libm/machine/spu/sf_lrint.c + newlib/libm/machine/spu/sf_lround.c + newlib/libm/machine/spu/sf_remquo.c + newlib/libm/machine/spu/sf_round.c + newlib/libm/machine/spu/sf_scalbn.c + newlib/libm/machine/spu/sf_trunc.c + newlib/libm/machine/spu/w_fmod.c + newlib/libm/machine/spu/w_remainder.c + newlib/libm/machine/spu/w_sqrt.c + newlib/libm/machine/spu/wf_exp.c + newlib/libm/machine/spu/wf_exp2.c + newlib/libm/machine/spu/wf_fmod.c + newlib/libm/machine/spu/wf_log.c + newlib/libm/machine/spu/wf_log10.c + newlib/libm/machine/spu/wf_remainder.c +Copyright: 2001,2006, International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-25 + +Files: newlib/libc/machine/spu/stdio.c +Copyright: 2007 Sony Computer Entertainment Inc. + 2007 Sony Corp. +License: BSD3-25 + +Files: newlib/libc/machine/spu/strncmp.h +Copyright: 2001,2006,2008 International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-25 + +Files: newlib/libc/machine/tic6x/setjmp.S +Copyright: 1996-2010 Texas Instruments Incorporated http://www.ti.com +License: BSD3-26 + +Files: newlib/libc/machine/visium/memcpy.c + newlib/libc/machine/visium/memcpy.h + newlib/libc/machine/visium/memmove.c + newlib/libc/machine/visium/memset.c + newlib/libc/machine/visium/memset.h + newlib/libc/machine/visium/setjmp.S +Copyright: 2015 Rolls-Royce Controls and Data Services Limited. +License: BSD3-27 + +Files: newlib/libc/search/hcreate.c + newlib/libc/search/hcreate_r.c + newlib/testsuite/newlib.search/hsearchtest.c +Copyright: 2001 Christopher G. Demetriou +License: BSD3-28 + +Files: newlib/libc/search/tsearch.3 +Copyright: 1997 Todd C. Miller +License: BSD3-29 + +Files: newlib/libc/stdlib/aligned_alloc.c +Copyright: 2020 Arm Ltd. +License: BSD3-30 + +Files: newlib/libc/string/memmem.c + newlib/libc/string/strstr.c + newlib/libm/common/cosf.c + newlib/libm/common/exp.c + newlib/libm/common/exp2.c + newlib/libm/common/exp_data.c + newlib/libm/common/log.c + newlib/libm/common/log2.c + newlib/libm/common/log2_data.c + newlib/libm/common/log_data.c + newlib/libm/common/math_denorm.c + newlib/libm/common/math_denormf.c + newlib/libm/common/math_denorml.c + newlib/libm/common/math_err_check_oflow.c + newlib/libm/common/math_err_check_uflow.c + newlib/libm/common/math_err_divzero.c + newlib/libm/common/math_err_invalid.c + newlib/libm/common/math_err_may_uflow.c + newlib/libm/common/math_err_oflow.c + newlib/libm/common/math_err_uflow.c + newlib/libm/common/math_err_with_errno.c + newlib/libm/common/math_errf_check_oflowf.c + newlib/libm/common/math_errf_check_uflowf.c + newlib/libm/common/pow.c + newlib/libm/common/pow_log_data.c + newlib/libm/common/sincosf.c + newlib/libm/common/sincosf.h + newlib/libm/common/sincosf_data.c + newlib/libm/common/sinf.c + newlib/libm/ld/math_errl_check_oflowl.c + newlib/libm/ld/math_errl_check_uflowl.c + newlib/libm/ld/math_errl_divzerol.c + newlib/libm/ld/math_errl_invalidl.c + newlib/libm/ld/math_errl_oflowl.c + newlib/libm/ld/math_errl_uflowl.c + newlib/libm/ld/math_errl_with_errnol.c +Copyright: 2018 Arm Ltd. +License: BSD3-30 + +Files: newlib/libm/common/math_config.h + newlib/libm/common/math_errf_divzerof.c + newlib/libm/common/math_errf_invalidf.c + newlib/libm/common/math_errf_may_uflowf.c + newlib/libm/common/math_errf_oflowf.c + newlib/libm/common/math_errf_uflowf.c + newlib/libm/common/math_errf_with_errnof.c + newlib/libm/common/sf_pow.c +Copyright: 2017-2018 Arm Ltd. +License: BSD3-30 + +Files: newlib/libm/common/sf_exp.c + newlib/libm/common/sf_exp2.c + newlib/libm/common/sf_exp2_data.c + newlib/libm/common/sf_log.c + newlib/libm/common/sf_log2.c + newlib/libm/common/sf_log2_data.c + newlib/libm/common/sf_log_data.c + newlib/libm/common/sf_pow_log2_data.c +Copyright: 2017 Arm Ltd. +License: BSD3-30 + +Files: newlib/libc/stdlib/strtoimax.c + newlib/libc/stdlib/strtoumax.c + newlib/libc/stdlib/wcstoimax.c + newlib/libc/stdlib/wcstoumax.c +Copyright: 1992, 1993 The Regents of the University of California. + 2011 The FreeBSD Foundation +License: BSD3-31 + +Files: newlib/libc/sys/rtems/include/sys/poll.h +Copyright: 1997 Peter Wemm +License: BSD3-32 + +Files: newlib/libc/time/strptime.c +Copyright: 1999 Kungliga Tekniska Högskolan Royal Institute of Technology, Stockholm, Sweden). +License: BSD3-33 + +Files: newlib/libc/tinystdio/ftoa_engine.c +Copyright: 2005, Dmitry Xmelkov +License: BSD3-34 + +Files: newlib/libm/common/nexttoward.c + newlib/libm/common/nexttowardl.c +Copyright: 2014 Mentor Graphics, Inc. +License: BSD3-35 + +Files: newlib/libm/ld/common/s_fabsl.c +Copyright: 2003 Dag-Erling Coïdan Smørgrav +License: BSD3-36 + +Files: newlib/libm/machine/spu/headers/acos.h + newlib/libm/machine/spu/headers/acosd2.h + newlib/libm/machine/spu/headers/acosf.h + newlib/libm/machine/spu/headers/acosh.h + newlib/libm/machine/spu/headers/acoshf.h + newlib/libm/machine/spu/headers/asin.h + newlib/libm/machine/spu/headers/asind2.h + newlib/libm/machine/spu/headers/asinf.h + newlib/libm/machine/spu/headers/asinh.h + newlib/libm/machine/spu/headers/asinhf.h + newlib/libm/machine/spu/headers/atan.h + newlib/libm/machine/spu/headers/atan2.h + newlib/libm/machine/spu/headers/atan2f.h + newlib/libm/machine/spu/headers/atanh.h + newlib/libm/machine/spu/headers/atanhf.h + newlib/libm/machine/spu/headers/cos.h + newlib/libm/machine/spu/headers/cosf.h + newlib/libm/machine/spu/headers/cosh.h + newlib/libm/machine/spu/headers/coshd2.h + newlib/libm/machine/spu/headers/coshf.h + newlib/libm/machine/spu/headers/coshf4.h + newlib/libm/machine/spu/headers/erf.h + newlib/libm/machine/spu/headers/erfc.h + newlib/libm/machine/spu/headers/erfcf.h + newlib/libm/machine/spu/headers/erff.h + newlib/libm/machine/spu/headers/exp.h + newlib/libm/machine/spu/headers/exp2.h + newlib/libm/machine/spu/headers/expm1.h + newlib/libm/machine/spu/headers/expm1f.h + newlib/libm/machine/spu/headers/hypot.h + newlib/libm/machine/spu/headers/hypotd2.h + newlib/libm/machine/spu/headers/hypotf.h + newlib/libm/machine/spu/headers/isnan.h + newlib/libm/machine/spu/headers/isnand2.h + newlib/libm/machine/spu/headers/isnanf.h + newlib/libm/machine/spu/headers/isnanf4.h + newlib/libm/machine/spu/headers/lgamma.h + newlib/libm/machine/spu/headers/lgammaf.h + newlib/libm/machine/spu/headers/log.h + newlib/libm/machine/spu/headers/log10.h + newlib/libm/machine/spu/headers/log1p.h + newlib/libm/machine/spu/headers/log1pf.h + newlib/libm/machine/spu/headers/log2.h + newlib/libm/machine/spu/headers/logbf.h + newlib/libm/machine/spu/headers/logbf4.h + newlib/libm/machine/spu/headers/nearbyintf.h + newlib/libm/machine/spu/headers/nextafter.h + newlib/libm/machine/spu/headers/nextafterf.h + newlib/libm/machine/spu/headers/pow.h + newlib/libm/machine/spu/headers/powf.h + newlib/libm/machine/spu/headers/rintf.h + newlib/libm/machine/spu/headers/signbit.h + newlib/libm/machine/spu/headers/signbitd2.h + newlib/libm/machine/spu/headers/simdmath.h + newlib/libm/machine/spu/headers/sin.h + newlib/libm/machine/spu/headers/sincos.h + newlib/libm/machine/spu/headers/sincosf.h + newlib/libm/machine/spu/headers/sinf.h + newlib/libm/machine/spu/headers/sinh.h + newlib/libm/machine/spu/headers/sinhd2.h + newlib/libm/machine/spu/headers/sinhf.h + newlib/libm/machine/spu/headers/sinhf4.h + newlib/libm/machine/spu/headers/sqrtf.h + newlib/libm/machine/spu/headers/tan.h + newlib/libm/machine/spu/headers/tanf.h + newlib/libm/machine/spu/headers/tanh.h + newlib/libm/machine/spu/headers/tanhf.h + newlib/libm/machine/spu/headers/tgamma.h + newlib/libm/machine/spu/headers/tgammaf.h + newlib/libm/machine/spu/log2.c + newlib/libm/machine/spu/s_asinh.c + newlib/libm/machine/spu/s_atan.c + newlib/libm/machine/spu/s_cos.c + newlib/libm/machine/spu/s_erf.c + newlib/libm/machine/spu/s_expm1.c + newlib/libm/machine/spu/s_isnan.c + newlib/libm/machine/spu/s_log1p.c + newlib/libm/machine/spu/s_nextafter.c + newlib/libm/machine/spu/s_sin.c + newlib/libm/machine/spu/s_tan.c + newlib/libm/machine/spu/s_tanh.c + newlib/libm/machine/spu/sf_asinh.c + newlib/libm/machine/spu/sf_cos.c + newlib/libm/machine/spu/sf_erf.c + newlib/libm/machine/spu/sf_expm1.c + newlib/libm/machine/spu/sf_log1p.c + newlib/libm/machine/spu/sf_logb.c + newlib/libm/machine/spu/sf_nearbyint.c + newlib/libm/machine/spu/sf_nextafter.c + newlib/libm/machine/spu/sf_rint.c + newlib/libm/machine/spu/sf_sin.c + newlib/libm/machine/spu/sf_tan.c + newlib/libm/machine/spu/sf_tanh.c + newlib/libm/machine/spu/w_acos.c + newlib/libm/machine/spu/w_acosh.c + newlib/libm/machine/spu/w_asin.c + newlib/libm/machine/spu/w_atan2.c + newlib/libm/machine/spu/w_atanh.c + newlib/libm/machine/spu/w_cosh.c + newlib/libm/machine/spu/w_exp.c + newlib/libm/machine/spu/w_exp2.c + newlib/libm/machine/spu/w_hypot.c + newlib/libm/machine/spu/w_lgamma.c + newlib/libm/machine/spu/w_log.c + newlib/libm/machine/spu/w_log10.c + newlib/libm/machine/spu/w_pow.c + newlib/libm/machine/spu/w_sincos.c + newlib/libm/machine/spu/w_sinh.c + newlib/libm/machine/spu/w_tgamma.c + newlib/libm/machine/spu/wf_acos.c + newlib/libm/machine/spu/wf_acosh.c + newlib/libm/machine/spu/wf_asin.c + newlib/libm/machine/spu/wf_atan2.c + newlib/libm/machine/spu/wf_atanh.c + newlib/libm/machine/spu/wf_cosh.c + newlib/libm/machine/spu/wf_hypot.c + newlib/libm/machine/spu/wf_lgamma.c + newlib/libm/machine/spu/wf_pow.c + newlib/libm/machine/spu/wf_sincos.c + newlib/libm/machine/spu/wf_sinh.c + newlib/libm/machine/spu/wf_sqrt.c + newlib/libm/machine/spu/wf_tgamma.c +Copyright: 2006,2008, International Business Machines Corporation +License: BSD3-37 + +Files: newlib/libm/machine/spu/headers/acosf4.h + newlib/libm/machine/spu/headers/asinf4.h + newlib/libm/machine/spu/headers/atanf4.h + newlib/libm/machine/spu/headers/cos_sin.h + newlib/libm/machine/spu/headers/cosd2.h + newlib/libm/machine/spu/headers/cosf4.h + newlib/libm/machine/spu/headers/divd2.h + newlib/libm/machine/spu/headers/divf4.h + newlib/libm/machine/spu/headers/exp2d2.h + newlib/libm/machine/spu/headers/exp2f4.h + newlib/libm/machine/spu/headers/expd2.h + newlib/libm/machine/spu/headers/expf4.h + newlib/libm/machine/spu/headers/floord2.h + newlib/libm/machine/spu/headers/floorf4.h + newlib/libm/machine/spu/headers/ldexpd2.h + newlib/libm/machine/spu/headers/ldexpf4.h + newlib/libm/machine/spu/headers/log10d2.h + newlib/libm/machine/spu/headers/log2d2.h + newlib/libm/machine/spu/headers/log2f4.h + newlib/libm/machine/spu/headers/logd2.h + newlib/libm/machine/spu/headers/logf4.h + newlib/libm/machine/spu/headers/powd2.h + newlib/libm/machine/spu/headers/powf4.h + newlib/libm/machine/spu/headers/recipd2.h + newlib/libm/machine/spu/headers/recipf4.h + newlib/libm/machine/spu/headers/sind2.h + newlib/libm/machine/spu/headers/sinf4.h + newlib/libm/machine/spu/headers/sqrtd2.h + newlib/libm/machine/spu/headers/sqrtf4.h + newlib/libm/machine/spu/headers/tand2.h + newlib/libm/machine/spu/headers/tanf4.h + newlib/libm/machine/spu/headers/truncd2.h + newlib/libm/machine/spu/headers/truncf4.h +Copyright: 2001,2008, International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-37 + +Files: newlib/libm/machine/spu/headers/acoshd2.h + newlib/libm/machine/spu/headers/acoshf4.h + newlib/libm/machine/spu/headers/asinhd2.h + newlib/libm/machine/spu/headers/asinhf4.h + newlib/libm/machine/spu/headers/atan2d2.h + newlib/libm/machine/spu/headers/atan2f4.h + newlib/libm/machine/spu/headers/atand2.h + newlib/libm/machine/spu/headers/atanhd2.h + newlib/libm/machine/spu/headers/atanhf4.h + newlib/libm/machine/spu/headers/erf_utils.h + newlib/libm/machine/spu/headers/erfcd2.h + newlib/libm/machine/spu/headers/erfcf4.h + newlib/libm/machine/spu/headers/erfd2.h + newlib/libm/machine/spu/headers/erff4.h + newlib/libm/machine/spu/headers/expm1d2.h + newlib/libm/machine/spu/headers/expm1f4.h + newlib/libm/machine/spu/headers/hypotf4.h + newlib/libm/machine/spu/headers/lgammad2.h + newlib/libm/machine/spu/headers/lgammaf4.h + newlib/libm/machine/spu/headers/log1pd2.h + newlib/libm/machine/spu/headers/log1pf4.h + newlib/libm/machine/spu/headers/nextafterd2.h + newlib/libm/machine/spu/headers/nextafterf4.h + newlib/libm/machine/spu/headers/sincosd2.h + newlib/libm/machine/spu/headers/sincosf4.h + newlib/libm/machine/spu/headers/tanhd2.h + newlib/libm/machine/spu/headers/tanhf4.h + newlib/libm/machine/spu/headers/tgammad2.h + newlib/libm/machine/spu/headers/tgammaf4.h +Copyright: 2007,2008, International Business Machines Corporation +License: BSD3-37 + +Files: newlib/libm/machine/spu/headers/nearbyintf4.h + newlib/libm/machine/spu/headers/rintf4.h + newlib/libm/machine/spu/headers/scalbnf4.h +Copyright: 2006,2008, International Business Machines Corporation, Sony Computer Entertainment, Incorporated, Toshiba Corporation, +License: BSD3-37 + +Files: .clang-format + .editorconfig + .gitattributes + .github/Dockerfile + .github/Dockerfile-zephyr + .github/do-build + .github/do-cmake-test + .github/do-linux + .github/do-many + .github/do-test + .github/do-zephyr + .github/linux-packages.txt + .github/workflows/Makefile + .github/workflows/head + .github/workflows/head-zephyr + .github/workflows/linux.yml + .github/workflows/make-workflow + .github/workflows/make-workflow-zephyr + .github/workflows/steps-head + .github/workflows/variants + .github/workflows/zephyr.yml + .github/zephyr + .github/zephyr-files.txt + .github/zephyr-packages.txt + .gitignore + README.md + cmake/TC-clang-thumbv6m.cmake + cmake/TC-clang-thumbv7m.cmake + cmake/TC-thumbv6m.cmake + cmake/TC-thumbv7m.cmake + cross.tmpl + doc/build.md + doc/ctype.md + doc/embedsource.md + doc/init.md + doc/linking.md + doc/locking.md + doc/os.md + doc/picolibc.svg + doc/printf.md + doc/releasing.md + doc/testing.md + doc/tls.md + doc/using.md + hello-world/README.md + newlib/HOWTO + newlib/README + newlib/doc/doc.str + newlib/libc/ctype/ctype.tex + newlib/libc/include/machine/ieee.h + newlib/libc/include/sys/_tz_structs.h + newlib/libc/libc.in.xml + newlib/libc/locale/getlocalename_l.c + newlib/libc/machine/aarch64/sys/fcntl.h + newlib/libc/machine/necv70/necv70.tex + newlib/libc/machine/nvptx/clock.c + newlib/libc/machine/xtensa/xtensa.tex + newlib/libc/ssp/ssp.tex + newlib/libc/stdio/sfputs.c + newlib/libc/stdio/sfputws.c + newlib/libc/stdio/sprint.c + newlib/libc/stdio/ssprint.c + newlib/libc/stdio/ssputs.c + newlib/libc/stdio/ssputws.c + newlib/libc/stdio/sswprint.c + newlib/libc/stdio/swprint.c + newlib/libc/stdlib/mul_overflow.h + newlib/libc/string/wcstrings.tex + newlib/libc/sys.tex + newlib/libc/sys/amdgcn/include/sys/lock.h + newlib/libc/sys/rtems/include/README + newlib/libc/sys/xtensa/include/unistd.h + newlib/libc/sys/xtensa/isatty.c + newlib/libc/syscalls/sysgetentropy.c + newlib/libc/time/strftime.c + newlib/libc/time/tzset.c + newlib/libc/xdr/README + newlib/libm/complex/CMakeLists.txt + newlib/libm/complex/complex.tex + newlib/libm/fenv/fenv.tex + newlib/libm/ld/files + newlib/libm/libm.in.xml + newlib/man.xsl + newlib/refcontainers.xslt + newlib/testsuite/newlib.time/tzset.c + picolibc.h.in + picolibc.ld.in + picolibc.specs.in + scripts/cross-aarch64-linux-gnu.txt + scripts/cross-aarch64-zephyr-elf.txt + scripts/cross-arc-zephyr-elf.txt + scripts/cross-arc64-zephyr-elf.txt + scripts/cross-arm-none-eabi.txt + scripts/cross-arm-zephyr-eabi.txt + scripts/cross-avr.txt + scripts/cross-clang-aarch64-none-elf.txt + scripts/cross-clang-msp430.txt + scripts/cross-clang-riscv64-unknown-elf.txt + scripts/cross-clang-rv32imafdc-unknown-elf.txt + scripts/cross-clang-thumb-none-eabi.txt + scripts/cross-clang-thumbv6m-none-eabi.txt + scripts/cross-clang-thumbv7-a-none-eabi.txt + scripts/cross-clang-thumbv7e+dp-none-eabi.txt + scripts/cross-clang-thumbv7e+fp-none-eabi.txt + scripts/cross-clang-thumbv7m-none-eabi.txt + scripts/cross-cortex-a9-none-eabi.txt + scripts/cross-i686-linux-gnu.txt + scripts/cross-m68k-linux-gnu.txt + scripts/cross-m68k-unknown-elf.txt + scripts/cross-microblazeel-zephyr-elf.txt + scripts/cross-mips-linux-gnu.txt + scripts/cross-mips-zephyr-elf.txt + scripts/cross-mips64-linux-gnuabi64.txt + scripts/cross-mipsel-linux-gnu.txt + scripts/cross-msp430-unknown-elf.txt + scripts/cross-msp430.txt + scripts/cross-nios2-zephyr-elf.txt + scripts/cross-power9-fp128.txt + scripts/cross-power9.txt + scripts/cross-powerpc64-linux-gnu.txt + scripts/cross-powerpc64le-linux-gnu.txt + scripts/cross-riscv64-unknown-elf.txt + scripts/cross-riscv64-zephyr-elf.txt + scripts/cross-rv32imac.txt + scripts/cross-rv32imac_zicsr_zbb.txt + scripts/cross-sh-unknown-elf.txt + scripts/cross-sparc-zephyr-elf.txt + scripts/cross-sparc64-linux-gnu.txt + scripts/cross-thumbv8_1m-none-eabi.txt + scripts/cross-thumbv8m_main_fp-none-eabi.txt + scripts/cross-x86-linux-gnu.txt + scripts/cross-x86_64-linux-gnu.txt + scripts/cross-x86_64-zephyr-elf.txt + scripts/cross-xtensa-esp32-elf.txt + scripts/cross-xtensa-espressif_esp32_zephyr-elf.txt + scripts/cross-xtensa-espressif_esp32s2_zephyr-elf.txt + scripts/cross-xtensa-intel_apl_adsp_zephyr-elf.txt + scripts/cross-xtensa-intel_s1000_zephyr-elf.txt + scripts/cross-xtensa-lx106-elf.txt + scripts/cross-xtensa-nxp_imx8m_adsp_zephyr-elf.txt + scripts/cross-xtensa-nxp_imx_adsp_zephyr-elf.txt + scripts/cross-xtensa-sample_controller_zephyr-elf.txt + scripts/do-arm-tk + scripts/duplicate-names + scripts/monitor-e9 + scripts/test-picolibc + semihost/machine/x86/bios.ld + test/complex-funcs.c + test/long_double_gen.5c + test/long_double_vec.h + test/test-atomic.c + test/time-sprintf.c +Copyright: 2020 The Newlib Project +License: Default-1 + +Files: newlib/doc/chapter-texi2docbook.py + newlib/doc/makedocbook.py +Copyright: 2016 Jon Turney +License: Default-1 + +Files: newlib/libc/ctype/categories.c + newlib/libc/ctype/categories.h +Copyright: 2017 Thomas Wolff towo@towo.net +License: Default-1 + +Files: newlib/libc/ctype/ctype_.h + newlib/libc/ctype/isalnum_l.c + newlib/libc/ctype/isalpha_l.c + newlib/libc/ctype/isascii_l.c + newlib/libc/ctype/isblank_l.c + newlib/libc/ctype/iscntrl_l.c + newlib/libc/ctype/isdigit_l.c + newlib/libc/ctype/isgraph_l.c + newlib/libc/ctype/islower_l.c + newlib/libc/ctype/isprint_l.c + newlib/libc/ctype/ispunct_l.c + newlib/libc/ctype/isspace_l.c + newlib/libc/ctype/isupper_l.c + newlib/libc/ctype/iswalnum_l.c + newlib/libc/ctype/iswalpha_l.c + newlib/libc/ctype/iswblank_l.c + newlib/libc/ctype/iswcntrl_l.c + newlib/libc/ctype/iswctype_l.c + newlib/libc/ctype/iswdigit_l.c + newlib/libc/ctype/iswgraph_l.c + newlib/libc/ctype/iswlower_l.c + newlib/libc/ctype/iswprint_l.c + newlib/libc/ctype/iswpunct_l.c + newlib/libc/ctype/iswspace_l.c + newlib/libc/ctype/iswupper_l.c + newlib/libc/ctype/iswxdigit_l.c + newlib/libc/ctype/isxdigit_l.c + newlib/libc/ctype/toascii_l.c + newlib/libc/ctype/tolower_l.c + newlib/libc/ctype/toupper_l.c + newlib/libc/ctype/towctrans_l.c + newlib/libc/ctype/towlower_l.c + newlib/libc/ctype/towupper_l.c + newlib/libc/ctype/wctrans_l.c + newlib/libc/ctype/wctype_l.c + newlib/libc/include/sys/_locale.h + newlib/libc/string/strcasecmp_l.c + newlib/libc/string/strcoll_l.c + newlib/libc/string/strncasecmp_l.c + newlib/libc/string/strxfrm_l.c + newlib/libc/string/wcscasecmp_l.c + newlib/libc/string/wcscoll_l.c + newlib/libc/string/wcsncasecmp_l.c + newlib/libc/string/wcsxfrm_l.c +Copyright: 2016 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/ctype/ctype_cp.h + newlib/libc/ctype/ctype_iso.h + newlib/libc/stdlib/mbsnrtowcs.c + newlib/libc/stdlib/sb_charsets.c + newlib/libc/stdlib/wcsnrtombs.c + newlib/libc/string/local.h + newlib/libc/string/wcscasecmp.c + newlib/libc/string/wcsdup.c + newlib/libc/string/wcsncasecmp.c +Copyright: 2009 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/ctype/isblank.c + newlib/libc/stdlib/btowc.c + newlib/libc/stdlib/mbrlen.c + newlib/libc/stdlib/mbrtowc.c + newlib/libc/stdlib/mbsinit.c + newlib/libc/stdlib/mbsrtowcs.c + newlib/libc/stdlib/wcrtomb.c + newlib/libc/stdlib/wcsrtombs.c + newlib/libc/stdlib/wctob.c + newlib/libm/math/s_sincos.c + newlib/libm/math/sf_sincos.c +Copyright: 2002 Thomas Fitzsimmons +License: Default-1 + +Files: newlib/libc/ctype/mkcaseconv + newlib/libc/ctype/mkcategories + newlib/libc/ctype/mkunidata + newlib/libc/string/mkunidata + newlib/libc/string/mkwide + newlib/libc/string/mkwidthA +Copyright: 2018 Thomas Wolff +License: Default-1 + +Files: newlib/libc/include/_newlib_version.h +Copyright: 2016 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/alloca.h +Copyright: 2000 Werner Almesberger +License: Default-1 + +Files: newlib/libc/include/arpa/inet.h + newlib/libc/include/machine/endian.h + newlib/libc/include/machine/param.h + newlib/libc/machine/arm/machine/param.h +Copyright: 2004 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/cpio.h + newlib/libm/complex/clog10.c + newlib/libm/complex/clog10f.c + newlib/libm/complex/clog10l.c +Copyright: 2016 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/include/libgen.h + newlib/libc/include/sys/string.h + newlib/libc/time/gettzinfo.c +Copyright: 2005 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/limits.h + newlib/libc/include/machine/malloc.h + newlib/libc/include/machine/stdlib.h + newlib/libc/include/machine/termios.h + newlib/libc/include/sys/lock.h + newlib/libc/include/wctype.h + newlib/libc/stdlib/_Exit.c + newlib/libc/stdlib/a64l.c + newlib/libc/stdlib/l64a.c + newlib/libc/string/memccpy.c + newlib/libc/string/mempcpy.c + newlib/libc/string/strdup.c + newlib/libc/string/strerror_r.c + newlib/libc/string/strndup.c + newlib/libc/string/strnlen.c + newlib/libc/time/local.h + newlib/testsuite/newlib.wctype/tiswctype.c + newlib/testsuite/newlib.wctype/twctrans.c +Copyright: 2002 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/machine/_default_types.h + newlib/libc/machine/spu/creat.c + newlib/libc/machine/spu/sys/errno.h + newlib/libc/machine/spu/sys/sched.h + newlib/libc/machine/spu/sys/syscall.h + newlib/libc/machine/spu/sys/uio.h + newlib/libc/machine/spu/sys/utime.h +Copyright: 2007 Patrick Mansfield +License: Default-1 + +Files: newlib/libc/include/machine/_endian.h + newlib/libc/include/machine/_time.h + newlib/libc/include/memory.h +Copyright: 2016 Sebastian Huber +License: Default-1 + +Files: newlib/libc/include/machine/_types.h +Copyright: 2005 Ralf Corsepious +License: Default-1 + +Files: newlib/libc/include/machine/ansi.h +Copyright: 2001 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/ssp/stdlib.h + newlib/libc/include/ssp/wchar.h + newlib/libc/ssp/stack_protector.c + newlib/libc/string/wmempcpy.c +Copyright: 2017 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/include/sys/_default_fcntl.h + newlib/libc/include/sys/custom_file.h + newlib/libc/machine/x86/machine/fastmath.h +Copyright: 2007 Jeff Johnston +License: Default-1 + +Files: newlib/libc/include/sys/dir.h +Copyright: 2010 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/include/tar.h +Copyright: 2007 Ralf Corsepius +License: Default-1 + +Files: newlib/libc/machine/aarch64/asmdefs.h +Copyright: 2019-2023, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/aarch64/memchr.S +Copyright: 2014-2022, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/aarch64/memcmp.S +Copyright: 2013-2022, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/aarch64/memcpy.S + newlib/libc/machine/aarch64/memset.S + newlib/libc/machine/aarch64/strcmp.S +Copyright: 2012-2022, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/aarch64/memrchr-stub.c +Copyright: 2023 embedded brains GmbH & Co. KG +License: Default-1 + +Files: newlib/libc/machine/aarch64/memrchr.S +Copyright: 2020-2022, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/aarch64/stpcpy.S +Copyright: 2020, Arm Limited. SPDX-License-Identifier: MIT +License: Default-1 + +Files: newlib/libc/machine/arm/setjmp.S +Copyright: 1997 Nick Clifton, Cygnus Solutions +License: Default-1 + +Files: newlib/libc/machine/cr16/setjmp.S + newlib/libc/machine/crx/setjmp.S +Copyright: 2004 National Semiconductor Corporation +License: Default-1 + +Files: newlib/libc/machine/frv/setjmp.S +Copyright: 2002 Dave Brolley +License: Default-1 + +Files: newlib/libc/machine/h8300/h8sx_strcpy.S +Copyright: 2003 Richard Sandiford +License: Default-1 + +Files: newlib/libc/machine/h8300/setarch.h +Copyright: 2003 Kazu Hirata +License: Default-1 + +Files: newlib/libc/machine/iq2000/setjmp.S +Copyright: 2003 Anthony Green +License: Default-1 + +Files: newlib/libc/machine/m68k/m68kasm.h +Copyright: 2008 Jeff Johnston +License: Default-1 + +Files: newlib/libc/machine/mep/setjmp.S +Copyright: 2003 DJ Delorie, Red Hat Inc. +License: Default-1 + +Files: newlib/libc/machine/microblaze/mb_endian.h +Copyright: 2013 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/machine/mt/setjmp.S +Copyright: 2005 Aldy Hernandez +License: Default-1 + +Files: newlib/libc/machine/rx/memchr.S + newlib/libc/machine/rx/memcpy.S + newlib/libc/machine/rx/memmove.S + newlib/libc/machine/rx/mempcpy.S + newlib/libc/machine/rx/memset.S + newlib/libc/machine/rx/setjmp.S + newlib/libc/machine/rx/strcat.S + newlib/libc/machine/rx/strcmp.S + newlib/libc/machine/rx/strcpy.S + newlib/libc/machine/rx/strlen.S + newlib/libc/machine/rx/strncat.S + newlib/libc/machine/rx/strncmp.S + newlib/libc/machine/rx/strncpy.S +Copyright: 2009 Nick Clifton +License: Default-1 + +Files: newlib/libc/machine/sh/memcpy.S + newlib/libc/machine/sh/memset.S + newlib/libc/machine/sh/strcmp.S + newlib/libc/machine/sh/strcpy.S + newlib/libc/machine/sh/strlen.S +Copyright: 2002 SuperH Ltd. +License: Default-1 + +Files: newlib/libc/machine/sh/strncpy.S +Copyright: 2003 SuperH Ltd. +License: Default-1 + +Files: newlib/libc/machine/spu/assert.c + newlib/libc/machine/spu/sleep.c +Copyright: 2008 Patrick Mansfield +License: Default-1 + +Files: newlib/libc/machine/spu/usleep.c +Copyright: 2002 Jeff Johnston +License: Default-1 + +Files: newlib/libc/machine/spu/vfiprintf.c + newlib/libc/machine/spu/vfiscanf.c + newlib/libc/machine/spu/viprintf.c + newlib/libc/machine/spu/viscanf.c + newlib/libc/machine/spu/vsiprintf.c + newlib/libc/machine/spu/vsiscanf.c + newlib/libc/machine/spu/vsniprintf.c +Copyright: 2007 Kazunori Asayama +License: Default-1 + +Files: newlib/libc/machine/xstormy16/mallocr.c + newlib/libc/machine/xstormy16/tiny-malloc.c +Copyright: 2002 Geoffrey Keating +License: Default-1 + +Files: newlib/libc/misc/lock.c +Copyright: 2016 Thomas Preud'homme +License: Default-1 + +Files: newlib/libc/search/bsd_qsort_r.c + newlib/libc/search/qsort_r.c + newlib/libc/stdio/stdio_ext.c +Copyright: 2014 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/signal/psignal.c +Copyright: 2002, 2011 Red Hat Inc. +License: Default-1 + +Files: newlib/libc/ssp/chk_fail.c +Copyright: 2017 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/stdio/getdelim.c + newlib/libc/stdio/getline.c +Copyright: 2002, Red Hat Inc. - +License: Default-1 + +Files: newlib/libc/stdio/stdio_ext.h +Copyright: 2011 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/stdio64/fdopen64.c +Copyright: 2003 Christopher Faylor +License: Default-1 + +Files: newlib/libc/stdlib/__atexit.c + newlib/libc/stdlib/__call_atexit.c + newlib/libc/stdlib/cxa_atexit.c + newlib/libc/stdlib/cxa_finalize.c +Copyright: 2004 Paul Brook +License: Default-1 + +Files: newlib/libc/stdlib/abort.c + newlib/libc/stdlib/abs.c + newlib/libc/stdlib/assert.c + newlib/libc/stdlib/assert_func.c + newlib/libc/stdlib/assert_no_arg.c + newlib/libc/stdlib/atexit.c + newlib/libc/stdlib/atexit.h + newlib/libc/stdlib/atof.c + newlib/libc/stdlib/atoff.c + newlib/libc/stdlib/atoi.c + newlib/libc/stdlib/atol.c + newlib/libc/stdlib/calloc.c + newlib/libc/stdlib/ecvtbuf.c + newlib/libc/stdlib/efgcvt.c + newlib/libc/stdlib/eprintf.c + newlib/libc/stdlib/exit.c + newlib/libc/stdlib/labs.c + newlib/libc/stdlib/local.h + newlib/libc/stdlib/mallocr.c + newlib/libc/stdlib/mbctype.h + newlib/libc/stdlib/mblen.c + newlib/libc/stdlib/mbstowcs.c + newlib/libc/stdlib/mbtowc.c + newlib/libc/stdlib/mbtowc_r.c + newlib/libc/stdlib/mstats.c + newlib/libc/stdlib/on_exit.c + newlib/libc/stdlib/rand.c + newlib/libc/stdlib/rand_r.c + newlib/libc/stdlib/srand.c + newlib/libc/stdlib/stdlib.tex + newlib/libc/stdlib/system.c + newlib/libc/stdlib/wcstombs.c + newlib/libc/stdlib/wctomb.c + newlib/libc/stdlib/wctomb_r.c +Copyright: 1990 Regents of the University of California. +License: Default-1 + +Files: newlib/libc/stdlib/getenv_r.c +Copyright: 1991 DJ Delorie. +License: Default-1 + +Files: newlib/libc/stdlib/itoa.c + newlib/libc/stdlib/utoa.c +Copyright: 2014 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/stdlib/random.c + newlib/libc/stdlib/srandom.c +Copyright: 2016 Joel Sherrill +License: Default-1 + +Files: newlib/libc/string/memrchr.c +Copyright: 2012 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/string/rawmemchr.c +Copyright: 2013 Yaakov Selkowitz +License: Default-1 + +Files: newlib/libc/string/stpcpy.c + newlib/libc/string/stpncpy.c + newlib/libc/string/wcpcpy.c + newlib/libc/string/wcpncpy.c + newlib/libc/string/wcsxfrm.c +Copyright: 2007 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/string/strchrnul.c +Copyright: 2011 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/string/strnstr.c +Copyright: 2017 Sichen Zhao <1473996754@qq.com> +License: Default-1 + +Files: newlib/libc/string/strsep.c +Copyright: 2002, Red Hat Inc. +License: Default-1 + +Files: newlib/libc/string/swab.c +Copyright: 2000 Alexandre Oliva +License: Default-1 + +Files: newlib/libc/string/uniset +Copyright: 2018 Markus Kuhn +License: Default-1 + +Files: newlib/libc/string/wcscoll.c + newlib/libc/string/wcswidth.c + newlib/libc/string/wcwidth.c +Copyright: 2003 Corinna Vinschen +License: Default-1 + +Files: newlib/libc/string/xpg_strerror_r.c +Copyright: 2011 Eric Blake +License: Default-1 + +Files: newlib/libc/time/month_lengths.c + newlib/libc/time/tzcalc_limits.c +Copyright: 2002 Arthur David Olson +License: Default-1 + +Files: newlib/libc/time/tzvars.c +Copyright: 2005 Tom Walsh +License: Default-1 + +Files: newlib/libc/time/wcsftime.c +Copyright: 2009 Craig Howland +License: Default-1 + +Files: newlib/libm/machine/x86/fenv.c +Copyright: 2010-2019 Red Hat, Inc. +License: Default-1 + +Files: zephyr/Kconfig +Copyright: 2021 Amazon.com, Inc. or its affiliates. SPDX-License-Identifier: Apache-2.0 +License: Default-1 + +Files: newlib/libc/include/fenv.h + newlib/libc/machine/riscv/asm.h + newlib/libc/machine/riscv/ieeefp.c + newlib/libc/machine/riscv/local.h + newlib/libc/machine/riscv/machine/fenv.h + newlib/libc/machine/riscv/memcpy.c + newlib/libc/machine/riscv/memset.S + newlib/libc/machine/riscv/setjmp.S + newlib/libc/machine/riscv/strcmp.S + newlib/libc/machine/riscv/strcpy.c + newlib/libc/machine/riscv/strlen.c +Copyright: 2017 SiFive Inc. +License: FreeBSD-1 + +Files: newlib/libc/machine/csky/setjmp.S +Copyright: 2020 C-SKY Microsystems +License: FreeBSD-1 + +Files: newlib/libc/machine/riscv/memcpy-asm.S + newlib/libc/machine/riscv/memmove-stub.c + newlib/libc/machine/riscv/memmove.S +Copyright: 2019 SiFive Inc. +License: FreeBSD-1 + +Files: test/printf-tests.c + test/testcases.c +Copyright: 2013 Bart Massey +License: GPL2-1 + +Files: newlib/libc/argz/argz_add.c + newlib/libc/argz/argz_add_sep.c + newlib/libc/argz/argz_append.c + newlib/libc/argz/argz_count.c + newlib/libc/argz/argz_create.c + newlib/libc/argz/argz_create_sep.c + newlib/libc/argz/argz_delete.c + newlib/libc/argz/argz_extract.c + newlib/libc/argz/argz_next.c + newlib/libc/argz/argz_replace.c + newlib/libc/argz/argz_stringify.c + newlib/libc/argz/buf_findstr.c + newlib/libc/argz/buf_findstr.h + newlib/libc/argz/envz_add.c + newlib/libc/argz/envz_entry.c + newlib/libc/argz/envz_get.c + newlib/libc/argz/envz_merge.c + newlib/libc/argz/envz_remove.c + newlib/libc/argz/envz_strip.c + newlib/libc/include/argz.h + newlib/libc/include/envz.h + newlib/libm/common/s_fdim.c + newlib/libm/common/s_fma.c + newlib/libm/common/s_fmax.c + newlib/libm/common/s_fmin.c + newlib/libm/common/s_signbit.c + newlib/libm/common/sf_fdim.c + newlib/libm/common/sf_fma.c + newlib/libm/common/sf_fmax.c + newlib/libm/common/sf_fmin.c + newlib/libm/machine/spu/sf_fpclassify.c + newlib/testsuite/config/default.exp + newlib/testsuite/include/check.h + newlib/testsuite/lib/checkoutput.exp + newlib/testsuite/lib/newlib.exp + newlib/testsuite/lib/passfail.exp + newlib/testsuite/newlib.elix/elix.exp + newlib/testsuite/newlib.elix/tmmap.c + newlib/testsuite/newlib.locale/UTF-8.c + newlib/testsuite/newlib.locale/UTF-8.exp + newlib/testsuite/newlib.locale/locale.exp + newlib/testsuite/newlib.search/hsearchtest.exp + newlib/testsuite/newlib.stdlib/atexit.c + newlib/testsuite/newlib.stdlib/atexit.exp + newlib/testsuite/newlib.string/string.exp + newlib/testsuite/newlib.string/tstring.c + newlib/testsuite/newlib.wctype/twctype.c + newlib/testsuite/newlib.wctype/wctype.exp +Copyright: 2002 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libc/argz/argz_insert.c +Copyright: 2002, 2005 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libc/include/inttypes.h + newlib/libc/include/stdint.h + newlib/libc/include/sys/_intsup.h + newlib/libc/include/sys/_stdint.h +Copyright: 2004, 2005 by Ralf Corsepius, Ulm/Germany. +License: Other-1 + +Files: newlib/libc/include/wordexp.h +Copyright: 2002, 2010 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libc/machine/x86/memchr-32.S + newlib/libc/machine/x86/memset-32.S + newlib/libc/machine/x86/strchr-32.S + newlib/libc/machine/x86/strlen-32.S +Copyright: 1998, 2002, 2008 Red Hat Inc. +License: Other-1 + +Files: newlib/libc/machine/x86/memcmp-32.S + newlib/libc/machine/x86/memcpy-32.S + newlib/libc/machine/x86/memmove-32.S + newlib/libm/machine/x86/f_atan2.S + newlib/libm/machine/x86/f_atan2f.S + newlib/libm/machine/x86/f_exp.c + newlib/libm/machine/x86/f_expf.c + newlib/libm/machine/x86/f_frexp.S + newlib/libm/machine/x86/f_frexpf.S + newlib/libm/machine/x86/f_ldexp.S + newlib/libm/machine/x86/f_ldexpf.S + newlib/libm/machine/x86/f_log.S + newlib/libm/machine/x86/f_log10.S + newlib/libm/machine/x86/f_log10f.S + newlib/libm/machine/x86/f_logf.S + newlib/libm/machine/x86/f_math.h + newlib/libm/machine/x86/f_pow.c + newlib/libm/machine/x86/f_powf.c + newlib/libm/machine/x86/f_tan.S + newlib/libm/machine/x86/f_tanf.S + newlib/libm/machine/x86/i386mach.h +Copyright: 1998, 2002 Red Hat Inc. +License: Other-1 + +Files: newlib/libc/machine/x86/memcpy-64.S + newlib/libc/machine/x86/memset-64.S + newlib/libc/machine/x86/setjmp-64.S + newlib/libc/machine/x86/x86_64mach.h +Copyright: 2007 Ellips BV. +License: Other-1 + +Files: newlib/libc/machine/xstormy16/setjmp.S +Copyright: 2001 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libc/posix/basename.c + newlib/libc/posix/dirname.c +Copyright: 2005 Shaun Jackman +License: Other-1 + +Files: newlib/libc/stdio/asniprintf.c + newlib/libc/stdio/asnprintf.c + newlib/libc/stdio/vasniprintf.c +Copyright: 2007, 2008 Eric Blake +License: Other-1 + +Files: newlib/libc/stdio/diprintf.c +Copyright: 2005, 2007 Shaun Jackman +License: Other-1 + +Files: newlib/libc/stdio/dprintf.c + newlib/libc/stdio/vdiprintf.c + newlib/libc/stdio/vdprintf.c +Copyright: 2005, 2007 Shaun Jackman +License: Other-1 + +Files: newlib/libc/stdio/fmemopen.c + newlib/libc/stdio/fopencookie.c + newlib/libc/stdio/funopen.c + newlib/libc/stdio/open_memstream.c + newlib/libc/stdio/vasnprintf.c +Copyright: 2007 Eric Blake +License: Other-1 + +Files: newlib/libc/stdio/fpurge.c +Copyright: 2009 Eric Blake +License: Other-1 + +Files: newlib/libc/string/gnu_basename.c +Copyright: 2015 Red Hat, Inc. +License: Other-1 + +Files: newlib/libc/string/str-two-way.h +Copyright: 2008, 2010 Eric Blake +License: Other-1 + +Files: newlib/libm/common/s_fpclassify.c + newlib/libm/common/sf_fpclassify.c + newlib/libm/ld/ld128/s_fpclassifyl.c + newlib/libm/ld/ld80/s_fpclassifyl.c +Copyright: 2002, 2007 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libm/complex/cabsl.c + newlib/libm/complex/cimagl.c + newlib/libm/complex/creall.c + newlib/libm/math/sl_hypot.c +Copyright: 2015 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/libm/ld/common/s_sincosl.c +Copyright: 2013 Elliot Saba Developed at the University of Washington +License: Other-1 + +Files: newlib/testsuite/lib/flags.exp +Copyright: 2002, 2011 Red Hat, Incorporated. +License: Other-1 + +Files: newlib/testsuite/newlib.stdio/nulprintf.c +Copyright: 2014 ARM Ltd. +License: Other-1 + +Files: newlib/testsuite/newlib.stdio/stdio.exp + newlib/testsuite/newlib.stdio/swprintf.c +Copyright: 2011 ARM Ltd. +License: Other-1 + +Files: newlib/testsuite/newlib.stdlib/size_max.c + newlib/testsuite/newlib.stdlib/stdlib.exp +Copyright: 2008 CodeSourcery, Inc. +License: Other-1 + +Files: newlib/testsuite/newlib.time/time.exp +Copyright: 2022 jdoubleu. +License: Other-1 + +Files: newlib/libc/include/complex.h +Copyright: 2010 Matthias Drochner. +License: Other-2 + +Files: newlib/libc/string/explicit_bzero.c +Copyright: 2014 Ted Unangst +License: Other-2 + +Files: newlib/libc/include/elf.h + newlib/libc/string/strverscmp.c + newlib/libm/common/nexttowardf.c +Copyright: 2005-2014 Rich Felker, et al. +License: Other-3 + +Files: newlib/libc/include/ftw.h + newlib/libc/posix/ftw.c + newlib/libc/posix/nftw.c +Copyright: 2005-2020 Rich Felker, et al. +License: Other-3 + +Files: newlib/libc/machine/xtensa/machine/core-isa.h +Copyright: 1999-2010 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/machine/xtensa/memcpy.S +Copyright: 2002-2008 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/machine/xtensa/memset.S + newlib/libc/machine/xtensa/strcpy.S + newlib/libc/machine/xtensa/strlen.S + newlib/libc/machine/xtensa/strncpy.S +Copyright: 2001-2008 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/machine/xtensa/setjmp.S +Copyright: 2001-2006 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/machine/xtensa/strcmp.S +Copyright: 2001-20012 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/machine/xtensa/xtensa-asm.h +Copyright: 2006 Tensilica Inc. +License: Other-3 + +Files: newlib/libc/sys/xtensa/include/xtensa/config/core-isa.h +Copyright: 1999-2023 Tensilica Inc. +License: Other-3 + +Files: test/libc-testsuite/basename.c + test/libc-testsuite/dirname.c + test/libc-testsuite/fnmatch.c + test/libc-testsuite/qsort.c + test/libc-testsuite/snprintf.c + test/libc-testsuite/sscanf.c + test/libc-testsuite/string.c + test/libc-testsuite/strtod.c + test/libc-testsuite/strtol.c +Copyright: 2005-2020 Rich Felker +License: Other-3 + +Files: newlib/libc/include/getopt.h +Copyright: 1997 Gregory Pietsch +License: Other-4 + +Files: newlib/libc/include/machine/_arc4random.h + newlib/libc/stdlib/arc4random.c + newlib/libc/stdlib/chacha_private.h +Copyright: 1996, David Mazieres + 2008, Damien Miller + 2013, Markus Friedl + 2014, Theo de Raadt +License: Other-5 + +Files: newlib/libc/stdlib/arc4random_uniform.c +Copyright: 2008, Damien Miller +License: Other-5 + +Files: newlib/libc/stdlib/reallocarray.c +Copyright: 2008 Otto Moerbeek +License: Other-5 + +Files: newlib/libc/string/strlcat.c + newlib/libc/string/strlcpy.c + newlib/libc/string/wcslcat.c + newlib/libc/string/wcslcpy.c +Copyright: 1998, 2015 Todd C. Miller +License: Other-5 + +Files: newlib/libc/string/timingsafe_bcmp.c +Copyright: 2010 Damien Miller. +License: Other-5 + +Files: newlib/libc/string/timingsafe_memcmp.c +Copyright: 2014 Google Inc. +License: Other-5 + +Files: newlib/libm/ld/common/polevll.c + newlib/libm/ld/ld128/e_expl.c + newlib/libm/ld/ld128/e_lgammal_r.c + newlib/libm/ld/ld128/e_log10l.c + newlib/libm/ld/ld128/e_log2l.c + newlib/libm/ld/ld128/e_logl.c + newlib/libm/ld/ld128/s_expm1l.c + newlib/libm/ld/ld128/s_log1pl.c + newlib/libm/ld/ld80/e_expl.c + newlib/libm/ld/ld80/e_log10l.c + newlib/libm/ld/ld80/e_log2l.c + newlib/libm/ld/ld80/e_logl.c + newlib/libm/ld/ld80/e_powl.c + newlib/libm/ld/ld80/e_tgammal.c + newlib/libm/ld/ld80/s_expm1l.c + newlib/libm/ld/ld80/s_log1pl.c +Copyright: 2008 Stephen L. Moshier +License: Other-5 + +Files: newlib/libm/ld/ld128/e_tgammal.c +Copyright: 2011 Martynas Venckus +License: Other-5 + +Files: newlib/libc/include/machine/fastmath.h + newlib/libc/include/machine/ieeefp.h + newlib/libc/include/machine/setjmp-dj.h + newlib/libc/include/machine/setjmp.h + newlib/libc/include/machine/time.h + newlib/libc/include/machine/types.h + newlib/libc/machine/x86/setjmp-32.S +Copyright: 1991 DJ Delorie +License: Other-6 + +Files: newlib/libc/include/sched.h + newlib/libc/include/sys/sched.h +Copyright: 1989-2010. On-Line Applications Research Corporation (OAR). +License: Other-7 + +Files: newlib/libc/include/sys/features.h +Copyright: 1989-2014. On-Line Applications Research Corporation (OAR). +License: Other-7 + +Files: newlib/libc/string/strsignal.c +Copyright: 2010, 2017. On-Line Applications Research Corporation (OAR). +License: Other-7 + +Files: newlib/libc/machine/amdgcn/abort.c + newlib/libc/machine/amdgcn/atexit.c + newlib/libc/machine/amdgcn/getreent.c + newlib/libc/machine/amdgcn/signal.c +Copyright: 2014-2017 Mentor Graphics. +License: Other-8 + +Files: newlib/libc/machine/amdgcn/exit-value.h + newlib/libc/machine/amdgcn/mlock.c +Copyright: 2017 Mentor Graphics. +License: Other-8 + +Files: newlib/libc/machine/bfin/longjmp.S + newlib/libc/machine/bfin/setjmp.S +Copyright: 2006 Analog Devices, Inc. +License: Other-8 + +Files: newlib/libc/machine/cr16/getenv.c + newlib/libc/machine/cr16/sys/libh.h + newlib/libc/machine/cr16/sys/syscall.h + newlib/libc/machine/crx/getenv.c + newlib/libc/machine/crx/sys/asm.h + newlib/libc/machine/crx/sys/libh.h + newlib/libc/machine/crx/sys/syscall.h +Copyright: 2004 National Semiconductor Corporation +License: Other-8 + +Files: newlib/libc/machine/cr16/sys/asm.h +Copyright: 2012 National Semiconductor Corporation +License: Other-8 + +Files: newlib/libc/machine/ft32/memcpy.S + newlib/libc/machine/ft32/memset.S + newlib/libc/machine/ft32/setjmp.S + newlib/libc/machine/ft32/stpcmp.S + newlib/libc/machine/ft32/strcmp.S + newlib/libc/machine/ft32/strcpy.S + newlib/libc/machine/ft32/strlen.S +Copyright: 2014 FTDI (support@ftdichip.com) +License: Other-8 + +Files: newlib/libc/machine/m68hc11/setjmp.S +Copyright: 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) +License: Other-8 + +Files: newlib/libc/machine/m68k/memcpy.S + newlib/libc/machine/m68k/memset.S +Copyright: 2007 mocom software GmbH & Co KG) +License: Other-8 + +Files: newlib/libc/machine/mips/strlen.c +Copyright: 2001, 2002 Red Hat, Inc. +License: Other-8 + +Files: newlib/libc/machine/mips/strncpy.c +Copyright: 2001 Red Hat, Inc. +License: Other-8 + +Files: newlib/libc/machine/moxie/setjmp.S +Copyright: 2009, 2019 Anthony Green +License: Other-8 + +Files: newlib/libc/machine/nvptx/_exit.c + newlib/libc/machine/nvptx/abort.c + newlib/libc/machine/nvptx/calloc.c + newlib/libc/machine/nvptx/callocr.c + newlib/libc/machine/nvptx/mallocr.c + newlib/libc/machine/nvptx/misc.c + newlib/libc/machine/nvptx/reallocr.c + newlib/libc/machine/nvptx/write.c +Copyright: 2014-2018 Mentor Graphics. +License: Other-8 + +Files: newlib/libc/machine/nvptx/assert.c + newlib/libc/machine/nvptx/free.c + newlib/libc/machine/nvptx/malloc.c + newlib/libc/machine/nvptx/realloc.c +Copyright: 2016-2018 Mentor Graphics. +License: Other-8 + +Files: newlib/libc/machine/nvptx/printf.c + newlib/libc/machine/nvptx/putchar.c + newlib/libc/machine/nvptx/puts.c +Copyright: 2015-2018 Mentor Graphics. +License: Other-8 + +Files: newlib/libc/sys/amdgcn/lock.c +Copyright: 2024 BayLibre. +License: Other-8 + +Files: newlib/libc/machine/cris/include/pthread.h + newlib/libc/machine/cris/sys/errno.h + newlib/libc/machine/cris/sys/fcntl.h + newlib/libc/machine/cris/sys/signal.h +Copyright: 2001, 2004, 2005 Axis Communications AB. +License: Other-9 + +Files: newlib/libc/machine/cris/libcdtor.c +Copyright: 1999, 2000, 2003, 2004, 2005 Axis Communications. +License: Other-9 + +Files: newlib/libc/machine/cris/memcpy.c +Copyright: 1994-2005 Axis Communications. +License: Other-9 + +Files: newlib/libc/machine/cris/memmove.c +Copyright: 2000-2005 Axis Communications. +License: Other-9 + +Files: newlib/libc/machine/cris/memset.c +Copyright: 1999-2005 Axis Communications. +License: Other-9 + +Files: newlib/libc/machine/cris/setjmp.c +Copyright: 1993-2005 Axis Communications. +License: Other-9 + +Files: newlib/testsuite/newlib.string/memmove1.c +Copyright: 2005 Axis Communications. +License: Other-9 + +Files: newlib/libc/machine/hppa/memchr.S + newlib/libc/machine/hppa/memcmp.S + newlib/libc/machine/hppa/memcpy.S + newlib/libc/machine/hppa/memset.S + newlib/libc/machine/hppa/pcc_prefix.s + newlib/libc/machine/hppa/strcat.S + newlib/libc/machine/hppa/strcmp.S + newlib/libc/machine/hppa/strcpy.S + newlib/libc/machine/hppa/strlen.S + newlib/libc/machine/hppa/strncat.S + newlib/libc/machine/hppa/strncmp.S + newlib/libc/machine/hppa/strncpy.S +Copyright: 1986 HEWLETT-PACKARD COMPANY +License: Other-10 + +Files: newlib/libc/machine/i960/memccpy.S + newlib/libc/machine/i960/memccpy_ca.S + newlib/libc/machine/i960/memchr.S + newlib/libc/machine/i960/memchr_ca.S + newlib/libc/machine/i960/memcmp.S + newlib/libc/machine/i960/memcmp_ca.S + newlib/libc/machine/i960/memcpy.S + newlib/libc/machine/i960/memcpy_ca.S + newlib/libc/machine/i960/memset.S + newlib/libc/machine/i960/setjmp.S + newlib/libc/machine/i960/strchr.S + newlib/libc/machine/i960/strchr_ca.S + newlib/libc/machine/i960/strcmp.S + newlib/libc/machine/i960/strcmp_ca.S + newlib/libc/machine/i960/strcpy.S + newlib/libc/machine/i960/strcpy_ca.S + newlib/libc/machine/i960/strcspn.S + newlib/libc/machine/i960/strdup.S + newlib/libc/machine/i960/strlen.S + newlib/libc/machine/i960/strlen_ca.S + newlib/libc/machine/i960/strncat.S + newlib/libc/machine/i960/strncat_ca.S + newlib/libc/machine/i960/strncmp.S + newlib/libc/machine/i960/strncmp_ca.S + newlib/libc/machine/i960/strncpy.S + newlib/libc/machine/i960/strncpy_ca.S + newlib/libc/machine/i960/strpbrk.S + newlib/libc/machine/i960/strrchr.S +Copyright: 1993 Intel Corporation +License: Other-11 + +Files: newlib/libc/machine/msp430/setjmp.S +Copyright: 2013 Red Hat, Inc. +License: Other-12 + +Files: newlib/libc/machine/tic4x/setjmp.S +Copyright: 2004 Michael Hayes . +License: Other-13 + +Files: newlib/libc/machine/xc16x/putchar.c + newlib/libc/machine/xc16x/puts.c + newlib/libc/machine/xc16x/setjmp.S +Copyright: 2006 KPIT Cummins + 2009 Conny Marco Menebröcker +License: Other-14 + +Files: newlib/libc/machine/z8k/memcmp.S + newlib/libc/machine/z8k/memcpy.S + newlib/libc/machine/z8k/memmove.S + newlib/libc/machine/z8k/memset.S +Copyright: 2004 Christian Groessler +License: Other-15 + +Files: newlib/libc/misc/fini.c +Copyright: 2010 CodeSourcery, Inc. +License: Other-15 + +Files: newlib/libc/misc/init.c +Copyright: 2004 CodeSourcery, LLC +License: Other-15 + +Files: newlib/libc/reent/reent.c + newlib/libc/reent/reent.tex + newlib/libc/signal/signal.c + newlib/libc/signal/signal.tex + newlib/libc/string/bcmp.c + newlib/libc/string/bcopy.c + newlib/libc/string/bzero.c + newlib/libc/string/index.c + newlib/libc/string/memchr.c + newlib/libc/string/memcmp.c + newlib/libc/string/memcpy.c + newlib/libc/string/memmove.c + newlib/libc/string/memset.c + newlib/libc/string/rindex.c + newlib/libc/string/strcasecmp.c + newlib/libc/string/strcat.c + newlib/libc/string/strchr.c + newlib/libc/string/strcmp.c + newlib/libc/string/strcoll.c + newlib/libc/string/strcpy.c + newlib/libc/string/strcspn.c + newlib/libc/string/strerror.c + newlib/libc/string/strings.tex + newlib/libc/string/strlen.c + newlib/libc/string/strlwr.c + newlib/libc/string/strncasecmp.c + newlib/libc/string/strncat.c + newlib/libc/string/strncmp.c + newlib/libc/string/strncpy.c + newlib/libc/string/strpbrk.c + newlib/libc/string/strrchr.c + newlib/libc/string/strspn.c + newlib/libc/string/strtok.c + newlib/libc/string/strupr.c + newlib/libc/string/strxfrm.c + newlib/libc/time/asctime.c + newlib/libc/time/asctime_r.c + newlib/libc/time/clock.c + newlib/libc/time/ctime.c + newlib/libc/time/ctime_r.c + newlib/libc/time/difftime.c + newlib/libc/time/gmtime.c + newlib/libc/time/gmtime_r.c + newlib/libc/time/lcltime.c + newlib/libc/time/lcltime_buf.c + newlib/libc/time/lcltime_r.c + newlib/libc/time/mktime.c + newlib/libc/time/time.c + newlib/libc/time/time.tex + newlib/libm/test/acos_vec.c + newlib/libm/test/acosf_vec.c + newlib/libm/test/acosh_vec.c + newlib/libm/test/acoshf_vec.c + newlib/libm/test/asin_vec.c + newlib/libm/test/asinf_vec.c + newlib/libm/test/asinh_vec.c + newlib/libm/test/asinhf_vec.c + newlib/libm/test/atan2_vec.c + newlib/libm/test/atan2f_vec.c + newlib/libm/test/atan_vec.c + newlib/libm/test/atanf_vec.c + newlib/libm/test/atanh_vec.c + newlib/libm/test/atanhf_vec.c + newlib/libm/test/ceil_vec.c + newlib/libm/test/ceilf_vec.c + newlib/libm/test/conv_vec.c + newlib/libm/test/convert.c + newlib/libm/test/cos_vec.c + newlib/libm/test/cosf_vec.c + newlib/libm/test/cosh_vec.c + newlib/libm/test/coshf_vec.c + newlib/libm/test/dcvt.c + newlib/libm/test/dvec.c + newlib/libm/test/erf_vec.c + newlib/libm/test/erfc_vec.c + newlib/libm/test/erfcf_vec.c + newlib/libm/test/erff_vec.c + newlib/libm/test/exp_vec.c + newlib/libm/test/expf_vec.c + newlib/libm/test/fabs_vec.c + newlib/libm/test/fabsf_vec.c + newlib/libm/test/floor_vec.c + newlib/libm/test/floorf_vec.c + newlib/libm/test/fmod_vec.c + newlib/libm/test/fmodf_vec.c + newlib/libm/test/gamma_vec.c + newlib/libm/test/gammaf_vec.c + newlib/libm/test/hypot_vec.c + newlib/libm/test/hypotf_vec.c + newlib/libm/test/iconv_vec.c + newlib/libm/test/j0_vec.c + newlib/libm/test/j0f_vec.c + newlib/libm/test/j1_vec.c + newlib/libm/test/j1f_vec.c + newlib/libm/test/jn_vec.c + newlib/libm/test/jnf_vec.c + newlib/libm/test/log10_vec.c + newlib/libm/test/log10f_vec.c + newlib/libm/test/log1p_vec.c + newlib/libm/test/log1pf_vec.c + newlib/libm/test/log2_vec.c + newlib/libm/test/log2f_vec.c + newlib/libm/test/log_vec.c + newlib/libm/test/logf_vec.c + newlib/libm/test/math.c + newlib/libm/test/math2.c + newlib/libm/test/sin_vec.c + newlib/libm/test/sinf_vec.c + newlib/libm/test/sinh_vec.c + newlib/libm/test/sinhf_vec.c + newlib/libm/test/sprint_ivec.c + newlib/libm/test/sprint_vec.c + newlib/libm/test/sqrt_vec.c + newlib/libm/test/sqrtf_vec.c + newlib/libm/test/string.c + newlib/libm/test/tan_vec.c + newlib/libm/test/tanf_vec.c + newlib/libm/test/tanh_vec.c + newlib/libm/test/tanhf_vec.c + newlib/libm/test/test.c + newlib/libm/test/test.h + newlib/libm/test/test_ieee.c + newlib/libm/test/test_is.c + newlib/libm/test/trunc_vec.c + newlib/libm/test/truncf_vec.c + newlib/libm/test/y0_vec.c + newlib/libm/test/y0f_vec.c + newlib/libm/test/y1_vec.c + newlib/libm/test/y1f_vec.c + newlib/libm/test/yn_vec.c + newlib/libm/test/ynf_vec.c +Copyright: 1994 Cygnus Support. +License: Other-16 + +Files: newlib/libc/stdio/vfieeefp.h + newlib/libc/stdlib/dtoa.c + newlib/libc/stdlib/mprec.c + newlib/libc/stdlib/mprec.h +Copyright: 1991 AT&T. +License: Other-17 + +Files: newlib/libc/stdlib/drand48.c + newlib/libc/stdlib/erand48.c + newlib/libc/stdlib/jrand48.c + newlib/libc/stdlib/lcong48.c + newlib/libc/stdlib/lrand48.c + newlib/libc/stdlib/mrand48.c + newlib/libc/stdlib/nrand48.c + newlib/libc/stdlib/rand48.c + newlib/libc/stdlib/rand48.h + newlib/libc/stdlib/seed48.c + newlib/libc/stdlib/srand48.c +Copyright: 1993 Martin Birgmeier +License: Other-18 + +Files: newlib/libc/stdlib/gdtoa-gethex.c + newlib/libc/stdlib/gdtoa.h +Copyright: 1998 Lucent Technologies +License: Other-19 + +Files: newlib/libc/stdlib/gdtoa-hexnan.c +Copyright: 2000 Lucent Technologies +License: Other-19 + +Files: newlib/libc/stdlib/strtod.c + newlib/libc/stdlib/strtodg.c +Copyright: 1998-2001 Lucent Technologies +License: Other-19 + +Files: newlib/libc/stdlib/strtorx.c +Copyright: 1998, 2000 Lucent Technologies +License: Other-19 + +Files: newlib/libc/stdlib/getopt.c +Copyright: 1997 Gregory Pietsch +License: Other-20 + +Files: newlib/libc/stdlib/ldtoa.c +Copyright: 1984,2000 S.L. Moshier +License: Other-21 + +Files: newlib/libc/string/wcsnlen.c +Copyright: 2003, Artem B. Bityuckiy (dedekind@mail.ru). +License: Other-22 + +Files: newlib/libc/sys/xtensa/crt0.c +Copyright: 2003 Tensilica Inc. +License: Other-23 + +Files: newlib/libc/tinystdio/atod_ryu.c + newlib/libc/tinystdio/atof_ryu.c + newlib/libc/tinystdio/ryu/ryu_parse.h +Copyright: 2019 Ulf Adams +License: Other-24 + +Files: newlib/libc/tinystdio/dtoa_ryu.c + newlib/libc/tinystdio/ftoa_ryu.c + newlib/libc/tinystdio/ryu/common.h + newlib/libc/tinystdio/ryu/d2s_intrinsics.h + newlib/libc/tinystdio/ryu/digit_table.h + newlib/libc/tinystdio/ryu/f2s_intrinsics.h + newlib/libc/tinystdio/ryu/ryu.h + newlib/libc/tinystdio/ryu_divpow2.c + newlib/libc/tinystdio/ryu_log10.c + newlib/libc/tinystdio/ryu_log2pow5.c + newlib/libc/tinystdio/ryu_pow5bits.c + newlib/libc/tinystdio/ryu_table.c + newlib/libc/tinystdio/ryu_umul128.c +Copyright: 2018 Ulf Adams +License: Other-24 + +Files: newlib/libc/xdr/xdr_private.c + newlib/libc/xdr/xdr_private.h +Copyright: 2009 Charles S. Wilson +License: Other-25 + +Files: newlib/libm/common/fdlibm.h + newlib/libm/common/isgreater.c + newlib/libm/common/s_cbrt.c + newlib/libm/common/s_copysign.c + newlib/libm/common/s_exp10.c + newlib/libm/common/s_expm1.c + newlib/libm/common/s_finite.c + newlib/libm/common/s_ilogb.c + newlib/libm/common/s_infinity.c + newlib/libm/common/s_isinf.c + newlib/libm/common/s_isinfd.c + newlib/libm/common/s_isnan.c + newlib/libm/common/s_isnand.c + newlib/libm/common/s_llrint.c + newlib/libm/common/s_llround.c + newlib/libm/common/s_log1p.c + newlib/libm/common/s_log2.c + newlib/libm/common/s_logb.c + newlib/libm/common/s_lrint.c + newlib/libm/common/s_lround.c + newlib/libm/common/s_modf.c + newlib/libm/common/s_nan.c + newlib/libm/common/s_nearbyint.c + newlib/libm/common/s_nextafter.c + newlib/libm/common/s_pow10.c + newlib/libm/common/s_rint.c + newlib/libm/common/s_round.c + newlib/libm/common/s_scalbln.c + newlib/libm/common/s_scalbn.c + newlib/libm/common/s_trunc.c + newlib/libm/common/sf_cbrt.c + newlib/libm/common/sf_copysign.c + newlib/libm/common/sf_exp10.c + newlib/libm/common/sf_expm1.c + newlib/libm/common/sf_finite.c + newlib/libm/common/sf_ilogb.c + newlib/libm/common/sf_infinity.c + newlib/libm/common/sf_isinf.c + newlib/libm/common/sf_isinff.c + newlib/libm/common/sf_isnan.c + newlib/libm/common/sf_isnanf.c + newlib/libm/common/sf_llrint.c + newlib/libm/common/sf_llround.c + newlib/libm/common/sf_log1p.c + newlib/libm/common/sf_logb.c + newlib/libm/common/sf_lrint.c + newlib/libm/common/sf_lround.c + newlib/libm/common/sf_modf.c + newlib/libm/common/sf_nan.c + newlib/libm/common/sf_nearbyint.c + newlib/libm/common/sf_nextafter.c + newlib/libm/common/sf_pow10.c + newlib/libm/common/sf_rint.c + newlib/libm/common/sf_round.c + newlib/libm/common/sf_scalbln.c + newlib/libm/common/sf_scalbn.c + newlib/libm/common/sf_trunc.c + newlib/libm/ld/common/s_atanl.c + newlib/libm/ld/common/s_ilogbl.c + newlib/libm/ld/common/s_logbl.c + newlib/libm/ld/common/s_scalbnl.c + newlib/libm/ld/ld128/e_acoshl.c + newlib/libm/ld/ld128/e_atanhl.c + newlib/libm/ld/ld128/e_coshl.c + newlib/libm/ld/ld128/e_fmodl.c + newlib/libm/ld/ld128/e_hypotl.c + newlib/libm/ld/ld128/e_powl.c + newlib/libm/ld/ld128/e_sinhl.c + newlib/libm/ld/ld128/s_asinhl.c + newlib/libm/ld/ld128/s_ceill.c + newlib/libm/ld/ld128/s_copysignl.c + newlib/libm/ld/ld128/s_erfl.c + newlib/libm/ld/ld128/s_floorl.c + newlib/libm/ld/ld128/s_modfl.c + newlib/libm/ld/ld128/s_nextafterl.c + newlib/libm/ld/ld128/s_nexttoward.c + newlib/libm/ld/ld128/s_nexttowardf.c + newlib/libm/ld/ld128/s_tanhl.c + newlib/libm/ld/ld128/s_truncl.c + newlib/libm/ld/ld80/e_acoshl.c + newlib/libm/ld/ld80/e_atanhl.c + newlib/libm/ld/ld80/e_coshl.c + newlib/libm/ld/ld80/e_hypotl.c + newlib/libm/ld/ld80/e_lgammal_r.c + newlib/libm/ld/ld80/e_sinhl.c + newlib/libm/ld/ld80/s_asinhl.c + newlib/libm/ld/ld80/s_ceill.c + newlib/libm/ld/ld80/s_copysignl.c + newlib/libm/ld/ld80/s_erfl.c + newlib/libm/ld/ld80/s_floorl.c + newlib/libm/ld/ld80/s_modfl.c + newlib/libm/ld/ld80/s_nextafterl.c + newlib/libm/ld/ld80/s_nexttoward.c + newlib/libm/ld/ld80/s_nexttowardf.c + newlib/libm/ld/ld80/s_tanhl.c + newlib/libm/ld/ld80/s_truncl.c + newlib/libm/ld/math_private_openbsd.h + newlib/libm/math/k_cos.c + newlib/libm/math/k_rem_pio2.c + newlib/libm/math/k_sin.c + newlib/libm/math/k_tan.c + newlib/libm/math/kf_cos.c + newlib/libm/math/kf_rem_pio2.c + newlib/libm/math/kf_sin.c + newlib/libm/math/kf_tan.c + newlib/libm/math/math.tex + newlib/libm/math/s_acos.c + newlib/libm/math/s_acosh.c + newlib/libm/math/s_asin.c + newlib/libm/math/s_asinh.c + newlib/libm/math/s_atan.c + newlib/libm/math/s_atan2.c + newlib/libm/math/s_atanh.c + newlib/libm/math/s_ceil.c + newlib/libm/math/s_cos.c + newlib/libm/math/s_cosh.c + newlib/libm/math/s_drem.c + newlib/libm/math/s_erf.c + newlib/libm/math/s_exp.c + newlib/libm/math/s_exp2.c + newlib/libm/math/s_fabs.c + newlib/libm/math/s_floor.c + newlib/libm/math/s_fmod.c + newlib/libm/math/s_frexp.c + newlib/libm/math/s_gamma.c + newlib/libm/math/s_hypot.c + newlib/libm/math/s_j0.c + newlib/libm/math/s_j1.c + newlib/libm/math/s_jn.c + newlib/libm/math/s_log.c + newlib/libm/math/s_log10.c + newlib/libm/math/s_pow.c + newlib/libm/math/s_rem_pio2.c + newlib/libm/math/s_remainder.c + newlib/libm/math/s_scalb.c + newlib/libm/math/s_signif.c + newlib/libm/math/s_sin.c + newlib/libm/math/s_sinh.c + newlib/libm/math/s_sqrt.c + newlib/libm/math/s_tan.c + newlib/libm/math/s_tanh.c + newlib/libm/math/s_tgamma.c + newlib/libm/math/sf_acos.c + newlib/libm/math/sf_acosh.c + newlib/libm/math/sf_asin.c + newlib/libm/math/sf_asinh.c + newlib/libm/math/sf_atan.c + newlib/libm/math/sf_atan2.c + newlib/libm/math/sf_atanh.c + newlib/libm/math/sf_ceil.c + newlib/libm/math/sf_cos.c + newlib/libm/math/sf_cosh.c + newlib/libm/math/sf_drem.c + newlib/libm/math/sf_erf.c + newlib/libm/math/sf_exp.c + newlib/libm/math/sf_exp2.c + newlib/libm/math/sf_fabs.c + newlib/libm/math/sf_floor.c + newlib/libm/math/sf_fmod.c + newlib/libm/math/sf_frexp.c + newlib/libm/math/sf_gamma.c + newlib/libm/math/sf_hypot.c + newlib/libm/math/sf_j0.c + newlib/libm/math/sf_j1.c + newlib/libm/math/sf_jn.c + newlib/libm/math/sf_lgamma.c + newlib/libm/math/sf_log.c + newlib/libm/math/sf_log10.c + newlib/libm/math/sf_log2.c + newlib/libm/math/sf_pow.c + newlib/libm/math/sf_rem_pio2.c + newlib/libm/math/sf_remainder.c + newlib/libm/math/sf_scalb.c + newlib/libm/math/sf_signif.c + newlib/libm/math/sf_sin.c + newlib/libm/math/sf_sinh.c + newlib/libm/math/sf_sqrt.c + newlib/libm/math/sf_tan.c + newlib/libm/math/sf_tanh.c + newlib/libm/math/sf_tgamma.c + newlib/libm/math/sr_lgamma.c + newlib/libm/math/srf_lgamma.c +Copyright: 1993 Sun Microsystems, Inc. +License: Other-26 + +Files: newlib/libm/common/s_remquo.c + newlib/libm/common/sf_remquo.c + newlib/libm/ld/common/e_acosl.c + newlib/libm/ld/common/e_asinl.c + newlib/libm/ld/common/e_atan2l.c + newlib/libm/ld/common/e_lgammal.c + newlib/libm/ld/common/k_rem_pio2.c + newlib/libm/ld/ld128/s_remquol.c + newlib/libm/ld/ld80/e_fmodl.c + newlib/libm/ld/ld80/s_remquol.c +Copyright: 1993 Sun Microsystems, Inc. +License: Other-27 + +Files: newlib/libm/ld/common/s_cbrtl.c +Copyright: 1993 Sun Microsystems, Inc. +License: Other-28 + +Files: newlib/libm/ld/ld128/e_rem_pio2l.h + newlib/libm/ld/ld80/e_rem_pio2l.h +Copyright: 1993 Sun Microsystems, Inc. +License: Other-29 + +Files: newlib/libm/ld/ld128/k_cosl.c + newlib/libm/ld/ld128/k_sinl.c + newlib/libm/ld/ld80/k_cosl.c + newlib/libm/ld/ld80/k_sinl.c +Copyright: 1993 Sun Microsystems, Inc. +License: Other-30 + +Files: newlib/libm/ld/ld128/k_tanl.c + newlib/libm/ld/ld80/k_tanl.c +Copyright: 2004 Sun Microsystems, Inc. +License: Other-31 + +Files: newlib/libm/machine/x86/f_llrint.c + newlib/libm/machine/x86/f_llrintf.c + newlib/libm/machine/x86/f_llrintl.c + newlib/libm/machine/x86/f_lrint.c + newlib/libm/machine/x86/f_lrintf.c + newlib/libm/machine/x86/f_lrintl.c + newlib/libm/machine/x86/f_rint.c + newlib/libm/machine/x86/f_rintf.c + newlib/libm/machine/x86/f_rintl.c +Copyright: 2007 Dave Korn +License: Other-32 + +Files: newlib/libc/machine/d10v/setjmp.S + newlib/libc/machine/d30v/setjmp.S + newlib/libc/machine/fr30/setjmp.S + newlib/libc/machine/h8300/defines.h + newlib/libc/machine/h8300/memcpy.S + newlib/libc/machine/h8300/memset.S + newlib/libc/machine/h8300/reg_memcpy.S + newlib/libc/machine/h8300/reg_memset.S + newlib/libc/machine/h8300/setjmp.S + newlib/libc/machine/h8300/strcmp.S + newlib/libc/machine/h8500/cmpsi.c + newlib/libc/machine/h8500/divhi3.S + newlib/libc/machine/h8500/divsi3.c + newlib/libc/machine/h8500/mulhi3.c + newlib/libc/machine/h8500/mulsi3.c + newlib/libc/machine/h8500/negsi2.c + newlib/libc/machine/h8500/psi.S + newlib/libc/machine/h8500/setjmp.S + newlib/libc/machine/h8500/shifts.c + newlib/libc/machine/hppa/DEFS.h + newlib/libc/machine/m32r/setjmp.S + newlib/libc/machine/m68k/setjmp.S + newlib/libc/machine/m68k/strcpy.c + newlib/libc/machine/m68k/strlen.c + newlib/libc/machine/m88k/setjmp.S + newlib/libc/machine/mips/setjmp.S + newlib/libc/machine/mn10200/setjmp.S + newlib/libc/machine/mn10300/memchr.S + newlib/libc/machine/mn10300/memcmp.S + newlib/libc/machine/mn10300/memcpy.S + newlib/libc/machine/mn10300/memset.S + newlib/libc/machine/mn10300/setjmp.S + newlib/libc/machine/mn10300/strchr.S + newlib/libc/machine/mn10300/strcmp.S + newlib/libc/machine/mn10300/strcpy.S + newlib/libc/machine/mn10300/strlen.S + newlib/libc/machine/necv70/fastmath.S + newlib/libc/machine/necv70/machine/registers.h + newlib/libc/machine/necv70/setjmp.S + newlib/libc/machine/powerpc/setjmp.S + newlib/libc/machine/sh/asm.h + newlib/libc/machine/sh/setjmp.S + newlib/libc/machine/sparc/machine/sparclet.h + newlib/libc/machine/sparc/scan.c + newlib/libc/machine/sparc/shuffle.c + newlib/libc/machine/tic80/setjmp.S + newlib/libc/machine/v850/setjmp.S + newlib/libc/machine/w65/cmpsi.c + newlib/libc/machine/w65/divsi3.c + newlib/libc/machine/w65/lshrhi.S + newlib/libc/machine/w65/mulsi3.c + newlib/libc/machine/w65/sdivhi3.S + newlib/libc/machine/w65/smulhi3.S + newlib/libc/machine/w65/udivhi3.S + newlib/libc/machine/w65/umodhi3.S + newlib/libc/machine/x86/i386mach.h + newlib/libc/machine/z8k/args.h + newlib/libc/machine/z8k/setjmp.S + newlib/libc/stdio/asiprintf.c + newlib/libc/stdio/clearerr.c + newlib/libc/stdio/fclose.c + newlib/libc/stdio/fcloseall.c + newlib/libc/stdio/fdopen.c + newlib/libc/stdio/feof.c + newlib/libc/stdio/ferror.c + newlib/libc/stdio/fflush.c + newlib/libc/stdio/fgetc.c + newlib/libc/stdio/fgetpos.c + newlib/libc/stdio/fgets.c + newlib/libc/stdio/fileno.c + newlib/libc/stdio/findfp.c + newlib/libc/stdio/fiprintf.c + newlib/libc/stdio/fiscanf.c + newlib/libc/stdio/floatio.h + newlib/libc/stdio/fopen.c + newlib/libc/stdio/fprintf.c + newlib/libc/stdio/fputc.c + newlib/libc/stdio/fputs.c + newlib/libc/stdio/fscanf.c + newlib/libc/stdio/fseek.c + newlib/libc/stdio/fseeko.c + newlib/libc/stdio/fsetpos.c + newlib/libc/stdio/ftell.c + newlib/libc/stdio/ftello.c + newlib/libc/stdio/fvwrite.c + newlib/libc/stdio/fwalk.c + newlib/libc/stdio/fwprintf.c + newlib/libc/stdio/fwrite.c + newlib/libc/stdio/fwscanf.c + newlib/libc/stdio/getc.c + newlib/libc/stdio/getc_u.c + newlib/libc/stdio/getchar.c + newlib/libc/stdio/getchar_u.c + newlib/libc/stdio/gets.c + newlib/libc/stdio/getw.c + newlib/libc/stdio/iprintf.c + newlib/libc/stdio/iscanf.c + newlib/libc/stdio/nano-vfscanf.c + newlib/libc/stdio/nano-vfscanf_float.c + newlib/libc/stdio/nano-vfscanf_local.h + newlib/libc/stdio/perror.c + newlib/libc/stdio/printf.c + newlib/libc/stdio/putc.c + newlib/libc/stdio/putc_u.c + newlib/libc/stdio/putchar.c + newlib/libc/stdio/putchar_u.c + newlib/libc/stdio/puts.c + newlib/libc/stdio/putw.c + newlib/libc/stdio/refill.c + newlib/libc/stdio/remove.c + newlib/libc/stdio/rename.c + newlib/libc/stdio/rewind.c + newlib/libc/stdio/rget.c + newlib/libc/stdio/scanf.c + newlib/libc/stdio/sccl.c + newlib/libc/stdio/setbuf.c + newlib/libc/stdio/setbuffer.c + newlib/libc/stdio/setlinebuf.c + newlib/libc/stdio/setvbuf.c + newlib/libc/stdio/siprintf.c + newlib/libc/stdio/siscanf.c + newlib/libc/stdio/sprintf.c + newlib/libc/stdio/sscanf.c + newlib/libc/stdio/stdio.c + newlib/libc/stdio/stdio.h + newlib/libc/stdio/stdio.tex + newlib/libc/stdio/swscanf.c + newlib/libc/stdio/sys/stdio.h + newlib/libc/stdio/tmpfile.c + newlib/libc/stdio/tmpnam.c + newlib/libc/stdio/ungetc.c + newlib/libc/stdio/vfscanf.c + newlib/libc/stdio/vfwscanf.c + newlib/libc/stdio/viprintf.c + newlib/libc/stdio/viscanf.c + newlib/libc/stdio/vprintf.c + newlib/libc/stdio/vscanf.c + newlib/libc/stdio/vsiprintf.c + newlib/libc/stdio/vsiscanf.c + newlib/libc/stdio/vsnprintf.c + newlib/libc/stdio/vsprintf.c + newlib/libc/stdio/vsscanf.c + newlib/libc/stdio/vswprintf.c + newlib/libc/stdio/vswscanf.c + newlib/libc/stdio/vwprintf.c + newlib/libc/stdio/vwscanf.c + newlib/libc/stdio/wbuf.c + newlib/libc/stdio/wbufw.c + newlib/libc/stdio/wprintf.c + newlib/libc/stdio/wscanf.c + newlib/libc/stdio64/fgetpos64.c + newlib/libc/stdio64/fopen64.c + newlib/libc/stdio64/freopen64.c + newlib/libc/stdio64/fseeko64.c + newlib/libc/stdio64/fsetpos64.c + newlib/libc/stdio64/ftello64.c + newlib/libc/stdio64/stdio64.c + newlib/libc/stdio64/stdio64.tex + newlib/libc/stdio64/tmpfile64.c + newlib/libc/tinystdio/fgetpos.c + newlib/libc/tinystdio/fsetpos.c +Copyright: 1990 The Regents of the University of California. +License: UCB-1 + +Files: newlib/libc/stdio/asprintf.c + newlib/libc/stdio/fread.c + newlib/libc/stdio/freopen.c + newlib/libc/stdio/fvwrite.h + newlib/libc/stdio/local.h + newlib/libc/stdio/makebuf.c + newlib/libc/stdio/sniprintf.c + newlib/libc/stdio/snprintf.c + newlib/libc/stdio/swprintf.c + newlib/libc/stdio/vasiprintf.c + newlib/libc/stdio/vasprintf.c + newlib/libc/stdio/vsniprintf.c + newlib/libc/stdio/wsetup.c +Copyright: 1990, 2007 The Regents of the University of California. +License: UCB-1 + +Files: newlib/libc/stdio/flags.c + newlib/libc/tinystdio/sflags.c +Copyright: 1990 Regents of the University of California. +License: UCB-1 + +Files: newlib/libc/stdio/mktemp.c + newlib/libc/stdlib/setenv.c + newlib/libc/tinystdio/mktemp.c +Copyright: 1987 Regents of the University of California. +License: UCB-2 + +Files: newlib/libc/stdlib/getenv.c +Copyright: 1987, 2000 Regents of the University of California. +License: UCB-2 + +Files: newlib/libc/stdlib/putenv.c +Copyright: 1988 The Regents of the University of California. +License: UCB-2 + +License: AGPL3-1 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + . + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +License: BSD2-1 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD2-2 + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD2-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-4 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-5 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-6 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD2-7 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD2-8 + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-9 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + +License: BSD2-10 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + TENSILICA INCORPORATED BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-11 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD2-12 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-13 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TENSILICA + INCORPORATED BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-14 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice unmodified, this list of conditions, and the following + disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD2-15 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-1 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-2 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-3 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + The name of Red Hat Incorporated may not be used to endorse + or promote products derived from this software without specific + prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-4 + c) UNIX System Laboratories, Inc. + All or some portions of this file are derived from material licensed + to the University of California by American Telephone and Telegraph + Co. or Unix System Laboratories, Inc. and are reproduced herein with + the permission of UNIX System Laboratories, Inc. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-5 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-6 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of Sun Microsystems, Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-7 + c) UNIX System Laboratories, Inc. + All or some portions of this file are derived from material licensed + to the University of California by American Telephone and Telegraph + Co. or Unix System Laboratories, Inc. and are reproduced herein with + the permission of UNIX System Laboratories, Inc. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-8 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-9 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of the Linaro nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-10 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of the company nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-11 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + 3) Neither the name of the Synopsys, Inc., nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-12 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the name of Linaro Limited nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-13 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + . + Neither the name of the copyright holders nor the names of + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-14 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of Adapteva nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-15 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + 1. Redistributions source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of Xilinx nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-16 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above + copyright + notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with + the distribution. + Neither the name of MIPS Technologies Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-17 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the MIPS Technologies, Inc., nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-18 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the MIPS Technologies, Inc., nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY IMAGINATION TECHNOLOGIES LIMITED ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL IMAGINATION TECHNOLOGIES LIMITED BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-19 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-20 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + o Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + o Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + o Neither the name of Altera Corporation nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY ALTERA CORPORATION, THE COPYRIGHT HOLDER, + AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-21 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-22 + This software was developed by the Computer Systems Engineering group + at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + contributed to Berkeley. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-23 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of IBM nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-24 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the names of Toshiba nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-25 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-26 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + . + Neither the name of Texas Instruments Incorporated nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-27 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of Rolls-Royce Controls and Data Services Limited nor + the names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-28 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-29 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-30 + SPDX-License-Identifier: BSD-3-Clause + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-31 + Portions of this software were developed by David Chisnall + under sponsorship from the FreeBSD Foundation. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-32 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: BSD3-33 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of KTH nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-34 + Rewritten in C by Soren Kuula + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + Neither the name of the copyright holders nor the names of + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-35 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + Neither the name of Mentor Graphics nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY CODESOURCERY, INC. ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL CODESOURCERY BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-36 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer + in this position and unchanged. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD3-37 + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the + following conditions are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials + provided with the distribution. + . + Neither the name of IBM Corporation nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Default-1 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + +License: FreeBSD-1 + This copyrighted material is made available to anyone wishing to use, + modify, copy, or redistribute it subject to the terms and conditions + of the FreeBSD License. This program is distributed in the hope that + it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + including the implied warranties of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. A copy of this license is available at + http://www.opensource.org/licenses. + +License: GPL2-1 + This program is licensed under the GPL version 2 or later. + Please see the file COPYING.GPL2 in this distribution for + license terms. + +License: Other-1 + Permission to use, copy, modify, and distribute this software + is freely granted, provided that this notice is preserved. + +License: Other-2 + Public domain. + +License: Other-3 + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License: Other-4 + This file and the accompanying getopt.c implementation file are hereby + placed in the public domain without restrictions. Just give the author + credit, don't claim you wrote it or prevent anyone else from using it. + . + Gregory Pietsch's current e-mail address: + gpietsch@comcast.net + +License: Other-5 + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +License: Other-6 + Redistribution, modification, and use in source and binary forms is permitted + provided that the above copyright notice and following paragraph are + duplicated in all such forms. + . + This file is distributed WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +License: Other-7 + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software. + . + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION + OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS + SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +License: Other-8 + The authors hereby grant permission to use, copy, modify, distribute, + and license this software and its documentation for any purpose, provided + that existing copyright notices are retained in all copies and that this + notice is included verbatim in any distributions. No written agreement, + license, or royalty fee is required for any of the authorized uses. + Modifications to this software may be copyrighted by their authors + and need not follow the licensing terms described here, provided that + the new terms are clearly indicated on the first page of each file where + they apply. + +License: Other-9 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Neither the name of Axis Communications nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY AXIS COMMUNICATIONS AND ITS CONTRIBUTORS + AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AXIS + COMMUNICATIONS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: Other-10 + To anyone who acknowledges that this file is provided "AS IS" + without any express or implied warranty: + permission to use, copy, modify, and distribute this file + for any purpose is hereby granted without fee, provided that + the above copyright notice and this notice appears in all + copies, and that the name of Hewlett-Packard Company not be + used in advertising or publicity pertaining to distribution + of the software without specific, written prior permission. + Hewlett-Packard Company makes no representations about the + suitability of this software for any purpose. + +License: Other-11 + Intel hereby grants you permission to copy, modify, and distribute this + software and its documentation. Intel grants this permission provided + that the above copyright notice appears in all copies and that both the + copyright notice and this permission notice appear in supporting + documentation. In addition, Intel grants this permission provided that + you prominently mark as "not part of the original" any modifications + made to this software or documentation, and that the name of Intel + Corporation not be used in advertising or publicity pertaining to + distribution of the software or the documentation without specific, + written prior permission. + . + Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR + IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY + +License: Other-12 + This copyrighted material is made available to anyone wishing to use, + modify, copy, or redistribute it subject to the terms and conditions + of the BSD License. This program is distributed in the hope that + it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + including the implied warranties of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. A copy of this license is available at + http://www.opensource.org/licenses. Any Red Hat trademarks that are + incorporated in the source code or documentation are not subject to + the BSD License and may only be used or replicated with the express + permission of Red Hat, Inc. + +License: Other-13 + The author hereby grant permission to use, copy, modify, distribute, + and license this software and its documentation for any purpose, provided + that existing copyright notices are retained in all copies and that this + notice is included verbatim in any distributions. No written agreement, + license, or royalty fee is required for any of the authorized uses. + Modifications to this software may be copyrighted by their authors + and need not follow the licensing terms described here, provided that + the new terms are clearly indicated on the first page of each file where + they apply. + +License: Other-14 + Redistribution and use in source and binary forms is permitted + provided that the above copyright notice and following paragraph are + duplicated in all such forms. + . + This file is distributed WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +License: Other-15 + Permission to use, copy, modify, and distribute this file + for any purpose is hereby granted without fee, provided that + the above copyright notice and this notice appears in all + copies. + . + This file is distributed WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +License: Other-16 + Redistribution and use in source and binary forms are permitted + provided that the above copyright notice and this paragraph are + duplicated in all such forms and that any documentation, + and/or other materials related to such + distribution and use acknowledge that the software was developed + at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to + endorse or promote products derived from this software without + specific prior written permission. + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +License: Other-17 + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software and in all copies of the supporting + documentation for such software. + . + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY + REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY + OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +License: Other-18 + You may redistribute unmodified or modified versions of this source + code provided that the above copyright notice and this and the + following conditions are retained. + . + This software is provided ``as is'', and comes with no warranties + of any kind. I shall in no event be liable for anything that happens + to anyone/anything when using this software. + +License: Other-19 + Permission to use, copy, modify, and distribute this software and + its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of Lucent or any of its entities + not be used in advertising or publicity pertaining to + distribution of the software without specific, written prior + permission. + . + LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. + IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF + THIS SOFTWARE. + +License: Other-20 + This file and the accompanying getopt.h header file are hereby placed in the + public domain without restrictions. Just give the author credit, don't + claim you wrote it or prevent anyone else from using it. + . + Gregory Pietsch's current e-mail address: + gpietsch@comcast.net + +License: Other-21 + Permission to use, copy, modify, and distribute this software for any + purpose without fee is hereby granted, provided that this entire notice + is included in all copies of any software which is or includes a copy + or modification of this software and in all copies of the supporting + documentation for such software. + . + THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED + WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION + OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS + SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +License: Other-22 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the above copyright notice, + this condition statement, and the following disclaimer are retained + in any redistributions of the source code. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: Other-23 + These coded instructions, statements, and computer programs are the + copyrighted works and confidential proprietary information of Tensilica Inc. + +License: Other-24 + The contents of this file may be used under the terms of the Apache License, + Version 2.0. + . + See accompanying file LICENSE-Apache or copy at + http://www.apache.org/licenses/LICENSE-2.0) + . + Alternatively, the contents of this file may be used under the terms of + the Boost Software License, Version 1.0. + See accompanying file LICENSE-Boost or copy at + https://www.boost.org/LICENSE_1_0.txt) + . + Unless required by applicable law or agreed to in writing, this software + is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. + +License: Other-25 + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + +License: Other-26 + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +License: Other-27 + Developed at SunSoft, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +License: Other-28 + Copyright (c) 2009-2011, Bruce D. Evans, Steven G. Kargl, David Schultz. + . + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + . + . + The argument reduction and testing for exceptional cases was + written by Steven G. Kargl with input from Bruce D. Evans + and David A. Schultz. + +License: Other-29 + Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + . + Developed at SunSoft, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + . + . + Optimized by Bruce D. Evans. + +License: Other-30 + Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + . + Developed at SunSoft, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +License: Other-31 + Copyright (c) 2008 Steven G. Kargl, David Schultz, Bruce D. Evans. + . + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +License: Other-32 + x87 FP implementation contributed to Newlib by + Dave Korn, November 2007. This file is placed in the + public domain. Permission to use, copy, modify, and + distribute this software is freely granted. + +License: UCB-1 + Redistribution and use in source and binary forms are permitted + provided that the above copyright notice and this paragraph are + duplicated in all such forms and that any documentation, + and/or other materials related to such + distribution and use acknowledge that the software was developed + by the University of California, Berkeley. The name of the + University may not be used to endorse or promote products derived + from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +License: UCB-2 + Redistribution and use in source and binary forms are permitted + provided that: (1) source distributions retain this entire copyright + notice and comment, and (2) distributions including binaries display + the following acknowledgement: ``This product includes software + developed by the University of California, Berkeley and its contributors'' + in the documentation or other materials provided with the distribution. + Neither the name of the University nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. diff --git a/source/licenses/esp-idf/components/openthread/lib/LICENSE b/source/licenses/esp-idf/components/openthread/lib/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d645695673349e3947e8e5ae42332d0ac3164cd7 --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/lib/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/source/licenses/esp-idf/components/openthread/openthread/LICENSE b/source/licenses/esp-idf/components/openthread/openthread/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..84170088783db937f70de97617b0306c413a724b --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2016, The OpenThread Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/openthread/openthread/NOTICE b/source/licenses/esp-idf/components/openthread/openthread/NOTICE new file mode 100644 index 0000000000000000000000000000000000000000..03148ddbd7818e2c18762daa4985d913323c113c --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/NOTICE @@ -0,0 +1,19 @@ +OpenThread is an open source implementation of the Thread 1.4.0 Final Specification. +The Thread 1.4.0 Final Specification is promulgated by the Thread Group. The Thread +Group is a non-profit organization formed for the purposes of defining one or +more specifications, best practices, reference architectures, implementation +guidelines and certification programs to promote the availability of compliant +implementations of the Thread protocol. Information on becoming a Member, including +information about the benefits thereof, can be found at http://threadgroup.org. + +OpenThread is not affiliated with or endorsed by the Thread Group. Implementation +of this OpenThread code does not assure compliance with the Thread 1.4.0 Final +Specification and does not convey the right to identify any final product as Thread +certified. Members of the Thread Group may hold patents and other intellectual +property rights relating to the Thread 1.4.0 Final Specification, ownership and +licenses of which are subject to the Thread Group’s IP Policies, and not this license. + +The included copyright to the OpenThread code is subject to the license in the +LICENSE file, and all other rights and licenses are expressly reserved. +No warranty or assurance is made with respect to additional rights that may be +required to implement this code. diff --git a/source/licenses/esp-idf/components/openthread/openthread/third_party/jlink/SEGGER_RTT_V640/License.txt b/source/licenses/esp-idf/components/openthread/openthread/third_party/jlink/SEGGER_RTT_V640/License.txt new file mode 100644 index 0000000000000000000000000000000000000000..bfe93b39a57d1e5b9dfb3b59ed686ee6cb05b662 --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/third_party/jlink/SEGGER_RTT_V640/License.txt @@ -0,0 +1,44 @@ +Important - Read carefully: + +SEGGER RTT - Real Time Transfer for embedded targets + +All rights reserved. + +SEGGER strongly recommends to not make any changes +to or modify the source code of this software in order to stay +compatible with the RTT protocol and J-Link. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + +o Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +o Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +o Neither the name of SEGGER Microcontroller GmbH + nor the names of its contributors may be used to endorse or + promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + + +(c) 2014 - 2016 SEGGER Microcontroller GmbH +www.segger.com diff --git a/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/LICENSE b/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..776ac77eaf5a0da545f95ad7386b9954378fa8ae --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/LICENSE @@ -0,0 +1,553 @@ +Mbed TLS files are provided under a dual [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) +OR [GPL-2.0-or-later](https://spdx.org/licenses/GPL-2.0-or-later.html) license. +This means that users may choose which of these licenses they take the code +under. + +The full text of each of these licenses is given below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/framework/LICENSE b/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/framework/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..75e3d54f39922255ebc6199aea111be094d28b5a --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/third_party/mbedtls/repo/framework/LICENSE @@ -0,0 +1,553 @@ +mbedtls-framework files are provided under a dual [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) +OR [GPL-2.0-or-later](https://spdx.org/licenses/GPL-2.0-or-later.html) license. +This means that users may choose which of these licenses they take the code +under. + +The full text of each of these licenses is given below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +=============================================================================== + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/source/licenses/esp-idf/components/openthread/openthread/tools/otci/LICENSE b/source/licenses/esp-idf/components/openthread/openthread/tools/otci/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..d63767e70a32d6e46ec67a2d53fb1c6121dbc4e6 --- /dev/null +++ b/source/licenses/esp-idf/components/openthread/openthread/tools/otci/LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2020, The OpenThread Authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/source/licenses/esp-idf/components/protobuf-c/protobuf-c/LICENSE b/source/licenses/esp-idf/components/protobuf-c/protobuf-c/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..c84ada6d02889703c44750ec95d04db7f5df0ca4 --- /dev/null +++ b/source/licenses/esp-idf/components/protobuf-c/protobuf-c/LICENSE @@ -0,0 +1,32 @@ +Copyright (c) 2008-2022, Dave Benson and the protobuf-c authors. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The code generated by the protoc-gen-c code generator and by the +protoc-c compiler is owned by the owner of the input files used when +generating it. This code is not standalone and requires a support +library to be linked with it. This support library is covered by the +above license. diff --git a/source/licenses/esp-idf/components/spiffs/spiffs/LICENSE b/source/licenses/esp-idf/components/spiffs/spiffs/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..5fb2427b41ac6efc9ffd9cdfcd79d38d3e3cda1f --- /dev/null +++ b/source/licenses/esp-idf/components/spiffs/spiffs/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013-2017 Peter Andersson (pelleplutt1976gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/source/licenses/esp-idf/components/unity/unity/LICENSE.txt b/source/licenses/esp-idf/components/unity/unity/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..a541b843203a245233aab7be76f14ca37debda8d --- /dev/null +++ b/source/licenses/esp-idf/components/unity/unity/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2007-23 Mike Karlesky, Mark VanderVoord, Greg Williams + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/source/licenses/esp-idf/components/wpa_supplicant/COPYING b/source/licenses/esp-idf/components/wpa_supplicant/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..7ca30301e28bd2a3e453a9ed58117bd9acbf0e1a --- /dev/null +++ b/source/licenses/esp-idf/components/wpa_supplicant/COPYING @@ -0,0 +1,22 @@ +wpa_supplicant and hostapd +-------------------------- + +Copyright (c) 2002-2022, Jouni Malinen and contributors +All Rights Reserved. + + +See the README file for the current license terms. + +This software was previously distributed under BSD/GPL v2 dual license +terms that allowed either of those license alternatives to be +selected. As of February 11, 2012, the project has chosen to use only +the BSD license option for future distribution. As such, the GPL v2 +license option is no longer used. It should be noted that the BSD +license option (the one with advertisement clause removed) is compatible +with GPL and as such, does not prevent use of this software in projects +that use GPL. + +Some of the files may still include pointers to GPL version 2 license +terms. However, such copyright and license notifications are maintained +only for attribution purposes and any distribution of this software +after February 11, 2012 is no longer under the GPL v2 option. diff --git a/source/licenses/esp-idf/tools/catch/LICENSE.txt b/source/licenses/esp-idf/tools/catch/LICENSE.txt new file mode 100644 index 0000000000000000000000000000000000000000..36b7cd93cdfbac762f5be4c6ce276df2ea6305c2 --- /dev/null +++ b/source/licenses/esp-idf/tools/catch/LICENSE.txt @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/source/native/flower.c b/source/native/flower.c new file mode 100644 index 0000000000000000000000000000000000000000..302445f741b0bac744b69d4b1c3482d54420893e --- /dev/null +++ b/source/native/flower.c @@ -0,0 +1,217 @@ +#include "flower.h" +#include + +typedef struct { + uint32_t weights, bias; + uint16_t input_channels, output_channels; + int8_t shift, input_exponent, output_exponent, relu; +} FC3Layer; +#include "model-meta.h" + +typedef struct { + int layer, source, scale, height, width, channels, slots; +} RowSpec; + +/* Five middle rows cover both RGB branches without evicting their shared input. */ +static const RowSpec row_specs[9] = { + {4,-1,2,22,40,128,3}, {5,0,1,22,40,128,3}, {6,1,2,44,80,64,3}, + {7,2,2,88,160,32,3}, {8,3,1,88,160,32,5}, {9,4,1,88,160,3,1}, + {10,4,1,88,160,16,3}, {11,6,2,176,320,16,3}, {12,7,1,176,320,3,1} +}; + +typedef struct { + const uint8_t *model; + int8_t *base, *cache[9]; + int tags[9][5]; + FC3Heartbeat heartbeat; + void *user; + FC3Stats *stats; +} Context; + +static int8_t saturate(int32_t value) +{ + return (int8_t)(value < -128 ? -128 : value > 127 ? 127 : value); +} + +static int32_t rounded_shift(int32_t value, int shift) +{ + /* GCC/Clang arithmetic right shift: round-half-up also for negative values. */ + return shift > 0 ? (value + (1 << (shift-1))) >> shift : value; +} + +static int32_t dot(const int8_t *a, const int8_t *b, int length) +{ + int32_t total=0; + int i=0; + for (; i+3model+layer->weights); + const int32_t *bias=(const int32_t *)(ctx->model+layer->bias); + int ci=layer->input_channels, co=layer->output_channels; + /* Four filters fit in the flash cache. Reuse each activation four times; + * all convolution inputs follow ReLU, so skipping zeros is exact. */ + int o=0; + for (; o+3=input_width*scale) continue; + const int8_t *input=rows[ky]+(expanded_x/scale)*ci; + const int8_t *w0=filter+(ky*3+kx)*ci; + const int8_t *w1=w0+9*ci,*w2=w1+9*ci,*w3=w2+9*ci; + for (int i=0;ishift)); + int8_t qb=saturate(rounded_shift(b,layer->shift)); + int8_t qc=saturate(rounded_shift(c,layer->shift)); + int8_t qd=saturate(rounded_shift(d,layer->shift)); + int8_t *dest=out+x*co+o; + dest[0]=(layer->relu && qa<0) ? 0 : qa; + dest[1]=(layer->relu && qb<0) ? 0 : qb; + dest[2]=(layer->relu && qc<0) ? 0 : qc; + dest[3]=(layer->relu && qd<0) ? 0 : qd; + } + } + for (; o=input_width*scale) continue; + int sx=expanded_x/scale; + acc += dot(rows[ky]+sx*ci,filter+(ky*3+kx)*ci,ci); + } + } + int8_t q=saturate(rounded_shift(acc,layer->shift)); + out[x*co+o]=(layer->relu && q<0) ? 0 : q; + } + } +} + +static const int8_t *get_row(Context *ctx, int index, int y) +{ + const RowSpec *spec=&row_specs[index]; + if (y<0 || y>=spec->height) return NULL; + int slot=y%spec->slots; + int8_t *dest=ctx->cache[index]+slot*spec->width*spec->channels; + if (ctx->tags[index][slot]==y) return dest; + int source_height=spec->source<0 ? 11 : row_specs[spec->source].height; + int source_width=spec->source<0 ? 20 : row_specs[spec->source].width; + const int8_t *rows[3]; + for (int ky=0;ky<3;++ky) { + int expanded_y=y+ky-1; + if (expanded_y<0 || expanded_y>=source_height*spec->scale) rows[ky]=NULL; + else { + int sy=expanded_y/spec->scale; + rows[ky]=spec->source<0 ? ctx->base+sy*20*160 : get_row(ctx,spec->source,sy); + } + } + convolve_row(ctx,&fc3_layers[spec->layer],rows,source_width,spec->width,spec->scale,dest); + ctx->tags[index][slot]=y; + if (ctx->stats) ++ctx->stats->rows_computed[index]; + if (ctx->heartbeat) ctx->heartbeat(4+index,y,ctx->user); + return dest; +} + +uint32_t fc3_crc32(uint32_t previous, const void *data, size_t length) +{ + uint32_t crc=previous^0xffffffffu; + const uint8_t *p=(const uint8_t *)data; + for (size_t i=0;i>1)^((0u-(crc&1u))&0xedb88320u); + } + return crc^0xffffffffu; +} + +void fc3_latent_from_seed(uint32_t seed, int8_t latent[64]) +{ + uint32_t state=seed ? seed : 1; + for (int i=0;i<64;++i) { + state^=state<<13; state^=state>>17; state^=state<<5; + int value=(int)(((state>>8)+32768u)>>16)-128; + latent[i]=saturate(value); + } +} + +int fc3_generate(const uint8_t *model, size_t model_bytes, const int8_t latent[64], + int8_t *arena, size_t arena_bytes, FC3RowOutput output, + FC3Heartbeat heartbeat, void *user, FC3Stats *stats) +{ + if (!model || !arena || !latent || model_bytesweights); + const int32_t *fc_bias=(const int32_t *)(model+fc->bias); + for (int o=0;o<35200;++o) { + int32_t acc=fc_bias[o]+dot(latent,fc_weights+(size_t)o*64,64); + int8_t q=saturate(rounded_shift(acc,fc->shift)); + /* The original FC output is NCHW; place it directly into NHWC. */ + arena[(o%220)*160+o/220]=q<0 ? 0 : q; + } + if (heartbeat) heartbeat(0,0,user); + int8_t *input=arena, *temp=arena+35200; + for (int block=0;block<3;++block) { + const FC3Layer *layer=&fc3_layers[block+1]; + for (int y=0;y<11;++y) { + const int8_t *rows[3]={y>0 ? input+(y-1)*20*160 : NULL,input+y*20*160,y<10 ? input+(y+1)*20*160 : NULL}; + convolve_row(&ctx,layer,rows,20,20,1,temp+y*20*160); + if (heartbeat) heartbeat(1+block,y,user); + } + int skip_shift=layer->output_exponent-layer->input_exponent; + for (int i=0;i<35200;++i) { + int8_t skip=saturate(rounded_shift(input[i],skip_shift)); + int8_t added=saturate((int32_t)temp[i]+skip); + temp[i]=fc3_lut[block][(int)added+128]; + } + int8_t *swap=input; input=temp; temp=swap; + } + if (input!=arena) memmove(arena,input,35200); + size_t offset=35200; + for (int i=0;i<9;++i) { + ctx.cache[i]=arena+offset; + offset+=(size_t)row_specs[i].width*row_specs[i].channels*row_specs[i].slots; + for (int slot=0;slot<5;++slot) ctx.tags[i][slot]=-1; + } + if (offset>arena_bytes) return -3; + if (stats) stats->arena_bytes=offset; + int8_t rgb[320*3]; + uint32_t crc=0; + for (int y=0;y<176;++y) { + const int8_t *detail=get_row(&ctx,8,y); + const int8_t *base=get_row(&ctx,5,y/2); + for (int x=0;x<320;++x) for (int c=0;c<3;++c) { + int8_t added=saturate((int32_t)detail[x*3+c]+base[(x/2)*3+c]); + rgb[x*3+c]=fc3_lut[3][(int)added+128]; + } + crc=fc3_crc32(crc,rgb,sizeof(rgb)); + if (output && output(y,rgb,user)) return -4; + if (heartbeat) heartbeat(13,y,user); + } + if (stats) stats->output_crc32=crc; + return 0; +} + +const int8_t *fc3_test_latent(void) { return fc3_reference_latent; } +uint32_t fc3_test_crc32(void) { return FC3_REFERENCE_CRC; } diff --git a/source/native/flower.h b/source/native/flower.h new file mode 100644 index 0000000000000000000000000000000000000000..7a947b7c8d69ef912850cfdb097a62c8b9a8e345 --- /dev/null +++ b/source/native/flower.h @@ -0,0 +1,25 @@ +#ifndef FLOWER_C3_H +#define FLOWER_C3_H +#include +#include + +#define FC3_WIDTH 320 +#define FC3_HEIGHT 176 +#define FC3_ARENA_BYTES 146720u + +typedef int (*FC3RowOutput)(int y, const int8_t *rgb, void *user); +typedef void (*FC3Heartbeat)(int stage, int row, void *user); +typedef struct { + size_t arena_bytes; + uint32_t output_crc32; + uint32_t rows_computed[9]; +} FC3Stats; + +void fc3_latent_from_seed(uint32_t seed, int8_t latent[64]); +int fc3_generate(const uint8_t *model, size_t model_bytes, const int8_t latent[64], + int8_t *arena, size_t arena_bytes, FC3RowOutput output, + FC3Heartbeat heartbeat, void *user, FC3Stats *stats); +const int8_t *fc3_test_latent(void); +uint32_t fc3_test_crc32(void); +uint32_t fc3_crc32(uint32_t previous, const void *data, size_t length); +#endif diff --git a/source/native/host_main.c b/source/native/host_main.c new file mode 100644 index 0000000000000000000000000000000000000000..83e20b329d232ad34260368b5691437ba19e72e2 --- /dev/null +++ b/source/native/host_main.c @@ -0,0 +1,52 @@ +#include "flower.h" +#include "render.h" +#include +#include +#include + +typedef struct { FILE *file; FC3Frame frame; } HostOutput; +static int write_row(int y, const int8_t *rgb, void *user) +{ + HostOutput *output=user; + fc3_frame_row(y,rgb,&output->frame); + return fwrite(rgb,1,FC3_WIDTH*3,output->file)==FC3_WIDTH*3 ? 0 : -1; +} + +int main(int argc,char **argv) +{ + if (argc<3) { fprintf(stderr,"Usage: host-model model.bin output.bin [seed]\n"); return 2; } + FILE *f=fopen(argv[1],"rb"); if (!f) return 3; + fseek(f,0,SEEK_END); long size=ftell(f); rewind(f); + uint8_t *model=malloc((size_t)size); + int8_t *allocation=malloc(FC3_ARENA_BYTES+64); + int8_t *arena=allocation+32; + if (!model || !allocation || fread(model,1,(size_t)size,f)!=(size_t)size) return 4; + fclose(f); + for(int i=0;i<32;++i) { allocation[i]=0x55; arena[FC3_ARENA_BYTES+i]=0x66; } + FILE *out=fopen(argv[2],"wb"); if (!out) return 5; + HostOutput target={.file=out}; + for(int i=0;i3) { fc3_latent_from_seed((uint32_t)strtoul(argv[3],NULL,10),latent); input=latent; } + FC3Stats stats; clock_t start=clock(); + int result=fc3_generate(model,(size_t)size,input,arena,FC3_ARENA_BYTES,write_row,NULL,&target,&stats); + FC3DisplayStats overlay={.generation_ms=34567,.number=12,.seed=argc>3 ? (uint32_t)strtoul(argv[3],NULL,10) : 1234,.free_heap_bytes=69512}; + fc3_frame_overlay(&target.frame,&overlay); + fclose(out); + char frame_path[2048];snprintf(frame_path,sizeof(frame_path),"%s.epaper",argv[2]); + FILE *frame_file=fopen(frame_path,"wb");if(!frame_file)return 9; + for(int i=0;i +#include +#include "palette-lut.h" + +static const uint8_t bayer[8][8]={ + {0,48,12,60,3,51,15,63},{32,16,44,28,35,19,47,31}, + {8,56,4,52,11,59,7,55},{40,24,36,20,43,27,39,23}, + {2,50,14,62,1,49,13,61},{34,18,46,30,33,17,45,29}, + {10,58,6,54,9,57,5,53},{42,26,38,22,41,25,37,21} +}; +void fc3_frame_clear(FC3Frame *frame) +{ + for(int i=0;ichunks[i],0x55,FC3_FRAME_CHUNK_BYTES); + memset(frame->colors,0,sizeof(frame->colors)); +} + +int fc3_frame_row(int y,const int8_t *rgb,void *user) +{ + FC3Frame *frame=(FC3Frame *)user; + if(y<2 || y>=174) return 0; /* Same overscan crop as the original S3 firmware. */ + int start=25+(y-2)*5/2, end=25+(y-1)*5/2; + for(int dy=start;dychunks[dy/30]+(dy%30)*200; + for(int x=0;x<800;++x) { + int sx=x*2/5; + int r=((int)rgb[sx*3]+128)>>4; + int g=((int)rgb[sx*3+1]+128)>>4; + int b=((int)rgb[sx*3+2]+128)>>4; + const uint8_t *mix=fc3_palette_mix[(r<<8)|(g<<4)|b]; + int threshold=bayer[dy&7][x&7]; + int best=thresholdcolors[best]; + int shift=6-(x&3)*2; + line[x/4]=(uint8_t)((line[x/4]&~(3<=800 || y<0 || y>=480) return; + uint8_t *p=frame->chunks[y/30]+(y%30)*200+x/4; + int shift=6-(x&3)*2; + *p=(uint8_t)((*p&~(3<='0' && *s<='9') memcpy(glyph,font[*s-'0'],5); + else if(*s>='A' && *s<='Z') memcpy(glyph,font[*s-'A'+10],5); + else if(*s=='.') glyph[2]=0x60; + else if(*s=='|') glyph[2]=0x7f; + else if(*s=='#') { glyph[0]=0x14;glyph[1]=0x7f;glyph[2]=0x14;glyph[3]=0x7f;glyph[4]=0x14; } + for(int c=0;c<5;++c) for(int r=0;r<7;++r) if(glyph[c]&(1<generation_ms/1000),(unsigned long)((stats->generation_ms%1000)/10), + (unsigned long)stats->number,(unsigned long)(stats->free_heap_bytes/1024)); + text(frame,8,6,line); + snprintf(line,sizeof(line),"320X176 RGB | INT8 | C3 160MHZ | SEED %lu",(unsigned long)stats->seed); + text(frame,8,461,line); + for(int c=0;c<4;++c) for(int y=4;y<22;++y) for(int x=0;x<18;++x) + pixel(frame,710+c*22+x,y,(x==0 || x==17 || y==4 || y==21) ? 0 : c); +} diff --git a/source/native/render.h b/source/native/render.h new file mode 100644 index 0000000000000000000000000000000000000000..8a9beb8c872caaf3f9c2bd3400a1fc768f0e138f --- /dev/null +++ b/source/native/render.h @@ -0,0 +1,13 @@ +#ifndef FC3_RENDER_H +#define FC3_RENDER_H +#include +#define FC3_FRAME_CHUNKS 16 +#define FC3_FRAME_CHUNK_BYTES 6000 +typedef struct { uint8_t *chunks[FC3_FRAME_CHUNKS]; uint32_t colors[4]; } FC3Frame; +typedef struct { + uint32_t generation_ms,number,seed,free_heap_bytes; +} FC3DisplayStats; +void fc3_frame_clear(FC3Frame *frame); +int fc3_frame_row(int y,const int8_t *rgb,void *frame); +void fc3_frame_overlay(FC3Frame *frame,const FC3DisplayStats *stats); +#endif diff --git a/training/__init__.py b/training/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e238fe6fe326268023f768e0231479748f2931ed --- /dev/null +++ b/training/__init__.py @@ -0,0 +1 @@ +"""Small landscape GAN: training on a GPU, inference on ESP32-S3.""" diff --git a/training/data.py b/training/data.py new file mode 100644 index 0000000000000000000000000000000000000000..6f0f4b2fd488ade8e0430e97879e45fb0382fd17 --- /dev/null +++ b/training/data.py @@ -0,0 +1,1149 @@ +"""Prepare reproducible photo, public-domain painting, or local image datasets.""" +import argparse +import hashlib +import heapq +import io +import json +import re +from pathlib import Path + +import numpy as np +from PIL import Image, ImageFilter, ImageOps + +from .model import DISPLAY_CROP_TOP, DISPLAY_HEIGHT, HEIGHT, WIDTH + +PRESETS = { + "procedural_sunsets_water_8k": { + "kind": "synthetic_sunsets", + "revision": "sunsets-water-v1", + "default_limit": 8000, + "license": "Generated procedurally by this project; no external images are copied.", + "description": ( + "Eight thousand deterministic, vivid sunsets over water with consistent horizons, " + "clouds, reflections, distant silhouettes, and no unrelated foreground subjects." + ), + }, + "oxford_flowers102_8k": { + "kind": "flowers102", + "repo": "pufanyi/flowers102", + "revision": "b61e48cb66625272ca3bf36442062362587fa9bb", + "column": "image", + "label_column": "label", + "expected": {"train": 6551, "validation": 819, "test": 819}, + "default_limit": 8189, + "license": ( + "The Hugging Face mirror declares CC BY 4.0 and attributes the original " + "Oxford 102 Flowers dataset; verify upstream terms before redistribution." + ), + "description": ( + "All 8,189 curated Oxford 102 Flowers photographs, combined into one GAN " + "training set with no unused validation download." + ), + "upstream_size_gb": 0.347, + }, + "galaxy_zoo_10k": { + "kind": "galaxy_zoo", + "repo": "mwalmsley/gz2", + "revision": "7d1040db6ae5da099c710e3a6114349d846481d4", + "column": "image", + "id_column": "id_str", + "expected_train": 172_377, + "download_shards": 2, + "default_limit": 10_000, + "license": ( + "CC BY-NC-SA 4.0. Non-commercial/share-alike terms apply; the dataset card " + "also asks that models trained on these images be published with source code." + ), + "description": ( + "Quality-ranked, centered Galaxy Zoo 2 telescope images: mostly spirals, " + "plus smooth and edge-on galaxies for controlled diversity." + ), + "upstream_size_gb": 0.95, + }, + "monet_photos": { + "kind": "paired", + "repo": "huggan/monet2photo", + "revision": "26e882f90a286672b7dd46e603b3dd6b9c6c007e", + "column": "imageB", + "expected": {"train": 6287, "test": 751}, + "license": "Mirror does not declare an image license; retain original attribution.", + "description": "CycleGAN landscape photographs; compact download and realistic target.", + }, + "openbrush_impressionist": { + "kind": "single", + "repo": "jaddai/openbrush-impressionist-landscapes", + "revision": "308450cc4d65268213d3fd4d7bfbccf826823aa9", + "column": "image", + "id_column": "id", + "expected": 4308, + "license": "CC0-1.0; underlying paintings are declared public domain.", + "description": "Focused Impressionist landscapes; coherent and recommended for a tiny art GAN.", + "upstream_size_gb": 17.5, + }, + "openbrush_landscapes": { + "kind": "single", + "repo": "jaddai/openbrush-landscapes", + "revision": "021826284d5184c5990f791e5857b18cba0e1c98", + "column": "image", + "id_column": "id", + "expected": 12612, + "license": "CC0-1.0; underlying paintings are declared public domain.", + "description": "Broad public-domain landscape paintings across artists and movements.", + "upstream_size_gb": 47.8, + }, + "pd3m_landscape_photos": { + "kind": "filtered_remote", + "repo": "Spawning/PD3M", + "revision": "2a5eb24a8dccf245acd8e56341761aee06da0bdf", + "column": "url", + "expected": 3_300_000, + "default_limit": 12_000, + "license": ( + "CDLA-Permissive-2.0 dataset; selected items carry a Public Domain Mark " + "or CC0 URL. Keep selected_items.jsonl for item-level provenance." + ), + "description": ( + "Caption-filtered, wide, color landscape photographs from the high-aesthetic " + "public-domain PD3M collection." + ), + "metadata_index_size_gb": 0.62, + }, + "unsplash_wilderness_4k": { + "kind": "tagged_single", + "repo": "sentence-transformers/unsplash-lite", + "revision": "3afcfc75184db23100abf3f3bc5a1152f40a0947", + "column": "image", + "tag_column": "keywords", + "expected": 24_996, + "default_limit": 4_000, + "license": "Unsplash License; follow the upstream dataset and image-use terms.", + "description": ( + "Quality-ranked modern mountain, lake, forest, waterfall, river, meadow, " + "and canyon wilderness photographs selected from Unsplash Lite." + ), + "upstream_size_gb": 1.94, + }, +} +DISPLAY_SIZE = (WIDTH, DISPLAY_HEIGHT) # PIL uses width, height. + +PHOTO_GROUPS = { + "mountains": ( + "mountain", "mountains", "mountain range", "mountainous", "hill", "hills", + "valley", "valleys", "canyon", "canyons", "cliff", "cliffs", "volcano", + "volcanoes", "glacier", "glaciers", + ), + "freshwater": ( + "lake", "lakes", "river", "rivers", "waterfall", "waterfalls", "stream", + "streams", "pond", "ponds", + ), + "coasts": ( + "ocean", "sea", "seaside", "coast", "coastal", "coastline", "beach", + "beaches", "shore", "shoreline", + ), + "forests": ( + "forest", "forests", "woodland", "woodlands", "rainforest", "rainforests", + ), + "open_land": ( + "desert", "deserts", "sand dunes", "dune", "dunes", "badlands", "meadow", + "meadows", "grassland", "grasslands", "prairie", "prairies", "countryside", + "field", "fields", "tundra", + ), +} + +PHOTO_REJECT_TERMS = ( + # Non-photographic media and old monochrome scans. + "painting", "painted", "drawing", "illustration", "artwork", "work of art", "digital art", + "computer generated", "rendering", "engraving", "etching", + "sketch", "watercolor", "oil on canvas", "canvas", "framed", "lithograph", "poster", + "collage", "sculpture", "statue", "map", "diagram", "manuscript", "black and white", + "monochrome", "sepia", "old photograph", "historic photograph", "historical photograph", + # Foreground subjects that make an unconditional tiny model less coherent. + "person", "people", "human", "humans", "man", "men", "woman", "women", "boy", "boys", "girl", "girls", + "child", "children", "crowd", "hiker", "hikers", "tourist", "tourists", "portrait", + "traveller", "traveler", "clothing", "apparel", "face", "hand", + "animal", "animals", "wildlife", "bird", "birds", "horse", "horses", "cow", "cows", + "sheep", "dog", "dogs", "cat", "cats", "deer", "bear", "elephant", + # Urban/architectural/transport subjects and detail shots. + "building", "buildings", "house", "houses", "city", "urban", "street", "road", + "highway", "bridge", "tower", "church", "castle", "village", "town", "vehicle", + "car", "cars", "train", "airplane", "aircraft", "boat", "boats", "ship", "ships", + "railway", "power line", "close up", "macro", "sports field", "soccer", "football", + "baseball", "stadium", +) + +PHOTO_REJECT_SOURCES = ( + "museum", "gallery", "library", "archive", "historical society", "military history", +) + +UNSPLASH_WILDERNESS_TERMS = ( + "mountain", "mountains", "mountain range", "mountainous", "peak", "peaks", "alps", + "alpine", "highland", "highlands", "valley", "valleys", "glacier", "glaciers", + "hill", "hills", "canyon", "canyons", "cliff", "cliffs", "lake", "lakes", + "waterfall", "waterfalls", "falls", "forest", "forests", "woodland", "woodlands", + "woods", "river", "rivers", "stream", "streams", "meadow", "meadows", + "grassland", "grasslands", "fjord", "fjords", "volcano", "volcanoes", + "ridge", "ridges", "plateau", "plateaus", "national park", "nature reserve", +) + +UNSPLASH_SCENE_TERMS = ( + "landscape", "landscapes", "scenery", "wilderness", "outdoors", "nature", + "natural environment", "mountain scenery", "mount scenery", +) + +UNSPLASH_QUALITY_TERMS = ( + "horizon", "panorama", "panoramic", "scenic", "wallpaper", "wallpapers", + "background", "backgrounds", "reflection", "sunrise", "sunset", "golden hour", + "national park", "travel", "adventure", +) + +UNSPLASH_REJECT_TERMS = PHOTO_REJECT_TERMS + ( + "aerial", "aerial view", "arial view", "sky view", "drone", "satellite", + "hiking", "climber", + "night", "nightscape", "stars", "galaxy", "milky way", "outer space", "silhouette", + "white background", "studio", "closeup", +) + + +def preprocess(image): + # Crop to the panel aspect ratio before resizing; do not squeeze square images. + # Reflective overscan avoids teaching the discriminator an artificial border + # while letting the generator use exact 2x height stages (11 -> ... -> 176). + image = ImageOps.exif_transpose(image).convert("RGB") + visible = np.asarray(ImageOps.fit(image, DISPLAY_SIZE, method=Image.Resampling.LANCZOS), dtype=np.uint8) + return np.pad(visible, ((DISPLAY_CROP_TOP, HEIGHT - DISPLAY_HEIGHT - DISPLAY_CROP_TOP), + (0, 0), (0, 0)), mode="reflect") + + +def _preprocess_galaxy(image, center_y=0.5): + """Make a wide, undistorted crop while keeping the luminous galaxy centered.""" + image = ImageOps.exif_transpose(image).convert("RGB") + center_y = min(0.66, max(0.34, float(center_y))) + visible = np.asarray(ImageOps.fit( + image, DISPLAY_SIZE, method=Image.Resampling.LANCZOS, + centering=(0.5, center_y)), dtype=np.uint8) + return np.pad(visible, ((DISPLAY_CROP_TOP, HEIGHT - DISPLAY_HEIGHT - DISPLAY_CROP_TOP), + (0, 0), (0, 0)), mode="reflect") + + +def _image_bytes(value): + raw = value.get("bytes") if isinstance(value, dict) else None + if raw is None: + raise ValueError("Dataset row has no embedded image bytes.") + return raw + + +SUNSET_PALETTES = ( + # top sky, middle sky, horizon glow, sun, deep water + ((22, 20, 82), (180, 45, 112), (255, 151, 62), (255, 240, 177), (12, 24, 67)), + ((10, 43, 104), (119, 50, 151), (255, 103, 76), (255, 224, 145), (7, 36, 82)), + ((27, 16, 68), (199, 52, 91), (255, 178, 55), (255, 247, 191), (17, 18, 58)), + ((15, 55, 114), (232, 75, 102), (255, 188, 92), (255, 244, 199), (8, 42, 76)), + ((35, 21, 91), (111, 55, 176), (255, 118, 111), (255, 218, 171), (17, 25, 73)), + ((5, 58, 103), (24, 139, 153), (255, 137, 83), (255, 236, 174), (4, 45, 67)), + ((39, 28, 92), (219, 77, 139), (255, 174, 98), (255, 242, 192), (20, 27, 71)), + ((9, 35, 87), (89, 64, 158), (246, 99, 119), (255, 222, 171), (5, 29, 67)), +) + + +def _sunset_cloud_bank(seed, count=192): + """Create reusable multi-scale cloud fields; generation then stays fast and bounded.""" + rng = np.random.default_rng(seed) + bank = [] + for _ in range(count): + field = np.zeros((DISPLAY_HEIGHT, WIDTH), dtype=np.float32) + weight_sum = 0.0 + for rows, columns, weight in ((9, 18, 0.50), (18, 36, 0.30), (36, 72, 0.20)): + small = rng.integers(0, 256, (rows, columns), dtype=np.uint8) + layer = np.asarray(Image.fromarray(small).resize( + (WIDTH, DISPLAY_HEIGHT), Image.Resampling.BICUBIC), dtype=np.float32) / 255.0 + field += layer * weight + weight_sum += weight + field /= weight_sum + low, high = np.percentile(field, (8, 92)) + bank.append(np.clip((field - low) / max(1e-5, high - low), 0, 1)) + return bank + + +def _render_sunset_water(rng, cloud_bank, palette_index): + """Render one stylized photographic sunset designed for the LCD aspect ratio.""" + top, middle, horizon_color, sun_color, deep_water = ( + np.asarray(color, dtype=np.float32) for color in SUNSET_PALETTES[palette_index] + ) + horizon_y = int(rng.integers(82, 111)) + y = np.arange(DISPLAY_HEIGHT, dtype=np.float32)[:, None] + x = np.arange(WIDTH, dtype=np.float32)[None, :] + + sky_t = np.clip(y / max(1, horizon_y), 0, 1)[..., None] + first = np.clip(sky_t / 0.58, 0, 1) + second = np.clip((sky_t - 0.58) / 0.42, 0, 1) + sky = top[None, None, :] * (1 - first) + middle[None, None, :] * first + sky = sky * (1 - second) + horizon_color[None, None, :] * second + image = np.broadcast_to(sky, (DISPLAY_HEIGHT, WIDTH, 3)).copy() + + cloud = cloud_bank[int(rng.integers(len(cloud_bank)))] + cloud = np.roll(cloud, int(rng.integers(WIDTH)), axis=1) + cloud_threshold = float(rng.uniform(0.48, 0.66)) + cloud_alpha = np.clip((cloud - cloud_threshold) / 0.24, 0, 1) + cloud_alpha *= np.clip((horizon_y - y) / max(1, horizon_y * 0.24), 0, 1) + cloud_alpha *= float(rng.uniform(0.28, 0.58)) + cloud_tint = top * float(rng.uniform(0.30, 0.52)) + middle * 0.12 + image = image * (1 - cloud_alpha[..., None]) + cloud_tint[None, None, :] * cloud_alpha[..., None] + + sun_x = float(rng.uniform(55, WIDTH - 55)) + sun_y = float(horizon_y - rng.uniform(7, 29)) + radius = float(rng.uniform(5.5, 12.5)) + distance = np.sqrt((x - sun_x) ** 2 + (y - sun_y) ** 2) + sun_alpha = np.clip((radius + 3.0 - distance) / 3.0, 0, 1) + if rng.random() < 0.88: + image = image * (1 - sun_alpha[..., None]) + sun_color[None, None, :] * sun_alpha[..., None] + + # Mirror the sky into the water, then deepen it toward the foreground. + water_rows = DISPLAY_HEIGHT - horizon_y + mirror_indices = np.clip( + horizon_y - 1 - (np.arange(water_rows) * 0.76).astype(np.int32), 0, horizon_y - 1) + water = image[mirror_indices].copy() + depth = np.linspace(0, 1, water_rows, dtype=np.float32)[:, None, None] + water = water * (0.76 - 0.25 * depth) + deep_water[None, None, :] * (0.24 + 0.25 * depth) + + phase = float(rng.uniform(0, np.pi * 2)) + frequency = float(rng.uniform(0.40, 0.78)) + rows = np.arange(water_rows, dtype=np.float32)[:, None] + wave = np.sin(rows * frequency + phase + np.sin(x * 0.045) * 1.2) + wave += 0.45 * np.sin(rows * frequency * 1.83 + x * 0.075 + phase * 0.6) + water += wave[..., None] * np.asarray((7.0, 5.0, 3.0), dtype=np.float32) + + reflection_width = 4.0 + rows * float(rng.uniform(0.13, 0.25)) + reflection = np.exp(-((x - sun_x) / reflection_width) ** 2) + broken = np.clip(np.sin(rows * float(rng.uniform(0.72, 1.15)) + phase) * 1.8, 0, 1) + reflection *= broken * np.linspace(1.0, 0.42, water_rows, dtype=np.float32)[:, None] + water += reflection[..., None] * sun_color[None, None, :] * float(rng.uniform(0.30, 0.58)) + image[horizon_y:] = water + + # Low distant islands or mountains anchor the horizon without adding a new subject class. + if rng.random() < 0.82: + controls = int(rng.integers(9, 18)) + control_x = np.linspace(0, WIDTH - 1, controls) + heights = rng.uniform(1.5, 8.0, controls) + for _ in range(int(rng.integers(1, 4))): + center = float(rng.uniform(0, controls - 1)) + heights += np.exp(-((np.arange(controls) - center) / rng.uniform(0.8, 2.0)) ** 2) * rng.uniform(5, 18) + profile = horizon_y - np.interp(np.arange(WIDTH), control_x, heights).astype(np.int32) + land_color = deep_water * float(rng.uniform(0.38, 0.62)) + land_mask = (np.arange(DISPLAY_HEIGHT)[:, None] >= profile[None, :]) & (y <= horizon_y + 1) + image[land_mask] = land_color + + # Gentle vignette preserves a bright center and hides procedural edge seams. + nx = (x - (WIDTH - 1) / 2) / (WIDTH / 2) + ny = (y - (DISPLAY_HEIGHT - 1) / 2) / (DISPLAY_HEIGHT / 2) + vignette = np.clip(1.0 - 0.15 * (nx ** 2 + ny ** 2), 0.75, 1.0) + image *= vignette[..., None] + visible = np.clip(image, 0, 255).round().astype(np.uint8) + return visible, horizon_y, round(sun_x, 3), round(sun_y, 3) + + +def _prepare_synthetic_sunsets(spec, output, limit): + target = limit or spec["default_limit"] + if target < 100 or target > 20_000: + raise ValueError("Procedural sunset selection must be between 100 and 20,000 images.") + master_seed = 20260914 + rng = np.random.default_rng(master_seed) + cloud_bank = _sunset_cloud_bank(master_seed + 1) + train_array = np.lib.format.open_memmap( + output / "train.npy", mode="w+", dtype=np.uint8, + shape=(target, HEIGHT, WIDTH, 3)) + selected_path = output / "selected_items.jsonl" + palette_counts = {str(index): 0 for index in range(len(SUNSET_PALETTES))} + with selected_path.open("w", encoding="utf-8") as audit: + for index in range(target): + palette = index % len(SUNSET_PALETTES) + visible, horizon_y, sun_x, sun_y = _render_sunset_water(rng, cloud_bank, palette) + train_array[index] = np.pad( + visible, + ((DISPLAY_CROP_TOP, HEIGHT - DISPLAY_HEIGHT - DISPLAY_CROP_TOP), (0, 0), (0, 0)), + mode="reflect", + ) + palette_counts[str(palette)] += 1 + audit.write(json.dumps({ + "id": f"sunset-{index:05d}", "seed": master_seed, + "palette": palette, "horizon_y": horizon_y, + "sun_x": sun_x, "sun_y": sun_y, + }) + "\n") + if (index + 1) % 1_000 == 0 or index + 1 == target: + print(f"Generated {index + 1:,}/{target:,} sunset images", flush=True) + train_array.flush() + del train_array + (output / "test.npy").unlink(missing_ok=True) + return { + "train": target, + "test": 0, + "selection_limit": target, + "generator_revision": spec["revision"], + "master_seed": master_seed, + "palette_counts": palette_counts, + "selection_filter": "sunset sky + water reflection + consistent horizon; no unrelated subjects", + "selection_audit": selected_path.name, + "augmentation_profile": "sunsets", + } + + +def _prepare_flowers102(spec, output, limit): + """Combine every official split into one compact, coherent GAN training set.""" + from huggingface_hub import snapshot_download + import pyarrow.parquet as pq + + available = sum(spec["expected"].values()) + target = limit or spec["default_limit"] + if target < 100 or target > available: + raise ValueError(f"Oxford Flowers selection must be between 100 and {available:,} images.") + filenames = [f"data/{split}-00000-of-00001.parquet" for split in spec["expected"]] + snapshot = Path(snapshot_download( + spec["repo"], repo_type="dataset", revision=spec["revision"], + allow_patterns=filenames, max_workers=len(filenames))) + + train_array = np.lib.format.open_memmap( + output / "train.npy", mode="w+", dtype=np.uint8, + shape=(target, HEIGHT, WIDTH, 3)) + selected_path = output / "selected_items.jsonl" + label_counts = {} + written = 0 + with selected_path.open("w", encoding="utf-8") as audit: + for split, expected_rows in spec["expected"].items(): + filename = f"data/{split}-00000-of-00001.parquet" + parquet = pq.ParquetFile(snapshot / filename) + if parquet.metadata.num_rows != expected_rows: + raise ValueError( + f"Unexpected {split} row count at the pinned Oxford Flowers revision." + ) + for batch in parquet.iter_batches( + batch_size=64, columns=[spec["column"], spec["label_column"]]): + for row in batch.to_pylist(): + raw = _image_bytes(row[spec["column"]]) + image_info = row[spec["column"]] + identifier = (image_info.get("path") if isinstance(image_info, dict) else None) + identifier = identifier or hashlib.sha256(raw).hexdigest() + with Image.open(io.BytesIO(raw)) as image: + train_array[written] = preprocess(image) + label = str(row[spec["label_column"]]) + label_counts[label] = label_counts.get(label, 0) + 1 + audit.write(json.dumps({ + "id": identifier, "source_split": split, "label": label, + }, ensure_ascii=False) + "\n") + written += 1 + if written % 1_000 == 0 or written == target: + print(f"Prepared {written:,}/{target:,} flower photographs", flush=True) + if written == target: + break + if written == target: + break + if written == target: + break + train_array.flush() + del train_array + (output / "test.npy").unlink(missing_ok=True) + if written != target: + raise RuntimeError(f"Only {written:,}/{target:,} flower photographs were decoded.") + return { + "train": written, + "test": 0, + "selection_limit": target, + "available_images": available, + "source_splits_combined": list(spec["expected"]), + "class_count": len(label_counts), + "selected_class_counts": label_counts, + "selection_filter": "all Oxford 102 Flowers photographs; no unused validation split", + "selection_audit": selected_path.name, + "augmentation_profile": "flowers", + } + + +def _normalise_caption(value): + return " ".join(re.sub(r"[^a-z0-9]+", " ", str(value).lower()).split()) + + +def _has_phrase(text, phrases): + padded = f" {text} " + return any(f" {phrase} " in padded for phrase in phrases) + + +def _phrase_hits(text, phrases): + padded = f" {text} " + return sum(f" {phrase} " in padded for phrase in phrases) + + +def _galaxy_group(row): + """Choose one coherent morphology using high-confidence volunteer votes.""" + def value(name): + try: + return float(row.get(name, 0.0) or 0.0) + except (TypeError, ValueError): + return 0.0 + + votes = value("smooth-or-featured-gz2_total-votes") + artifact = value("smooth-or-featured-gz2_artifact_fraction") + smooth = value("smooth-or-featured-gz2_smooth_fraction") + featured = value("smooth-or-featured-gz2_featured-or-disk_fraction") + edge_on = value("disk-edge-on-gz2_yes_fraction") + spiral = value("has-spiral-arms-gz2_yes_fraction") + if votes < 20 or artifact > 0.15: + return None + if featured >= 0.55 and edge_on < 0.50 and spiral >= 0.45: + return "spiral", featured + spiral + min(votes, 80) / 400 + if smooth >= 0.75: + return "smooth", smooth + min(votes, 80) / 400 + if featured >= 0.55 and edge_on >= 0.60: + return "edge_on", featured + edge_on + min(votes, 80) / 400 + return None + + +def _galaxy_visual_metrics(image): + """Score brightness, color, contrast, size, and centering on a cheap thumbnail.""" + thumb = np.asarray(ImageOps.exif_transpose(image).convert("RGB").resize( + (64, 64), Image.Resampling.BILINEAR), dtype=np.float32) + luminance = thumb @ np.array((0.2126, 0.7152, 0.0722), dtype=np.float32) + border = np.concatenate((luminance[:6].ravel(), luminance[-6:].ravel(), + luminance[6:-6, :6].ravel(), luminance[6:-6, -6:].ravel())) + background = float(np.median(border)) + signal = np.maximum(luminance - background - 3.0, 0.0) + signal_sum = float(signal.sum()) + if signal_sum < 1_000: + return None + yy, xx = np.mgrid[:64, :64] + center_x = float((signal * xx).sum() / signal_sum) / 63.0 + center_y = float((signal * yy).sum() / signal_sum) / 63.0 + center_distance = ((center_x - 0.5) ** 2 + (center_y - 0.5) ** 2) ** 0.5 + threshold = background + max(8.0, float(luminance.std()) * 0.45) + occupancy = float((luminance > threshold).mean()) + if center_distance > 0.20 or occupancy < 0.015 or occupancy > 0.58: + return None + colorful_pixels = luminance > np.percentile(luminance, 70) + channel_spread = np.ptp(thumb, axis=2) + colorfulness = float(channel_spread[colorful_pixels].mean()) if colorful_pixels.any() else 0.0 + contrast = float(luminance.std()) + highlight = float(np.percentile(luminance, 95) - background) + center_bonus = (1.0 - center_distance / 0.20) * 24.0 + size_bonus = max(0.0, 18.0 - abs(occupancy - 0.20) * 70.0) + score = highlight + contrast * 0.8 + colorfulness * 0.55 + center_bonus + size_bonus + return { + "visual_score": round(score, 4), "background": round(background, 3), + "contrast": round(contrast, 3), "colorfulness": round(colorfulness, 3), + "occupancy": round(occupancy, 5), "center_x": round(center_x, 5), + "center_y": round(center_y, 5), + } + + +def _prepare_galaxy_zoo(spec, output, limit): + """Build a bright, coherent subset without downloading the full GZ2 release.""" + from huggingface_hub import HfApi, snapshot_download + import pyarrow.parquet as pq + + target = limit or spec["default_limit"] + if target < 100: + raise ValueError("Galaxy Zoo selection requires at least 100 images.") + all_filenames = sorted(name for name in HfApi().list_repo_files( + spec["repo"], repo_type="dataset", revision=spec["revision"]) + if name.startswith("data/train-") and name.endswith(".parquet")) + if len(all_filenames) != 5: + raise ValueError("Expected five Galaxy Zoo 2 training shards at the pinned revision.") + # The upstream train split is already randomly shuffled. Two fixed shards + # expose about 69k galaxies while keeping the transfer below one gigabyte. + shard_count = min(len(all_filenames), spec["download_shards"]) + filenames = all_filenames[:shard_count] + snapshot = Path(snapshot_download( + spec["repo"], repo_type="dataset", revision=spec["revision"], + allow_patterns=filenames, max_workers=shard_count)) + + weights = {"spiral": 0.60, "smooth": 0.25, "edge_on": 0.15} + quotas = {name: int(target * weight) for name, weight in weights.items()} + quotas["spiral"] += target - sum(quotas.values()) + label_heaps = {name: [] for name in weights} + label_columns = [ + spec["id_column"], "smooth-or-featured-gz2_total-votes", + "smooth-or-featured-gz2_artifact_fraction", + "smooth-or-featured-gz2_smooth_fraction", + "smooth-or-featured-gz2_featured-or-disk_fraction", + "disk-edge-on-gz2_yes_fraction", "has-spiral-arms-gz2_yes_fraction", + ] + scanned = 0 + for shard_index, filename in enumerate(filenames): + parquet = pq.ParquetFile(snapshot / filename) + local_row = 0 + for batch in parquet.iter_batches(batch_size=4096, columns=label_columns): + for row in batch.to_pylist(): + selected = _galaxy_group(row) + if selected is not None: + group, confidence = selected + identifier = str(row[spec["id_column"]]) + digest = hashlib.sha256(identifier.encode("utf-8")).digest() + item = (confidence, digest, shard_index, local_row, identifier, group) + pool_limit = max(quotas[group] * 3, target // 2) + heap = label_heaps[group] + if len(heap) < pool_limit: + heapq.heappush(heap, item) + elif item > heap[0]: + heapq.heapreplace(heap, item) + local_row += 1 + scanned += parquet.metadata.num_rows + counts = ", ".join(f"{name}={len(label_heaps[name]):,}" for name in weights) + print(f"Ranked Galaxy Zoo labels {shard_index + 1}/{shard_count}; pools: {counts}", + flush=True) + + wanted = {} + for heap in label_heaps.values(): + for item in heap: + wanted[(item[2], item[3])] = item + visual_limits = {name: max(quotas[name] * 2, quotas[name] + 256) for name in weights} + visual_heaps = {name: [] for name in weights} + decoded = 0 + for shard_index, filename in enumerate(filenames): + parquet = pq.ParquetFile(snapshot / filename) + local_row = 0 + for batch in parquet.iter_batches(batch_size=256, columns=[spec["column"]]): + image_column = batch.column(0) + for index in range(batch.num_rows): + candidate = wanted.get((shard_index, local_row + index)) + if candidate is None: + continue + try: + raw = _image_bytes(image_column[index].as_py()) + with Image.open(io.BytesIO(raw)) as image: + metrics = _galaxy_visual_metrics(image) + if metrics is None: + continue + confidence, digest, _, _, identifier, group = candidate + rank = (metrics["visual_score"], confidence, digest) + audit_row = {"id": identifier, "group": group, + "label_confidence": round(confidence, 5), **metrics} + item = (rank, digest, raw, audit_row) + heap = visual_heaps[group] + if len(heap) < visual_limits[group]: + heapq.heappush(heap, item) + elif item > heap[0]: + heapq.heapreplace(heap, item) + decoded += 1 + except Exception: + pass + local_row += batch.num_rows + counts = ", ".join(f"{name}={len(visual_heaps[name]):,}" for name in weights) + print(f"Scored Galaxy Zoo images {shard_index + 1}/{shard_count}; usable: {counts}", + flush=True) + + ranked_by_group = { + name: sorted(heap, key=lambda item: item[0], reverse=True) + for name, heap in visual_heaps.items() + } + chosen = [] + leftovers = [] + for name in weights: + chosen.extend(ranked_by_group[name][:quotas[name]]) + leftovers.extend(ranked_by_group[name][quotas[name]:]) + if len(chosen) < target: + leftovers.sort(key=lambda item: item[0], reverse=True) + chosen.extend(leftovers[:target - len(chosen)]) + if len(chosen) < target: + raise RuntimeError( + f"Only {len(chosen):,}/{target:,} suitable galaxies were found. " + "Lower DATASET_LIMIT or increase download_shards in the pinned preset." + ) + # Stable hash order prevents batches from being grouped by morphology or score. + chosen = sorted(chosen[:target], key=lambda item: item[1]) + train_array = np.lib.format.open_memmap( + output / "train.npy", mode="w+", dtype=np.uint8, + shape=(target, HEIGHT, WIDTH, 3)) + selected_path = output / "selected_items.jsonl" + selected_groups = {name: 0 for name in weights} + with selected_path.open("w", encoding="utf-8") as audit: + for index, (_, _, raw, audit_row) in enumerate(chosen): + with Image.open(io.BytesIO(raw)) as image: + train_array[index] = _preprocess_galaxy(image, audit_row["center_y"]) + selected_groups[audit_row["group"]] += 1 + audit.write(json.dumps(audit_row, ensure_ascii=False) + "\n") + if (index + 1) % 1_000 == 0 or index + 1 == target: + print(f"Prepared {index + 1:,}/{target:,} galaxy images", flush=True) + train_array.flush() + del train_array + (output / "test.npy").unlink(missing_ok=True) + return { + "train": target, "test": 0, "selection_limit": target, + "available_train_images": spec["expected_train"], + "downloaded_shards": filenames, "scanned_images": scanned, + "visually_scored_candidates": decoded, "selected_groups": selected_groups, + "selection_filter": ( + "high-confidence non-artifact galaxy; 60% spiral, 25% smooth, 15% edge-on; " + "ranked for brightness/color/contrast/size/centering" + ), + "selection_audit": selected_path.name, + "augmentation_profile": "galaxy", + } + + +def _pd3m_photo_group(row, digest): + """Return one stable landscape family, or None when metadata is unsuitable.""" + try: + width, height = int(row["width"]), int(row["height"]) + except (KeyError, TypeError, ValueError): + return None + if width < 640 or height < 400 or width / max(height, 1) < 1.30: + return None + if width * height > 50_000_000 or not str(row.get("mime_type", "")).startswith("image/"): + return None + caption = _normalise_caption(row.get("caption", "")) + source = _normalise_caption(row.get("source", "")) + if (not caption or _has_phrase(caption, PHOTO_REJECT_TERMS) + or _has_phrase(source, PHOTO_REJECT_SOURCES)): + return None + matches = [name for name, terms in PHOTO_GROUPS.items() if _has_phrase(caption, terms)] + if not matches: + return None + # Multi-biome scenes are assigned rather than duplicated. The content hash + # makes the choice stable while preventing dictionary-order category bias. + return matches[digest[8] % len(matches)] + + +def _prepare_pd3m_photos(spec, output, limit): + """Build a balanced photo subset from a small metadata index plus direct URLs.""" + from concurrent.futures import ThreadPoolExecutor + from urllib.request import Request, urlopen + + from huggingface_hub import HfApi, hf_hub_download + import pyarrow.parquet as pq + + target = limit or spec["default_limit"] + if target < 20: + raise ValueError("PD3M photo selection requires at least 20 images.") + group_names = tuple(PHOTO_GROUPS) + base, remainder = divmod(target, len(group_names)) + quotas = {name: base + (index < remainder) for index, name in enumerate(group_names)} + pool_sizes = {name: max(quotas[name] * 2, quotas[name] + 128) for name in group_names} + heaps = {name: [] for name in group_names} + + filenames = [name for name in HfApi().list_repo_files( + spec["repo"], repo_type="dataset", revision=spec["revision"]) + if name.startswith("metadata/") and name.endswith(".parquet")] + if not filenames: + raise ValueError("No PD3M metadata shards found at the pinned revision.") + # Spread an early-stop scan across the repository instead of downloading + # the complete 620 MB metadata index before any useful work begins. + filenames.sort(key=lambda name: hashlib.sha256(name.encode("utf-8")).digest()) + + def fetch_metadata(filename): + return Path(hf_hub_download( + spec["repo"], filename, repo_type="dataset", revision=spec["revision"])) + + columns = ["id", "url", "caption", "width", "height", "mime_type", "license", "source"] + scanned_shards = 0 + with ThreadPoolExecutor(max_workers=4) as metadata_pool: + for start in range(0, len(filenames), 4): + batch_names = filenames[start:start + 4] + for filename, path in zip(batch_names, metadata_pool.map(fetch_metadata, batch_names)): + parquet = pq.ParquetFile(path) + for batch in parquet.iter_batches(batch_size=4096, columns=columns): + for row in batch.to_pylist(): + identifier = str(row.get("id", "")) + url = str(row.get("url", "")) + if not identifier or not url.startswith("https://"): + continue + digest = hashlib.sha256(identifier.encode("utf-8")).digest() + group = _pd3m_photo_group(row, digest) + if group is None: + continue + rank = int.from_bytes(digest[:8], "big") + candidate = (rank, identifier, url, str(row.get("caption", "")), + str(row.get("source", "")), str(row.get("license", "")), group) + heap_item = (-rank, identifier, candidate) + heap = heaps[group] + if len(heap) < pool_sizes[group]: + heapq.heappush(heap, heap_item) + elif heap_item > heap[0]: + heapq.heapreplace(heap, heap_item) + scanned_shards += 1 + counts = ", ".join(f"{name}={len(heaps[name])}" for name in group_names) + print(f"Scanned metadata {scanned_shards}/{len(filenames)}; candidates: {counts}", + flush=True) + if all(len(heaps[name]) >= pool_sizes[name] for name in group_names): + print("Balanced candidate pools are full; skipping remaining metadata shards.", flush=True) + break + + candidates_by_group = { + name: [item[2] for item in sorted(heaps[name], key=lambda item: (-item[0], item[1]))] + for name in group_names + } + for name in group_names: + if len(candidates_by_group[name]) < quotas[name]: + raise ValueError( + f"Strict PD3M filter found only {len(candidates_by_group[name])} {name} candidates; " + f"need {quotas[name]}. Lower --limit or adjust the pinned filter." + ) + ordered = [] + for index in range(max(map(len, candidates_by_group.values()))): + for name in group_names: + if index < len(candidates_by_group[name]): + ordered.append(candidates_by_group[name][index]) + + # At a 320x172 target, very large originals add download cost without + # useful model detail. The 2x candidate pool supplies replacements. + max_download_bytes = 16 * 1024 * 1024 + + def download(candidate): + try: + request = Request(candidate[2], headers={"User-Agent": "ESP32-LandscapeGAN/1.0"}) + with urlopen(request, timeout=45) as response: + declared = int(response.headers.get("Content-Length", "0") or 0) + if declared > max_download_bytes: + return None + raw = response.read(max_download_bytes + 1) + if len(raw) > max_download_bytes: + return None + with Image.open(io.BytesIO(raw)) as source: + image = ImageOps.exif_transpose(source).convert("RGB") + if image.width / max(image.height, 1) < 1.30: + return None + thumb = np.asarray(image.resize((64, 40), Image.Resampling.BILINEAR), dtype=np.int16) + colorfulness = np.ptp(thumb, axis=2).mean() + contrast = thumb.mean(axis=2).std() + if colorfulness < 6 or contrast < 10: + return None + array = preprocess(image) + return candidate, array + except Exception: + return None + + train_count = target + train_array = np.lib.format.open_memmap( + output / "train.npy", mode="w+", dtype=np.uint8, + shape=(train_count, HEIGHT, WIDTH, 3)) + accepted = 0 + accepted_groups = {name: 0 for name in group_names} + selected_path = output / "selected_items.jsonl" + with selected_path.open("w", encoding="utf-8") as audit, ThreadPoolExecutor(max_workers=48) as pool: + for start in range(0, len(ordered), 384): + batch = [candidate for candidate in ordered[start:start + 384] + if accepted_groups[candidate[6]] < quotas[candidate[6]]] + for result in pool.map(download, batch): + if result is None: + continue + candidate, array = result + group = candidate[6] + if accepted_groups[group] >= quotas[group]: + continue + train_array[accepted] = array + split = "train" + accepted += 1 + accepted_groups[group] += 1 + audit.write(json.dumps({ + "id": candidate[1], "url": candidate[2], "caption": candidate[3], + "source": candidate[4], "license": candidate[5], "group": group, + "split": split, + }, ensure_ascii=False) + "\n") + print(f"Downloaded/processed {accepted:,}/{target:,} photographs", flush=True) + if accepted == target: + break + train_array.flush() + del train_array + # Older notebook versions created an unused holdout. Avoid leaving it next + # to this all-training preset when the same Colab runtime is reused. + (output / "test.npy").unlink(missing_ok=True) + if accepted != target: + raise RuntimeError( + f"Only {accepted:,}/{target:,} strict landscape photographs downloaded. " + "Rerun to retry transient URLs or lower DATASET_LIMIT." + ) + print("Balanced groups: " + ", ".join( + f"{name}={accepted_groups[name]:,}" for name in group_names), flush=True) + return { + "train": train_count, + "test": 0, + "selection_limit": target, + "selection_filter": "wide color photo; no art/monochrome/people/animals/urban/close-up", + "selected_groups": accepted_groups, + "metadata_shards_scanned": scanned_shards, + "selection_audit": selected_path.name, + } + + +def _prepare_unsplash_wilderness(spec, output, limit): + """Keep a deterministic, quality-ranked wilderness subset from local shards.""" + from huggingface_hub import HfApi, snapshot_download + import pyarrow.parquet as pq + + filenames = sorted(name for name in HfApi().list_repo_files( + spec["repo"], repo_type="dataset", revision=spec["revision"]) + if name.startswith("data/train-") and name.endswith(".parquet")) + if not filenames: + raise ValueError("No Unsplash Lite image shards found at the pinned revision.") + snapshot = Path(snapshot_download( + spec["repo"], repo_type="dataset", revision=spec["revision"], + allow_patterns="data/train-*.parquet", max_workers=min(5, len(filenames)))) + target = limit or spec["default_limit"] + if target < 20: + raise ValueError("Unsplash wilderness selection requires at least 20 images.") + # Keep only the best `target` items without retaining every decoded candidate. + # The previous hard scene-tag requirement produced only 1,624 images. A scene + # tag is now a strong ranking bonus: that same class of high-confidence match + # ranks first, then closely related nature images fill the remaining slots. + ranked = [] + eligible = 0 + total_rows = 0 + for shard_index, filename in enumerate(filenames, 1): + parquet = pq.ParquetFile(snapshot / filename) + total_rows += parquet.metadata.num_rows + columns = [spec["column"], spec["tag_column"]] + local_row = 0 + for batch in parquet.iter_batches(batch_size=64, columns=columns): + for row in batch.to_pylist(): + keywords = _normalise_caption(row.get(spec["tag_column"], "")) + selected = (_has_phrase(keywords, UNSPLASH_WILDERNESS_TERMS) + and not _has_phrase(keywords, UNSPLASH_REJECT_TERMS)) + if selected: + try: + raw = _image_bytes(row[spec["column"]]) + with Image.open(io.BytesIO(raw)) as source: + image = ImageOps.exif_transpose(source).convert("RGB") + if image.width / max(image.height, 1) < 1.30: + raise ValueError("portrait or near-square composition") + thumb = np.asarray( + image.resize((64, 40), Image.Resampling.BILINEAR), dtype=np.int16) + colorfulness = np.ptp(thumb, axis=2).mean() + luminance = thumb.mean(axis=2) + if colorfulness < 6 or luminance.std() < 10: + raise ValueError("monochrome or low-contrast composition") + array = preprocess(image) + aspect = image.width / max(image.height, 1) + focus_hits = _phrase_hits(keywords, UNSPLASH_WILDERNESS_TERMS) + scene_hits = _phrase_hits(keywords, UNSPLASH_SCENE_TERMS) + quality_hits = _phrase_hits(keywords, UNSPLASH_QUALITY_TERMS) + digest = hashlib.sha256( + f"{filename}:{local_row}".encode("utf-8")).digest() + # Lexicographic ranking deliberately gives a scene keyword + # much more weight than cosmetic signals. The content hash + # makes ties stable without favoring an early Parquet shard. + rank = (bool(scene_hits), min(scene_hits, 3), min(focus_hits, 5), + min(quality_hits, 4), min(int((aspect - 1.30) * 10), 10), digest) + audit_row = { + "shard": filename, "row": local_row, + "keywords": row[spec["tag_column"]], + "scene_hits": scene_hits, "focus_hits": focus_hits, + "quality_hits": quality_hits, + } + item = (rank, array, audit_row) + eligible += 1 + if len(ranked) < target: + heapq.heappush(ranked, item) + elif rank > ranked[0][0]: + heapq.heapreplace(ranked, item) + except Exception: + pass + local_row += 1 + print(f"Ranked Unsplash shard {shard_index}/{len(filenames)}; " + f"eligible={eligible:,}, kept={len(ranked):,}", flush=True) + if total_rows != spec["expected"]: + raise ValueError( + f"Expected {spec['expected']:,} Unsplash rows at the pinned revision, got {total_rows:,}." + ) + if len(ranked) < min(target, 1_000): + raise ValueError( + f"Unsplash wilderness filter selected only {len(ranked)} images; " + f"expected at least {min(target, 1_000)}." + ) + if len(ranked) < target: + print(f"WARNING: selected {len(ranked):,} of the requested {target:,} images.", flush=True) + chosen = sorted(ranked, key=lambda item: item[0], reverse=True) + arrays = [item[1] for item in chosen] + audit_rows = [item[2] for item in chosen] + np.save(output / "train.npy", np.stack(arrays)) + (output / "test.npy").unlink(missing_ok=True) + selected_path = output / "selected_items.jsonl" + with selected_path.open("w", encoding="utf-8") as audit: + for row in audit_rows: + audit.write(json.dumps(row, ensure_ascii=False) + "\n") + return { + "train": len(arrays), + "test": 0, + "selection_limit": target, + "eligible_candidates": eligible, + "selection_filter": ( + "top-ranked wide color wilderness; scene tags preferred; " + "no people/animals/urban/aerial/night" + ), + "selection_audit": selected_path.name, + } + + +def _prepare_paired(spec, limit): + from huggingface_hub import hf_hub_download + import pyarrow.parquet as pq + + splits = {} + for split, expected in spec["expected"].items(): + filename = f"data/{split}-00000-of-00001.parquet" + path = hf_hub_download(spec["repo"], filename, repo_type="dataset", + revision=spec["revision"]) + parquet = pq.ParquetFile(path) + if parquet.metadata.num_rows != expected: + raise ValueError(f"Unexpected {split} row count at pinned dataset revision.") + arrays = [] + for batch in parquet.iter_batches(batch_size=128, columns=[spec["column"]]): + for row in batch.to_pylist(): + with Image.open(io.BytesIO(_image_bytes(row[spec["column"]]))) as image: + arrays.append(preprocess(image)) + if limit and len(arrays) >= limit: + break + if limit and len(arrays) >= limit: + break + splits[split] = arrays + print(f"Prepared {len(arrays)} {split} photographs", flush=True) + return splits + + +def _prepare_single_split(spec, limit): + """Decode pinned sharded Parquet, then make a stable 90/10 content split.""" + from huggingface_hub import HfApi, hf_hub_download, snapshot_download + import pyarrow.parquet as pq + + filenames = sorted(name for name in HfApi().list_repo_files( + spec["repo"], repo_type="dataset", revision=spec["revision"]) + if name.startswith("data/train-") and name.endswith(".parquet")) + if not filenames: + raise ValueError(f"No Parquet shards found for {spec['repo']} at the pinned revision") + if limit: + # A capped experiment should not download the unused 47.8 GB remainder. + files = [(filename, None) for filename in filenames] + else: + # Download independent Parquet shards concurrently. huggingface-hub uses + # hf-xet internally; authentication comes from the HF_TOKEN environment + # variable/Colab Secret and is never written into this project. + snapshot = Path(snapshot_download( + spec["repo"], repo_type="dataset", revision=spec["revision"], + allow_patterns="data/train-*.parquet", max_workers=8)) + files = [(filename, snapshot / filename) for filename in filenames] + samples = [] + for shard_index, (filename, path) in enumerate(files, 1): + if path is None: + # Fetch capped runs one shard at a time and stop as soon as the + # requested number of decoded examples has been reached. + path = Path(hf_hub_download( + spec["repo"], filename, repo_type="dataset", revision=spec["revision"])) + parquet = pq.ParquetFile(path) + columns = [spec["id_column"], spec["column"]] + for batch in parquet.iter_batches(batch_size=32, columns=columns): + for row in batch.to_pylist(): + identifier = str(row[spec["id_column"]]) + digest = hashlib.sha256(identifier.encode("utf-8")).digest() + with Image.open(io.BytesIO(_image_bytes(row[spec["column"]]))) as image: + samples.append((digest, preprocess(image))) + if limit and len(samples) >= limit: + break + if limit and len(samples) >= limit: + break + print(f"Decoded shard {shard_index}/{len(filenames)}; images={len(samples)}", flush=True) + if limit and len(samples) >= limit: + break + if not limit and len(samples) != spec["expected"]: + raise ValueError(f"Expected {spec['expected']} rows at pinned revision, got {len(samples)}") + if len(samples) < 20: + raise ValueError("Dataset selection must contain at least 20 images.") + samples.sort(key=lambda item: item[0]) + test_count = max(1, len(samples) // 10) + return {"test": [x[1] for x in samples[:test_count]], + "train": [x[1] for x in samples[test_count:]]} + + +def prepare(output, local_images=None, limit=None, preset="procedural_sunsets_water_8k"): + output = Path(output) + output.mkdir(parents=True, exist_ok=True) + metadata = { + "width": WIDTH, "height": HEIGHT, "display_width": WIDTH, + "display_height": DISPLAY_HEIGHT, "display_crop_top": DISPLAY_CROP_TOP, + "layout": "NHWC", "dtype": "uint8", "border": "reflective overscan", + } + if local_images: + paths = sorted(p for p in Path(local_images).rglob("*") + if p.suffix.lower() in {".jpg", ".jpeg", ".png", ".webp"}) + if len(paths) < 20: + raise ValueError("Supply at least 20 images for a train/validation split.") + # Hash filenames for a stable split independent of directory ordering. + paths.sort(key=lambda p: hashlib.sha256(str(p.relative_to(local_images)).encode()).digest()) + count = max(1, len(paths) // 10) + splits = {"test": paths[:count], "train": paths[count:]} + metadata.update(source="custom", preset="custom", root=str(Path(local_images).resolve())) + for split, paths in splits.items(): + arrays = [] + for path in paths[:limit] if limit else paths: + with Image.open(path) as image: + arrays.append(preprocess(image)) + np.save(output / f"{split}.npy", np.stack(arrays)) + metadata[split] = len(arrays) + else: + if preset not in PRESETS: + raise ValueError(f"Unknown dataset preset {preset!r}; choose one of {tuple(PRESETS)}") + spec = PRESETS[preset] + if spec["kind"] == "synthetic_sunsets": + metadata.update( + source="procedural:training.data", preset=preset, revision=spec["revision"], + description=spec["description"], license=spec["license"], + ) + else: + metadata.update(source=spec["repo"], preset=preset, revision=spec["revision"], + column=spec["column"], description=spec["description"], + source_url=f"https://huggingface.co/datasets/{spec['repo']}", + license=spec["license"]) + if "upstream_size_gb" in spec: + metadata["upstream_size_gb"] = spec["upstream_size_gb"] + if "metadata_index_size_gb" in spec: + metadata["metadata_index_size_gb"] = spec["metadata_index_size_gb"] + if spec["kind"] == "synthetic_sunsets": + metadata.update(_prepare_synthetic_sunsets(spec, output, limit)) + elif spec["kind"] == "flowers102": + metadata.update(_prepare_flowers102(spec, output, limit)) + elif spec["kind"] == "galaxy_zoo": + metadata.update(_prepare_galaxy_zoo(spec, output, limit)) + elif spec["kind"] == "filtered_remote": + metadata.update(_prepare_pd3m_photos(spec, output, limit)) + elif spec["kind"] == "tagged_single": + metadata.update(_prepare_unsplash_wilderness(spec, output, limit)) + else: + splits = (_prepare_paired(spec, limit) if spec["kind"] == "paired" + else _prepare_single_split(spec, limit)) + for split, arrays in splits.items(): + np.save(output / f"{split}.npy", np.stack(arrays)) + metadata[split] = len(arrays) + print(f"Saved {len(arrays)} {split} images", flush=True) + (output / "dataset.json").write_text(json.dumps(metadata, indent=2) + "\n") + save_grid(np.load(output / "train.npy", mmap_mode="r")[:32], output / "training_preview.png") + return metadata + + +def save_grid(images, path, columns=8, scale=1): + images = np.asarray(images) + full_shapes = {(HEIGHT, WIDTH, 3), (DISPLAY_HEIGHT, WIDTH, 3)} + half_shapes = {(HEIGHT // 2, WIDTH // 2, 3), (DISPLAY_HEIGHT // 2, WIDTH // 2, 3)} + if images.ndim != 4 or images.shape[1:] not in full_shapes | half_shapes: + raise ValueError("Expected full-resolution 320x176/172 or half-resolution 160x88/86 RGB images") + half_resolution = images.shape[2] == WIDTH // 2 + if images.shape[1] == HEIGHT: + images = images[:, DISPLAY_CROP_TOP:DISPLAY_CROP_TOP + DISPLAY_HEIGHT] + elif images.shape[1] == HEIGHT // 2: + crop_top = DISPLAY_CROP_TOP // 2 + images = images[:, crop_top:crop_top + DISPLAY_HEIGHT // 2] + rows = (len(images) + columns - 1) // columns + canvas = Image.new("RGB", (columns * WIDTH, rows * DISPLAY_HEIGHT), (20, 20, 20)) + for i, array in enumerate(images): + tile = Image.fromarray(array.astype(np.uint8)) + if half_resolution: + # Approximate the ESP32-S3 display path in Colab previews. + tile = tile.resize((WIDTH, DISPLAY_HEIGHT), Image.Resampling.BILINEAR) + tile = tile.filter(ImageFilter.UnsharpMask(radius=0.7, percent=25, threshold=3)) + canvas.paste(tile, ((i % columns) * WIDTH, (i // columns) * DISPLAY_HEIGHT)) + canvas = canvas.resize((canvas.width * scale, canvas.height * scale), Image.Resampling.NEAREST) + canvas.save(path) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--output", default="data/galaxies") + parser.add_argument("--local-images") + parser.add_argument("--preset", choices=PRESETS, default="procedural_sunsets_water_8k") + parser.add_argument("--limit", type=int) + args = parser.parse_args() + if args.limit is not None and args.limit < 1: + parser.error("--limit must be positive") + print(json.dumps(prepare(args.output, args.local_images, args.limit, args.preset), indent=2)) diff --git a/training/diagnose.py b/training/diagnose.py new file mode 100644 index 0000000000000000000000000000000000000000..e617e06714f2c6c7bb7fa216e82ce86aca1feebc --- /dev/null +++ b/training/diagnose.py @@ -0,0 +1,67 @@ +"""Compare existing checkpoint sampling modes in Colab; never modify checkpoint weights.""" +import argparse +import copy +import json +from pathlib import Path + +import numpy as np +import torch +from torch.optim.swa_utils import update_bn + +from .data import save_grid +from .model import Generator, checkpoint_variant, sample_latents +from .train import load_checkpoint + + +@torch.no_grad() +def diagnose(checkpoint_path, output, device="cuda", batches=64): + if batches < 1: + raise ValueError("Use at least one normalization calibration batch") + checkpoint = load_checkpoint(checkpoint_path) + variant = checkpoint_variant(checkpoint) + output = Path(output) + output.mkdir(parents=True, exist_ok=False) + fixed = checkpoint["fixed_latents"][:32].to(device) + print("Checkpoint step:", checkpoint["step"], flush=True) + print("Model variant:", variant, flush=True) + print("Dataset:", json.dumps(checkpoint.get("config", {}).get("dataset", {})), flush=True) + print("All grids use identical latents. Batch-stat grids are diagnostic only, not deployable.", flush=True) + report = {} + + def render(model, name, batch_stats=False): + model.train(batch_stats) + samples = torch.cat([model(z) for z in fixed.split(16)]).float().cpu() + report[name] = { + "mean_pixel_std_across_seeds": samples.std(dim=0, unbiased=False).mean().item(), + "fraction_abs_above_0_98": (samples.abs() > 0.98).float().mean().item(), + "finite": bool(torch.isfinite(samples).all()), + } + images = samples.permute(0, 2, 3, 1).numpy() + save_grid(np.clip((images + 1) * 127.5, 0, 255).round().astype(np.uint8), output / f"{name}.png") + print("Saved", name, report[name], flush=True) + + for key, prefix in (("generator", "raw"), ("ema", "ema")): + model = Generator(variant).to(device).eval() + model.load_state_dict(checkpoint[key]) + render(model, f"{prefix}_saved_stats") + render(copy.deepcopy(model), f"{prefix}_batch_stats", batch_stats=True) + if key == "ema": + print(f"Refreshing EMA BatchNorm statistics with {batches} batches of 16 latents...", flush=True) + rng = torch.Generator().manual_seed(24680) + latents = [sample_latents(16, generator=rng) for _ in range(batches)] + update_bn(latents, model, device=device) + render(model, "ema_refreshed_stats") + del model + (output / "diagnostic.json").write_text(json.dumps(report, indent=2) + "\n") + print("Compare scene quality and diversity across grids; these simple statistics do not prove collapse.", flush=True) + print("No training, export, or checkpoint modification performed.", flush=True) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--checkpoint", required=True) + parser.add_argument("--out", required=True) + parser.add_argument("--device", default="cuda") + parser.add_argument("--batches", type=int, default=64) + args = parser.parse_args() + diagnose(args.checkpoint, args.out, args.device, args.batches) diff --git a/training/export.py b/training/export.py new file mode 100644 index 0000000000000000000000000000000000000000..d96b0ffb173da843d083984d050d99eafbfb0f17 --- /dev/null +++ b/training/export.py @@ -0,0 +1,153 @@ +"""Export the EMA generator and quantify INT8 error using unseen latent seeds.""" +import argparse +import hashlib +import json +import math +import zipfile +from importlib.metadata import version +from pathlib import Path + +import numpy as np +import onnx +import onnxruntime as ort +import torch +from torch.utils.data import DataLoader, TensorDataset + +from .data import save_grid +from .model import (ExportGenerator, Generator, LATENT_DIM, checkpoint_variant, + latent_from_seed, model_geometry) +from .train import load_checkpoint + + +def export_model(checkpoint_path, output, calib_steps=128, max_mae=6.0, + model_name="sunsets_native_320x172_quality_v3"): + if calib_steps < 8: + raise ValueError("Use at least 8 calibration steps (128 recommended for a trained model)") + model_name = "".join(c for c in model_name.lower().replace(" ", "-") if c.isalnum() or c in "-_") or "landscape" + torch.set_num_threads(min(4, torch.get_num_threads())) + output = Path(output) + output.mkdir(parents=True, exist_ok=True) + # A failed re-export must not leave an old deployment ZIP looking current. + (output / f"{model_name}_device.zip").unlink(missing_ok=True) + checkpoint = load_checkpoint(checkpoint_path) + variant = checkpoint_variant(checkpoint) + geometry = model_geometry(variant) + height, width = geometry["height"], geometry["width"] + generator = Generator(variant).eval() + generator.load_state_dict(checkpoint["ema"]) + exported = ExportGenerator(generator).eval() + seed = latent_from_seed(1234) + onnx_path = output / "landscape.onnx" + with torch.no_grad(): + original = generator(seed).permute(0, 2, 3, 1).reshape(1, -1) + torch.testing.assert_close(exported(seed), original, atol=2e-5, rtol=2e-4) + torch.onnx.export(exported, seed, str(onnx_path), input_names=["latent"], + output_names=["rgb_flat"], opset_version=18, + dynamo=False, do_constant_folding=True) + graph = onnx.load(onnx_path) + onnx.checker.check_model(graph) + supported = {"Gemm", "MatMul", "Add", "Conv", "Relu", "Tanh", "Resize", + "Reshape", "Transpose", "Constant", "Identity", "Flatten"} + unsupported = {node.op_type for node in graph.graph.node} - supported + if unsupported: + raise RuntimeError(f"Unexpected exported operators: {sorted(unsupported)}") + session = ort.InferenceSession(str(onnx_path), providers=["CPUExecutionProvider"]) + for test_seed in (1, 1234, 9999): + z = latent_from_seed(test_seed) + with torch.no_grad(): + reference = exported(z).numpy() + actual = session.run(None, {"latent": z.numpy()})[0] + np.testing.assert_allclose(actual, reference, atol=3e-5, rtol=3e-4) + print("PASS: folded BatchNorm, fixed output layout, and PyTorch/ONNX comparison", flush=True) + + # CPU quantization intentionally avoids PPQ CUDA extension compilation. + # Training still uses the Colab GPU. Calibration inputs are latents, not photos. + from esp_ppq.api import espdl_quantize_onnx + from esp_ppq.executor import TorchExecutor + + calibration = torch.cat([latent_from_seed(100000 + i) for i in range(calib_steps)]) + loader = DataLoader(TensorDataset(calibration), batch_size=1, shuffle=False) + espdl_path = output / f"{model_name}.espdl" + quantized = espdl_quantize_onnx( + onnx_import_file=str(onnx_path), espdl_export_file=str(espdl_path), + calib_dataloader=loader, calib_steps=calib_steps, input_shape=[1, LATENT_DIM], + inputs=[seed], target="esp32s3", num_of_bits=8, + collate_fn=lambda batch: batch[0], device="cpu", error_report=False, + export_test_values=True, export_config=True, verbose=0, + ) + executor = TorchExecutor(graph=quantized, device="cpu") + floating, integer = [], [] + for test_seed in range(2000, 2032): + z = latent_from_seed(test_seed) + with torch.no_grad(): + floating.append(exported(z).numpy().reshape(height, width, 3)) + integer.append(executor.forward(inputs=z)[0].detach().cpu().numpy().reshape(height, width, 3)) + floating, integer = np.stack(floating), np.stack(integer) + if not np.isfinite(integer).all(): + raise FloatingPointError("Non-finite quantized outputs") + difference = floating - integer + mae = float(np.abs(difference).mean() * 127.5) + mse = float(np.square(difference).mean()) + psnr = float(10 * math.log10(4 / max(mse, 1e-15))) + save_grid(np.clip((floating + 1) * 127.5, 0, 255).round().astype(np.uint8), output / "float_samples.png") + save_grid(np.clip((integer + 1) * 127.5, 0, 255).round().astype(np.uint8), output / "int8_samples.png") + # One held-out seed in raw float32 format is convenient for external tooling. + reference_z = latent_from_seed(2000) + reference_z.numpy().astype(" max_mae: + raise RuntimeError( + f"INT8 average pixel error {mae:.2f} exceeds {max_mae:.2f}. " + "Inspect float_samples.png/int8_samples.png and manifest.json; try more calibration " + "steps or quantization-aware fine-tuning. No deployment bundle was created." + ) + # Keep deployment minimal; the checkpoint/ONNX remain in the run folder. + with zipfile.ZipFile(output / f"{model_name}_device.zip", "w", zipfile.ZIP_DEFLATED) as bundle: + for name in (f"{model_name}.espdl", "manifest.json", "float_samples.png", "int8_samples.png", + "reference_latent.f32", "reference_rgb.f32"): + bundle.write(output / name, name) + print(f"PASS: INT8 MAE {mae:.2f}/255, PSNR {psnr:.2f} dB. Device bundle ready.", flush=True) + return report + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--checkpoint", required=True) + parser.add_argument("--out", default="runs/sunsets/export") + parser.add_argument("--calib-steps", type=int, default=128) + parser.add_argument("--max-mae", type=float, default=6.0, + help="Maximum mean quantization error in 0-255 pixel units") + parser.add_argument("--model-name", default="sunsets_native_320x172_quality_v3", + help="Base name for the .espdl and device ZIP (e.g. minecraft for model 2)") + args = parser.parse_args() + export_model(args.checkpoint, args.out, args.calib_steps, args.max_mae, args.model_name) diff --git a/training/model.py b/training/model.py new file mode 100644 index 0000000000000000000000000000000000000000..36f4ea72036ba0941b73f5636d5690470fce05bc --- /dev/null +++ b/training/model.py @@ -0,0 +1,195 @@ +"""Deployment-friendly generator. All image tensors here use NCHW.""" +import copy + +import torch +from torch import nn +from torch.nn.utils import spectral_norm +from torch.nn.utils.fusion import fuse_conv_bn_eval + +LATENT_DIM = 64 +MODEL_VARIANTS = ("balanced_v2", "quality_v3", "upscaled_v4") +# The generator keeps two reflected overscan rows above and below the LCD image. +# Producing a power-of-two 176-row tensor lets every learned convolution stay +# symmetric; firmware and preview helpers display the centered 172 rows. +HEIGHT, WIDTH = 176, 320 +DISPLAY_HEIGHT = 172 +DISPLAY_CROP_TOP = (HEIGHT - DISPLAY_HEIGHT) // 2 + +MODEL_GEOMETRY = { + "balanced_v2": {"width": WIDTH, "height": HEIGHT, + "display_width": WIDTH, "display_height": DISPLAY_HEIGHT, + "crop_top": DISPLAY_CROP_TOP, "upscale": 1}, + "quality_v3": {"width": WIDTH, "height": HEIGHT, + "display_width": WIDTH, "display_height": DISPLAY_HEIGHT, + "crop_top": DISPLAY_CROP_TOP, "upscale": 1}, + # One reflected row on each edge keeps the 11 -> 22 -> 44 -> 88 path + # symmetric. Firmware crops to 160x86 and scales exactly 2x to the LCD. + "upscaled_v4": {"width": WIDTH // 2, "height": HEIGHT // 2, + "display_width": WIDTH, "display_height": DISPLAY_HEIGHT, + "crop_top": DISPLAY_CROP_TOP // 2, "upscale": 2}, +} + + +def model_geometry(variant): + if variant not in MODEL_GEOMETRY: + raise ValueError(f"Unknown model variant {variant!r}; choose one of {MODEL_VARIANTS}") + return MODEL_GEOMETRY[variant] + + +class UpsampleBlock(nn.Module): + def __init__(self, incoming, outgoing, scale_factor=2): + super().__init__() + self.resize = nn.Upsample(scale_factor=2, mode="nearest") if scale_factor == 2 else nn.Identity() + self.conv = nn.Conv2d(incoming, outgoing, 3, padding=1, bias=False) + self.bn = nn.BatchNorm2d(outgoing) + self.relu = nn.ReLU() + + def forward(self, x): + return self.relu(self.bn(self.conv(self.resize(x)))) + + +class ResidualBlock(nn.Module): + """Low-resolution capacity: many weights without a large ESP32 tensor.""" + def __init__(self, channels): + super().__init__() + self.conv = nn.Conv2d(channels, channels, 3, padding=1, bias=False) + self.bn = nn.BatchNorm2d(channels) + self.relu = nn.ReLU() + + def forward(self, x): + return self.relu(x + self.bn(self.conv(x))) + + +class Generator(nn.Module): + def __init__(self, variant="balanced_v2"): + super().__init__() + if variant not in MODEL_VARIANTS: + raise ValueError(f"Unknown model variant {variant!r}; choose one of {MODEL_VARIANTS}") + self.variant = variant + initial = 160 if variant in ("quality_v3", "upscaled_v4") else 128 + self.fc = nn.Linear(LATENT_DIM, initial * 11 * 20) + self.relu = nn.ReLU() + # quality_v3 spends roughly 0.69M extra parameters on three residual + # composition blocks at 11x20. They improve spatial reasoning while the + # largest tensor remains the same 16-channel 176x320 detail activation. + residual_blocks = 5 if variant == "upscaled_v4" else 3 if variant == "quality_v3" else 0 + self.trunk11 = (nn.Sequential(*(ResidualBlock(initial) for _ in range(residual_blocks))) + if residual_blocks else nn.Identity()) + self.stage22 = nn.Sequential( + UpsampleBlock(initial, 128), + UpsampleBlock(128, 128, scale_factor=1), + ) + self.stage44 = UpsampleBlock(128, 64) + self.stage88 = nn.Sequential( + UpsampleBlock(64, 32), + UpsampleBlock(32, 32, scale_factor=1), + ) + self.base_rgb = nn.Conv2d(32, 3, 3, padding=1) + if variant != "upscaled_v4": + # Reduce channels before resizing so ESP-DL never materializes a + # 32-channel 176x320 tensor (which would consume about 1.8 MB). + self.detail_reduce = UpsampleBlock(32, 16, scale_factor=1) + self.stage176 = UpsampleBlock(16, 16) + # The 88x160 branch supplies composition and color. The native branch + # only has to learn the high-frequency residual. + self.base_resize = nn.Upsample(scale_factor=2, mode="nearest") + self.detail_rgb = nn.Conv2d(16, 3, 3, padding=1) + self.tanh = nn.Tanh() + + def forward(self, z): + initial = 160 if self.variant in ("quality_v3", "upscaled_v4") else 128 + x = self.relu(self.fc(z)).reshape(-1, initial, 11, 20) + x = self.trunk11(x) + x = self.stage22(x) + x = self.stage44(x) + middle = self.stage88(x) + if self.variant == "upscaled_v4": + return self.tanh(self.base_rgb(middle)) + base = self.base_resize(self.base_rgb(middle)) + detail = self.detail_rgb(self.stage176(self.detail_reduce(middle))) + return self.tanh(base + detail) + + def initialize_detail_small(self): + """Start close to the 2x base image without blocking detail gradients.""" + if self.variant == "upscaled_v4": + return + nn.init.normal_(self.detail_rgb.weight, 0, 0.001) + if self.detail_rgb.bias is not None: + nn.init.zeros_(self.detail_rgb.bias) + + def for_export(self): + model = copy.deepcopy(self).cpu().eval() + for module in model.modules(): + if isinstance(module, (UpsampleBlock, ResidualBlock)): + module.conv = fuse_conv_bn_eval(module.conv, module.bn) + module.bn = nn.Identity() + return model + + +class ExportGenerator(nn.Module): + """A flat interleaved RGB output makes the firmware layout unambiguous.""" + def __init__(self, generator): + super().__init__() + self.generator = generator.for_export() + + def forward(self, z): + geometry = model_geometry(self.generator.variant) + return self.generator(z).permute(0, 2, 3, 1).reshape( + -1, geometry["height"] * geometry["width"] * 3) + + +class Discriminator(nn.Module): + """Training only: spectral normalization and a global image score.""" + def __init__(self, variant="balanced_v2"): + super().__init__() + model_geometry(variant) + layers = [] + channels = ([(3, 64), (64, 128), (128, 256), (256, 256)] + if variant == "upscaled_v4" + else [(3, 64), (64, 128), (128, 256), (256, 256), (256, 256)]) + for incoming, outgoing in channels: + layers.extend([ + spectral_norm(nn.Conv2d(incoming, outgoing, 4, stride=2, padding=1)), + nn.LeakyReLU(0.2), + ]) + self.features = nn.Sequential(*layers) + self.score = spectral_norm(nn.Linear(256 * 5 * 10, 1)) + + def forward(self, x): + return self.score(self.features(x).flatten(1)).flatten() + + +def initialize(module): + if isinstance(module, (nn.Conv2d, nn.Linear)): + weight = getattr(module, "weight_orig", module.weight) + nn.init.normal_(weight, 0, 0.02) + if module.bias is not None: + nn.init.zeros_(module.bias) + elif isinstance(module, nn.BatchNorm2d): + nn.init.normal_(module.weight, 1, 0.02) + nn.init.zeros_(module.bias) + + +def sample_latents(batch, device="cpu", generator=None): + return torch.rand(batch, LATENT_DIM, device=device, generator=generator) * 2 - 1 + + +def latent_from_seed(seed): + """Exact xorshift32 sequence shared with the firmware; seed zero maps to one.""" + state = int(seed) & 0xFFFFFFFF or 1 + values = [] + for _ in range(LATENT_DIM): + state ^= (state << 13) & 0xFFFFFFFF + state ^= state >> 17 + state ^= (state << 5) & 0xFFFFFFFF + state &= 0xFFFFFFFF + values.append((state >> 8) * (2.0 / 16777216.0) - 1.0) + return torch.tensor([values], dtype=torch.float32) + + +def checkpoint_variant(checkpoint): + """Old balanced-v2 checkpoints predate the explicit variant field.""" + variant = checkpoint.get("config", {}).get("model_variant", "balanced_v2") + if variant not in MODEL_VARIANTS: + raise ValueError(f"Checkpoint declares unsupported model variant {variant!r}") + return variant diff --git a/training/smoke.py b/training/smoke.py new file mode 100644 index 0000000000000000000000000000000000000000..e1b7dcaa0e0d32da5e6ce201dbfbc5e31c14fdc5 --- /dev/null +++ b/training/smoke.py @@ -0,0 +1,37 @@ +"""Run in Colab before the long training job; no Windows ML setup required.""" +import argparse +from pathlib import Path + +import torch + +from .export import export_model +from .model import MODEL_VARIANTS +from .train import train + + +def smoke(data, output, device, model_variant): + if device == "cuda": + # Actually execute a CUDA kernel; enumeration alone misses unsupported GPU architectures. + a = torch.randn(32, 32, device="cuda") + assert torch.isfinite(a @ a).all() + torch.cuda.synchronize() + args = argparse.Namespace(data=data, out=str(Path(output) / "training"), steps=2, + batch_size=8, model_variant=model_variant, + g_lr=0.0002, d_lr=0.0001, fade_steps=2, + r1_gamma=2.0, r1_every=2, ema_decay=0.999, + save_every=2, log_every=1, seed=1234, + device=device, resume=None) + checkpoint = train(args) + export_model(checkpoint, Path(output) / "export", calib_steps=8) + print("COLAB SMOKE PASS: GPU backward/update, checkpoint, ONNX, INT8 export and comparison.") + print("This 2-step smoke model is untrained noise. Use the full training export for the device.") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--data", default="data/galaxies") + parser.add_argument("--out", default="runs/smoke") + parser.add_argument("--device", default="cuda") + parser.add_argument("--model-variant", choices=MODEL_VARIANTS, default="upscaled_v4") + args = parser.parse_args() + smoke(args.data, args.out, args.device, args.model_variant) diff --git a/training/train.py b/training/train.py new file mode 100644 index 0000000000000000000000000000000000000000..b2b059eec5da9fa87d1fec285551fcbdc7d2a692 --- /dev/null +++ b/training/train.py @@ -0,0 +1,310 @@ +"""Hinge-loss GAN with differentiable augmentation, EMA, and resumable checkpoints.""" +import argparse +import copy +import json +import random +import shutil +import time +from pathlib import Path + +import numpy as np +import torch +from torch.nn import functional as F +from torch.utils.data import DataLoader, TensorDataset + +from .data import save_grid +from .model import (MODEL_VARIANTS, Discriminator, Generator, HEIGHT, WIDTH, + initialize, model_geometry, sample_latents) + + +def augment(x, profile="default"): + """Differentiable color, translation, and cutout augmentation.""" + batch = x.shape[0] + structured_scene = profile in ("galaxy", "flowers", "sunsets") + brightness_range = 0.06 if profile == "sunsets" else 0.08 if structured_scene else 0.10 + contrast_range = 0.12 if profile == "sunsets" else 0.15 if structured_scene else 0.20 + brightness = torch.rand(batch, 1, 1, 1, device=x.device) * (2 * brightness_range) - brightness_range + contrast = torch.rand(batch, 1, 1, 1, device=x.device) * (2 * contrast_range) + (1 - contrast_range) + mean = x.mean(dim=(1, 2, 3), keepdim=True) + x = (x - mean) * contrast + mean + brightness + + # Independent small translations stop the discriminator memorizing exact + # crops and alignment cues in this relatively small image dataset. + theta = torch.zeros(batch, 2, 3, device=x.device, dtype=x.dtype) + theta[:, 0, 0] = 1 + theta[:, 1, 1] = 1 + translation = 0.02 if profile == "sunsets" else 0.03 if structured_scene else 0.05 + theta[:, 0, 2] = torch.empty(batch, device=x.device).uniform_(-translation, translation) + theta[:, 1, 2] = torch.empty(batch, device=x.device).uniform_(-translation, translation) + grid = F.affine_grid(theta, x.shape, align_corners=False) + x = F.grid_sample(x, grid, mode="bilinear", padding_mode="reflection", align_corners=False) + + # Per-image cutout adds useful regularization without entering the exported + # generator graph. Zero is mid-gray in the normalized [-1, 1] image range. + height, width = x.shape[-2:] + # Structured single-subject and horizon datasets use a smaller mask so + # regularization does not routinely erase the defining composition. + cut_divisor = 8 if structured_scene else 4 + cut_h, cut_w = max(1, height // cut_divisor), max(1, width // cut_divisor) + center_y = torch.randint(0, height, (batch, 1, 1), device=x.device) + center_x = torch.randint(0, width, (batch, 1, 1), device=x.device) + yy = torch.arange(height, device=x.device).view(1, height, 1) + xx = torch.arange(width, device=x.device).view(1, 1, width) + keep = ((yy - center_y).abs() >= cut_h // 2) | ((xx - center_x).abs() >= cut_w // 2) + return x * keep.unsqueeze(1) + + +def progressive_detail(x, amount): + """Fade discriminator input from a 2x-smoothed image to native detail.""" + if amount >= 1: + return x + height, width = x.shape[-2:] + coarse = F.interpolate(x, size=(height // 2, width // 2), mode="bilinear", + align_corners=False, antialias=True) + coarse = F.interpolate(coarse, size=(height, width), mode="bilinear", align_corners=False) + return coarse.lerp(x, amount) + + +@torch.no_grad() +def update_ema(ema, model, decay): + for averaged, current in zip(ema.parameters(), model.parameters()): + averaged.lerp_(current, 1 - decay) + # BatchNorm statistics track training, rather than being averaged twice. + for averaged, current in zip(ema.buffers(), model.buffers()): + averaged.copy_(current) + + +def save_checkpoint(path, state): + temporary = path.with_suffix(".tmp") + torch.save(state, temporary) + temporary.replace(path) + + +def load_checkpoint(path): + # These checkpoints contain RNG/optimizer state: only load your own files. + return torch.load(path, map_location="cpu", weights_only=False) + + +def train(args): + if args.steps < 1 or args.batch_size < 2 or args.save_every < 1 or args.log_every < 1: + raise ValueError("steps/save-every/log-every must be positive; batch-size must be >=2") + g_lr = getattr(args, "g_lr", getattr(args, "lr", 0.0002)) + d_lr = getattr(args, "d_lr", 0.0001) + model_variant = getattr(args, "model_variant", "balanced_v2") + fade_steps = getattr(args, "fade_steps", 10000) + r1_gamma = getattr(args, "r1_gamma", 2.0) + r1_every = getattr(args, "r1_every", 16) + if model_variant not in MODEL_VARIANTS: + raise ValueError(f"Unknown model variant {model_variant!r}; choose one of {MODEL_VARIANTS}") + geometry = model_geometry(model_variant) + if g_lr <= 0 or d_lr <= 0 or fade_steps < 0 or r1_gamma < 0 or r1_every < 1: + raise ValueError("learning rates must be positive; fade/R1 settings are invalid") + torch.set_num_threads(min(4, torch.get_num_threads())) + device = torch.device(args.device) + if device.type == "cuda" and not torch.cuda.is_available(): + raise RuntimeError("Select a GPU runtime in Colab, or explicitly use --device cpu for a smoke check.") + random.seed(args.seed) + np.random.seed(args.seed) + torch.manual_seed(args.seed) + if device.type == "cuda": + torch.cuda.manual_seed_all(args.seed) + torch.backends.cudnn.benchmark = True + print(f"GPU: {torch.cuda.get_device_name(device)}; PyTorch {torch.__version__}", flush=True) + run = Path(args.out) + run.mkdir(parents=True, exist_ok=True) + data = np.load(Path(args.data) / "train.npy") + if data.dtype != np.uint8 or data.ndim != 4 or data.shape[1:] != (HEIGHT, WIDTH, 3): + raise ValueError(f"Expected uint8 training data shaped [N,{HEIGHT},{WIDTH},3]; run training.data first") + if len(data) < 2: + raise ValueError("Not enough training images") + dataset_info = Path(args.data) / "dataset.json" + dataset_metadata = json.loads(dataset_info.read_text()) if dataset_info.exists() else {} + augmentation_profile = dataset_metadata.get("augmentation_profile", "default") + if augmentation_profile not in ("default", "galaxy", "flowers", "sunsets"): + raise ValueError(f"Unsupported dataset augmentation profile {augmentation_profile!r}") + if geometry["upscale"] == 2: + # Keep the downloaded dataset reusable by every model variant. Downsample + # it once in bounded CPU chunks, retaining the reflected overscan row. + source = torch.from_numpy(data) + images = torch.empty((len(data), 3, geometry["height"], geometry["width"]), + dtype=torch.uint8) + for start in range(0, len(data), 128): + chunk = source[start:start + 128].permute(0, 3, 1, 2).float() + images[start:start + len(chunk)] = F.interpolate( + chunk, size=(geometry["height"], geometry["width"]), mode="area" + ).round().clamp_(0, 255).to(torch.uint8) + del source + else: + # Reordering NHWC to contiguous NCHW already makes the writable training + # copy. Avoid an extra full-dataset copy, then release the source array. + images = torch.from_numpy(data).permute(0, 3, 1, 2).contiguous() + del data + loader_rng = torch.Generator().manual_seed(args.seed) + loader = DataLoader(TensorDataset(images), batch_size=min(args.batch_size, len(images)), + shuffle=True, drop_last=True, num_workers=0, + pin_memory=device.type == "cuda", generator=loader_rng) + g, d = Generator(model_variant).to(device), Discriminator(model_variant).to(device) + g.apply(initialize) + g.initialize_detail_small() + d.apply(initialize) + ema = copy.deepcopy(g).eval().requires_grad_(False) + opt_g = torch.optim.Adam(g.parameters(), lr=g_lr, betas=(0.0, 0.99)) + opt_d = torch.optim.Adam(d.parameters(), lr=d_lr, betas=(0.0, 0.99)) + fixed = sample_latents(32) + start = 0 + if args.resume: + checkpoint = load_checkpoint(args.resume) + for key, network in (("generator", g), ("discriminator", d)): + saved, expected = checkpoint[key], network.state_dict() + if saved.keys() != expected.keys() or any(saved[k].shape != expected[k].shape for k in expected): + raise ValueError( + "This checkpoint uses a different model architecture. Keep fast balanced-v2 " + "and upscaled-v4 run names separate; their checkpoints are not interchangeable." + ) + g.load_state_dict(checkpoint["generator"]) + d.load_state_dict(checkpoint["discriminator"]) + ema.load_state_dict(checkpoint["ema"]) + opt_g.load_state_dict(checkpoint["opt_g"]) + opt_d.load_state_dict(checkpoint["opt_d"]) + fixed = checkpoint["fixed_latents"] + start = checkpoint["step"] + torch.set_rng_state(checkpoint["torch_rng"]) + loader_rng.set_state(checkpoint["loader_rng"]) + np.random.set_state(checkpoint["numpy_rng"]) + random.setstate(checkpoint["python_rng"]) + if device.type == "cuda" and checkpoint.get("cuda_rng"): + torch.cuda.set_rng_state_all(checkpoint["cuda_rng"]) + print(f"Resumed at step {start}. --steps is the total target step count.", flush=True) + if start >= args.steps: + raise ValueError("Checkpoint already reached --steps; increase the total target or use its existing export") + config = vars(args).copy() + config.update(model_variant=model_variant, g_lr=g_lr, d_lr=d_lr, fade_steps=fade_steps, + r1_gamma=r1_gamma, r1_every=r1_every, model_geometry=geometry) + config["dataset"] = dataset_metadata + (run / "config.json").write_text(json.dumps(config, indent=2) + "\n") + print(f"Generator {model_variant}: {sum(p.numel() for p in g.parameters()):,} parameters; " + f"output: {geometry['width']}x{geometry['height']}; images: {len(images)}; " + f"G lr {g_lr:g}; D lr {d_lr:g}; detail fade {fade_steps:,} steps; " + f"R1 gamma {r1_gamma:g} every {r1_every} steps; " + f"augmentation {augmentation_profile}", flush=True) + iterator = iter(loader) + clock = time.monotonic() + last_progress = clock + last_step = start + print(f"Starting training: step {start:,}/{args.steps:,}; batch {loader.batch_size}. " + "Progress prints at least every 5 seconds when a step finishes.", flush=True) + + def checkpoint_now(step): + print(f"Saving checkpoint and sample grid at step {step:,}...", flush=True) + save_checkpoint(run / "latest.pt", { + "format_version": 1, "step": step, "generator": g.state_dict(), + "discriminator": d.state_dict(), "ema": ema.state_dict(), + "opt_g": opt_g.state_dict(), "opt_d": opt_d.state_dict(), + "fixed_latents": fixed, "torch_rng": torch.get_rng_state(), + "cuda_rng": torch.cuda.get_rng_state_all() if device.type == "cuda" else None, + "loader_rng": loader_rng.get_state(), "numpy_rng": np.random.get_state(), + "python_rng": random.getstate(), "config": config, + }) + if step % 10000 == 0 or step == args.steps: + shutil.copy2(run / "latest.pt", run / f"checkpoint_{step:07d}.pt") + with torch.no_grad(): + samples = ema(fixed.to(device)).cpu().permute(0, 2, 3, 1).numpy() + save_grid(np.clip((samples + 1) * 127.5, 0, 255).round().astype(np.uint8), + run / f"samples_{step:07d}.png") + print(f"Saved: {run / 'latest.pt'} and samples_{step:07d}.png", flush=True) + + try: + for step in range(start + 1, args.steps + 1): + try: + real = next(iterator)[0] + except StopIteration: + iterator = iter(loader) + real = next(iterator)[0] + real = real.to(device, non_blocking=True).float().div_(127.5).sub_(1) + flip = torch.rand(real.shape[0], 1, 1, 1, device=device) < 0.5 + real = torch.where(flip, real.flip(-1), real) + detail_amount = 1.0 if fade_steps == 0 else min(1.0, step / fade_steps) + apply_r1 = r1_gamma > 0 and step % r1_every == 0 + d.requires_grad_(True) + opt_d.zero_grad(set_to_none=True) + g.train() + # Reuse the same G graph for its update; D sees a detached view first. + # This keeps BatchNorm behavior consistent and updates its stats once. + fake = g(sample_latents(len(real), device)) + real_for_d = progressive_detail(real, detail_amount).detach() + fake_for_d = progressive_detail(fake, detail_amount) + real_scores = d(augment(real_for_d, augmentation_profile)) + fake_scores = d(augment(fake_for_d.detach(), augmentation_profile)) + loss_d = F.relu(1 - real_scores).mean() + F.relu(1 + fake_scores).mean() + r1_penalty = torch.zeros((), device=device) + if apply_r1: + # Keep R1 off grid_sample: its second derivative is unavailable + # on some CUDA/PyTorch combinations. The adversarial path above + # still receives the complete differentiable augmentation policy. + r1_input = real_for_d.detach().requires_grad_(True) + r1_scores = d(r1_input) + real_gradient = torch.autograd.grad(r1_scores.sum(), r1_input, + create_graph=True, only_inputs=True)[0] + r1_penalty = real_gradient.square().flatten(1).sum(1).mean() + loss_d = loss_d + 0.5 * r1_gamma * r1_every * r1_penalty + if not torch.isfinite(loss_d): + raise FloatingPointError("Non-finite discriminator loss; inspect the previous checkpoint") + loss_d.backward() + opt_d.step() + d.requires_grad_(False) + opt_g.zero_grad(set_to_none=True) + loss_g = -d(augment(fake_for_d, augmentation_profile)).mean() + if not torch.isfinite(loss_g): + raise FloatingPointError("Non-finite GAN loss; stop and inspect the previous checkpoint") + loss_g.backward() + opt_g.step() + update_ema(ema, g, args.ema_decay) + last_step = step + now = time.monotonic() + if step == start + 1 or step % args.log_every == 0 or now - last_progress >= 5 or step == args.steps: + elapsed = max(now - clock, 1e-9) + speed = (step - start) / elapsed + eta = int((args.steps - step) / speed) + entry = {"step": step, "g_loss": loss_g.item(), "d_loss": loss_d.item(), + "d_real": real_scores.mean().item(), "d_fake": fake_scores.mean().item(), + "r1_penalty": r1_penalty.item(), "detail_amount": detail_amount, + "steps_per_second": speed, "elapsed_seconds": elapsed, + "eta_seconds": eta, "percent": 100 * step / args.steps} + print(f"Step {step:,}/{args.steps:,} ({entry['percent']:.1f}%) | " + f"{speed:.2f} steps/s | ETA {eta // 3600:02d}:{eta // 60 % 60:02d}:{eta % 60:02d} | " + f"G {entry['g_loss']:.4f} | D {entry['d_loss']:.4f} | " + f"D(real/fake) {entry['d_real']:.3f}/{entry['d_fake']:.3f} | " + f"detail {detail_amount:.2f}", flush=True) + last_progress = now + with (run / "metrics.jsonl").open("a") as stream: + stream.write(json.dumps(entry) + "\n") + if step % args.save_every == 0 or step == args.steps: + checkpoint_now(step) + except KeyboardInterrupt: + if last_step > start: + checkpoint_now(last_step) + print("Interrupted; saved the last completed step.", flush=True) + raise + print(f"Training complete: {args.steps:,}/{args.steps:,} steps. Checkpoint: {run / 'latest.pt'}", flush=True) + return run / "latest.pt" + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--data", default="data/galaxies") + parser.add_argument("--out", default="runs/sunsets") + parser.add_argument("--steps", type=int, default=30000) + parser.add_argument("--batch-size", type=int, default=16) + parser.add_argument("--model-variant", choices=MODEL_VARIANTS, default="upscaled_v4") + parser.add_argument("--g-lr", type=float, default=0.0002) + parser.add_argument("--d-lr", type=float, default=0.0001) + parser.add_argument("--fade-steps", type=int, default=10000) + parser.add_argument("--r1-gamma", type=float, default=2.0) + parser.add_argument("--r1-every", type=int, default=16) + parser.add_argument("--ema-decay", type=float, default=0.999) + parser.add_argument("--save-every", type=int, default=500) + parser.add_argument("--log-every", type=int, default=100) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument("--device", default="cuda") + parser.add_argument("--resume") + train(parser.parse_args())