summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Keyboard] Add Beatervan keyboard (#10939)ojthetiny2020-11-1610-0/+569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added Beatervan Keyboard * added files for beatervan * Update keyboards/beatervan/beatervan.h Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/beatervan.h Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/info.json Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/config.h Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/rules.mk Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com> * Delete config.h * Delete config.h * Update keymap.c * Update beatervan.c * Update beatervan.h * Update config.h * Update keymap.c * Update keymap.c Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
* BDN9: Fix encoder direction, add 3rd encoder for Rev. 1.3 support (#10883)Danny2020-11-161-2/+2
|
* Fix typo causing `redefined error` in keymap_french_osx (#10962)Geoffrey BOTIN2020-11-171-1/+1
| | | Co-authored-by: gbotin <geoffrey.botin@gmail.com>
* [Keymap] clean up helix:five_rows keymap (#10866)Takeshi ISHII2020-11-1710-361/+1293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makes the OLED driver used by the helix:five_rows keymap switchable. * use TOP/drivers/oled/oled_driver.c `make HELIX=stdole helix:five_rows` * use helix/local_drivers/ssd1306.c `make HELIX=oled helix:five_rows` * Separated the OLED related code from keymap.c and moved it to oled_display.c. * scan rate without OLED * make HELIX=verbose,dispoff,scan helix/rev2:five_rows use Helix original code text data bss dec hex filename 18880 58 235 19173 4ae5 .build/helix_rev2_five_rows.elf matrix scan frequency: 1590 * make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows use split_common code text data bss dec hex filename 18554 40 231 18825 4989 .build/helix_rev2_five_rows.elf matrix scan frequency: 1202 * scan rate with helix/local_drivers/ssd1306.c * make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows use Helix original code text data bss dec hex filename 24048 196 342 24586 600a .build/helix_rev2_five_rows.elf matrix scan frequency: 739 * make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows use split_common code text data bss dec hex filename 23750 176 338 24264 5ec8 .build/helix_rev2_five_rows.elf matrix scan frequency: 642 * scan rate with drivers/oled/oled_driver.c * make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows use Helix original code text data bss dec hex filename 24590 210 798 25598 63fe .build/helix_rev2_five_rows.elf matrix scan frequency: 293 * make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows use split_common code text data bss dec hex filename 24290 190 794 25274 62ba .build/helix_rev2_five_rows.elf matrix scan frequency: 277 * clean up helix/rev2/keymaps/five_rows/keymap.c * update five_rows/oled_display.c * update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc() * Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows. * update five_rows/oled_display.c * add License comment
* [Keyboard] YMDK NP21: correct numpad layout matrix (#10874)Cole Helbling2020-11-161-4/+4
| | | | | | I noticed that my KC_PPLS and KC_PENT keys weren't actually doing anything. By looking at the ortho_6x4 layout, I guessed that maybe the pins were incorrect and guessed the proper ones. Now, my numpad is fully functional.
* CLI: Udev related fixes and improvements (#10736)Erovia2020-11-163-116/+141
|
* Recommend use of LED Indicator config (#10895)Joel Challis2020-11-163-1/+12
| | | | | | | | | | | * Recommend use of LED Indicator config * Recommend use of LED Indicator config - update link * Update quantum/template/ps2avrgb/config.h Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* [Keyboard] Add "Uno" (#10579)jvbroek2020-11-168-0/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add all files * Update keyboards/uno/config.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/uno/config.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/uno/rules.mk Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/uno/keymaps/default/keymap.c Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/uno/keymaps/default/keymap.c Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/uno/info.json Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/uno/readme.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update readme.md Co-authored-by: Joshua Broekhuijsen <j.broekhuijsen@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* [Keyboard] added Pill60 to handwired/pill60 (#10798)Ikta2020-11-1521-0/+1976
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * added to handwired pill60 * Update keyboards/handwired/pill60/config.h and all other PR suggested changes Deleted DESCRIPTION Co-authored-by: Drashna Jaelre <drashna@live.com> Update keyboards/handwired/pill60/readme.md Smaller image in readme Co-authored-by: Drashna Jaelre <drashna@live.com> Update keyboards/handwired/pill60/info.json Deleted key_count Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/keymaps/default/keymap.c Deleted backslash on keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/pill60.h Deleted led.h Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/blackpill_f401/rules.mk Update stm32f401 rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/blackpill_f411/rules.mk Update stm32f411 rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/bluepill/rules.mk Update bluepill rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> Update keyboards/handwired/pill60/rules.mk Added comment on rules.mk to help ] Co-authored-by: Ryan <fauxpark@gmail.com> deleted bootloader_defs.h added GPL2 + compatible license header updated keymap readme updated those that don't need common_config.h and deleted some unnecessary spaces in f411/rules.mk updated default folder in rules.mk * fix and simplify build files according to onekey example * Added GPL2+ Compatible license header
* [Keyboard] add Symmetric70 keyboard prototype (#10780)Takeshi ISHII2020-11-1511-0/+702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * proto_symmetric70 作成中 74hc157 無しで 片手動作は、右と左でそれぞれうごいた。 * add 74HC157 support * add keymaps/default_mac * update proto_symmetric70/keymaps/default_mac/readme.md * update 74HC157 support * add keyboards/handwired/proto_symmetric70/matrix.c.patch * update keyboards/handwired/proto_symmetric70/readme.md * rename proto_symmetric70 to symmetric70_proto * Update keyboards/handwired/symmetric70_proto/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/handwired/symmetric70_proto/symmetric70_proto.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/handwired/symmetric70_proto/readme.md Co-authored-by: Ryan <fauxpark@gmail.com> * update readme.md * update keyboards/handwired/symmetric70_proto/config.h * remove keyboards/handwired/symmetric70_proto/matrix.c.patch * Update keyboards/handwired/symmetric70_proto/matrix.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/handwired/symmetric70_proto/matrix.c Co-authored-by: Drashna Jaelre <drashna@live.com> * use KC_NO, _______ Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* [Keymap] Add nfriend's ErgoDox EZ keymap (#10545)Nathan Friend2020-11-155-0/+1279
|
* [Keyboard] Add Lily58 via keymap (#10178)Naoki Katahira2020-11-153-0/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Lily58 VIA keymap * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/lily58/keymaps/via/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * update via keymap * fix keymap.c * add licence to keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* ZTBoards Updated keymap and updated info.json (#10926)Philip (Han) Suh2020-11-143-18/+8
| | | | | | | | | * Updated information on info.json and hopefully de-cluttered branch * Updated default encoder settings * Updated info.json for after to be in the proper order * Fixed maintainer name
* [Keyboard] h660s by hineybush (#10221)Josh Hinnebusch2020-11-1411-0/+1089
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add h660s * add via support to h660s * update readme * Update keyboards/hineybush/h660s/keymaps/via/readme.md * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/readme.md * Update keyboards/hineybush/h660s/readme.md * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/info.json * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h
* [Keyboard] Time 80 TKL by Fox Lab (#10851)Lukas Alexandre2020-11-147-0/+296
| | | | | | | | | | | | | | | | | | | | * Porting Time 80 TKL * Update keyboards/foxlab/key65/hotswap/readme.md * Update keyboards/foxlab/time80/rules.mk * Update keyboards/foxlab/time80/config.h * Update keyboards/foxlab/time80/readme.md * Update keyboards/foxlab/time80/readme.md * Update keyboards/foxlab/time80/config.h * Use LAYOUT_all * Fixing placement of shortcuts
* [Keyboard] Southpaw66 by rpiguy9907 (#10782)gooberpsycho2020-11-139-0/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * added Keyboard Southpaw66 * Housekeeping, shorten urls * Housekeeping * Row matrix pins were flipped, fixed * housekeeping, extraneous punctuation * bug-fixing * bug-fixing * Layout macro fixed * Layout macro fixed again * Update and rename Southpaw66,c to southpaw66.c * Rename Southpaw66.h to southpaw66.h * Update config.h * Update info.json * Change Southpaw66 to southpaw66 made change to case in all instances in code except where critical, such as in url's. * Rename parent folder from Southpaw66 to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * Update info.json * Update keyboards/rpiguy9907/Southpaw66/readme.md updated image url to point to lower resolution image. * Update config.h re-capitalized Southpaw66 in product name. * Rename Southpaw66 parent folder to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * Update keyboards/rpiguy9907/southpaw66/readme.md * Update keyboards/rpiguy9907/southpaw66/config.h
* handwired/onekey/blackpill_f401: Fix I2C pin config mismatch (#10322)Sergey Vlasov2020-11-121-0/+23
| | | | | | | | | | | | | | By default the `i2c_master` driver for ChibiOS uses the B6 pin for `I2C1_SCL` and the B7 pin for `I2C1_SDA`. However, the ChibiOS board file used for the F401 Blackpill board (`ST_STM32F401C_DISCOVERY`) configures B6 as `I2C1_SCL` and B9 as `I2C1_SDA`, and if that configuration is left unchanged, enabling the `i2c_master` driver results in having two pins (B7 and B9) configured as `I2C1_SDA` at the same time, which does not work properly (experimental results show that the B9 pin still works as `I2C1_SDA` in that case, and the B7 pin does not work). Configure the B9 pin as an input with pull-up in `board_init()`, so that the B7 pin can be configured as `I2C1_SDA` by the I2C driver.
* Bring up Qvex Lynepad (#10826)KemoNine2020-11-129-0/+329
|
* Improve the QMK Lint workflow (#10909)Zach White2020-11-101-0/+4
| | | | | * properly set the exit_code * handle the case where exit_code is greater than 255
* CI: Add docs build and deploy workflow (#7448)Joel Challis2020-11-106-20/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add docs build and deploy workflow * Remove old travis docs workflow * update to cli command * Tidy up for review * formatting * Update to pass style checks * Update lib/python/qmk/cli/docs.py Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Review comments - build->generate, use of verbose * Add docs * Update to match recent actions * Run within base_container * Convert cli to generate-docs * Convert cli to generate-docs - restore old file * Convert cli to generate-docs * Update docs Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
* [Keyboard] RGBKB Pan (#9587)Legonut2020-11-0915-0/+461
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add new keyboard Pan Encoder switches still need work * New keyboard Pan Should be complete * Split MCU selection into 2 revision folders * [rgbkb/pan] Make requested changes for PR Additionally, set DEFAULT_FOLDER to rev1, and default rev1 to atmega32a (as all shipped kits include an atmega32a) * Apply suggestions from code review * Fix default keymap typo * add usb max power define * Commit suggested changes * Update keyboards/rgbkb/pan/config.h * Apply suggestions from code review Small copyright updates * Apply suggestions from code review
* XD68: add 65_ansi_split_bs layout (#10835)Ole Westendorff2020-11-093-1/+105
| | | | | | | | * XD68: add 65_ansi_split_bs layuout * change number of keys in info.json * Apply suggestions from code review
* refactor SPLIT_KEYBOARD, OLED_DRIVER_ENABLE (#10405)yfuku2020-11-1033-2539/+236
|
* [Keyboard] Crazy Keyboard 68 (#10693)chent72020-11-098-0/+439
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Entry and readme for crazy keyboard 68 * Defined layout in keyboard.h * Basic setup done * Working config, keymaps, rgb confirmed. Caps lock led untested * Update readme.md Image links * Update config.h * Update crazy_keyboard_68.c #include "quantum.h" * Match PR * Update keyboards/crazy_keyboard_68/crazy_keyboard_68.c * Update keyboards/crazy_keyboard_68/keymaps/default/keymap.c * Update keyboards/crazy_keyboard_68/keymaps/default/keymap.c * Update keyboards/crazy_keyboard_68/info.json * Update keyboards/crazy_keyboard_68/crazy_keyboard_68.h * Update keyboards/crazy_keyboard_68/rules.mk * Update keyboards/crazy_keyboard_68/rules.mk * Update keyboards/crazy_keyboard_68/config.h
* userspace and keymap changes for rupa (#10489)rupa2020-11-1014-132/+519
| | | | | | | * userspace and keymap changes for rupa * remove layout wrappers and blocker rows from wrappers handle this in keymaps for now
* [Keyboard] kingly_keys/ave (#10042)Garret G2020-11-0916-0/+1120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add configurator support for "The Ave." keyboard * Update readme.md * update misc nomenclature * add punctuation * fix miss-placed "0" * update README.md * del. duplicate "F11" in visual layout information * Split PCB configurations into subfolders * update layer template to new matrix title * rm primary <keyboard>.c / <keyboard>.h files * add new end line to both .h subfolder fiels * Apply suggestions from code review * tested update to RGB code * update rgb code * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update rules.mk * Update rules.mk * Delete rules.mk * Delete rules.mk * Update rules.mk * Update config.h * Update config.h * Update keymap.c * Update ortho.c * Update ortho.h * Update config.h * Update keymap.c * Update staggered.c * Update staggered.h * Apply suggestions from code review * Update config.h * Update keymap.c * move and duplicate rules.mk file * Update keyboards/kingly_keys/ave/readme.md * Update config.h * Update keyboards/kingly_keys/ave/config.h
* Added color wheel that have QMK HSV values. (#8997)elijahblake812020-11-101-0/+2
| | | I've converted the 360 color wheel to the 255 color wheel for QMK HSV values.
* [Docs] redirect from /tutorial to /newbs (#10718)Mikkel Jeppesen2020-11-092-1/+2
| | | | | | | * Added redirect from /tutorial to /newbs * Fixed indentation * Changed title of tutorial page
* Add VIA Keymap for Worldspawn Gothic70. (#10617)Nate Stein2020-11-093-1/+80
| | | | | | | | | | * Add VIA Keymap for Worldspawn Gothic70. * Prevent LEDs from turning on at startup. * Add license header to keymap. * Fix Keymap Formatting.
* [Keymap] little foot (#7305)Yan-Fa Li2020-11-104-2/+55
| | | | | | | | | | | | | | | | | | | | | * Personal keymap - fix quoting in description fix issue with userspace disabling audio wip Update keyboards/kingly_keys/little_foot/keymaps/yanfali/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/kingly_keys/little_foot/config.h Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Yan-Fa Li <yanfa.li@fireeye.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
* Update massdrop/alt and arm_atsam/led_matrix to fix #10813 (#10818)Chris Merrill2020-11-095-14/+16
| | | | | | | | * Update massdrop/alt keyboard to fix Caps Lock LED flickering. * Fix Caps-lock LED during underglow-only for massdrop/ctrl * Update keyboards/massdrop/ctrl/keymaps/default/keymap.c
* [Keymap] idobo:egstad (#10783)Jordan Egstad2020-11-094-0/+355
| | | | | | | | | * feat: new keymapping for idobo * fix: added licenses. converted int to uint8_t where applicable * fix: addressed zvecr stylistic enhancements * fix: replaced rgblight_sethsv with rgblight_sethsv_noeeprom
* Adding few Korean translated files (#5895)SeungheonOh2020-11-104-0/+273
| | | | | | | | | * Korean Translation Korean Translation * Korean translation * more Korean translations
* [Keyboard] Keebwerk MEGA Initial commit (#10777)yiancar2020-11-0916-15/+1977
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial commit - Add Keebwerk Mega pcb - Update wilba rgb code * Update keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/keymaps/via/readme.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/keymaps/default/readme.md Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Indicator LEDs as config (#10816)Joel Challis2020-11-089-174/+264
| | | | | | | | | | |