diff options
author | Pacho Ramos <pacho@gentoo.org> | 2013-02-10 08:03:08 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2013-02-10 08:03:08 +0000 |
commit | 71256f0a7e1208182f161f42329d6ee254cb59a4 (patch) | |
tree | c4a603831956db952b7f147b264b024fb472ebe3 /net-dialup/misdn/files | |
parent | [bump] dev-perl/MooseX-Getopt-0.540.0 (diff) | |
download | historical-71256f0a7e1208182f161f42329d6ee254cb59a4.tar.gz historical-71256f0a7e1208182f161f42329d6ee254cb59a4.tar.bz2 historical-71256f0a7e1208182f161f42329d6ee254cb59a4.zip |
Clean masked package
Diffstat (limited to 'net-dialup/misdn/files')
-rw-r--r-- | net-dialup/misdn/files/README.hfcmulti | 61 | ||||
-rw-r--r-- | net-dialup/misdn/files/misdn-2.6.23.diff | 53 | ||||
-rw-r--r-- | net-dialup/misdn/files/misdn-2.6.24.diff | 331 |
3 files changed, 0 insertions, 445 deletions
diff --git a/net-dialup/misdn/files/README.hfcmulti b/net-dialup/misdn/files/README.hfcmulti deleted file mode 100644 index 1b29369e3fdf..000000000000 --- a/net-dialup/misdn/files/README.hfcmulti +++ /dev/null @@ -1,61 +0,0 @@ - * hfcmulti - low level driver for hfc-4s/hfc-8s/hfc-e1 based cards - * module parameters: - - * type: - Value 1 = HFC-E1 (1 port) 0x01 - Value 4 = HFC-4S (4 ports) 0x04 - Value 8 = HFC-8S (8 ports) 0x08 - Bit 8 = uLaw (instead of aLaw) - Bit 9 = Enable DTMF detection on all B-channels - Bit 10 = spare - Bit 11 = Set PCM bus into slave mode. - Bit 12 = Ignore missing frame clock on PCM bus. - Bit 13 = Use direct RX clock for PCM sync rather than PLL. (E1 only) - Bit 14 = Use external ram (128K) - Bit 15 = Use external ram (512K) - Bit 16 = Use 64 timeslots instead of 32 - Bit 17 = Use 128 timeslots instead of anything else - - * protocol: - NOTE: Must be given for all ports, not for the number of cards. - HFC-4S/HFC-8S/HFC-E1 bits: - Bit 0-3 = protocol - Bit 4 = NT-Mode - Bit 5 = PTP (instead of multipoint) - - HFC-4S/HFC-8S only bits: - Bit 16 = Use master clock for this S/T interface (ony once per chip). - Bit 17 = transmitter line setup (non capacitive mode) DONT CARE! - Bit 18 = Disable E-channel. (No E-channel processing) - Bit 19 = Register E-channel as D-stack (TE-mode only) - - HFC-E1 only bits: - Bit 16 = interface: 0=copper, 1=optical - Bit 17 = reserved (later for 32 B-channels transparent mode) - Bit 18 = Report LOS - Bit 19 = Report AIS - Bit 20 = Report SLIP - Bit 21-22 = elastic jitter buffer (1-3), Use 0 for default. - (all other bits are reserved and shall be 0) - - * layermask: - NOTE: Must be given for all ports, not for the number of cards. - mask of layers to be used for D-channel stack - - * debug: - NOTE: only one debug value must be given for all cards - enable debugging (see hfc_multi.h for debug options) - - * poll: - NOTE: only one poll value must be given for all cards - Give the number of samples for each fifo process. - By default 128 is used. Decrease to reduce delay, increase to - reduce cpu load. If unsure, don't mess with it! - Valid is 8, 16, 32, 64, 128, 256. - - * pcm: - NOTE: only one pcm value must be given for all cards - Give the id of the PCM bus. All PCM busses with the same ID - are expected to be connected and have equal slots. - Only one chip of the PCM bus must be master, the others slave. - -1 means no support of PCM bus. diff --git a/net-dialup/misdn/files/misdn-2.6.23.diff b/net-dialup/misdn/files/misdn-2.6.23.diff deleted file mode 100644 index df38ba619068..000000000000 --- a/net-dialup/misdn/files/misdn-2.6.23.diff +++ /dev/null @@ -1,53 +0,0 @@ -diff -ur mISDN.orig/capi.c mISDN/capi.c ---- mISDN.orig/capi.c 2007-10-22 20:29:42.000000000 +0200 -+++ mISDN/capi.c 2007-10-22 20:31:18.000000000 +0200 -@@ -258,7 +258,7 @@ - #else - sizeof(_cmsg), - #endif -- 0, 0, NULL, NULL); -+ 0, 0, NULL); - if (!mISDN_cmsg_cp) { - CapiCachesFree(); - return(-ENOMEM); -@@ -269,7 +269,7 @@ - #else - sizeof(AppPlci_t), - #endif -- 0, 0, NULL, NULL); -+ 0, 0, NULL); - if (!mISDN_AppPlci_cp) { - CapiCachesFree(); - return(-ENOMEM); -@@ -280,7 +280,7 @@ - #else - sizeof(Ncci_t), - #endif -- 0, 0, NULL, NULL); -+ 0, 0, NULL); - if (!mISDN_ncci_cp) { - CapiCachesFree(); - return(-ENOMEM); -@@ -291,7 +291,7 @@ - #else - sizeof(SSProcess_t), - #endif -- 0, 0, NULL, NULL); -+ 0, 0, NULL); - if (!mISDN_sspc_cp) { - CapiCachesFree(); - return(-ENOMEM); -diff -ur mISDN.orig/udevice.c mISDN/udevice.c ---- mISDN.orig/udevice.c 2007-10-22 20:29:42.000000000 +0200 -+++ mISDN/udevice.c 2007-10-22 20:33:35.000000000 +0200 -@@ -2025,9 +2025,7 @@ - if ((err = mISDN_unregister(&udev_obj))) { - printk(KERN_ERR "Can't unregister UserDevice(%d)\n", err); - } -- if ((err = unregister_chrdev(mISDN_MAJOR, "mISDN"))) { -- printk(KERN_WARNING "mISDN: devices busy on remove\n"); -- } -+ unregister_chrdev(mISDN_MAJOR, "mISDN"); - #ifdef CONFIG_DEVFS_FS - devfs_remove("mISDN"); - #endif diff --git a/net-dialup/misdn/files/misdn-2.6.24.diff b/net-dialup/misdn/files/misdn-2.6.24.diff deleted file mode 100644 index 66c9f8265237..000000000000 --- a/net-dialup/misdn/files/misdn-2.6.24.diff +++ /dev/null @@ -1,331 +0,0 @@ -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/app_plci.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/app_plci.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/app_plci.c 2008-01-18 10:24:49.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/app_plci.c 2008-02-05 23:06:46.000000000 +0100 -@@ -825,6 +825,7 @@ - cmsg->LLC = &p[qi->llc.off + 1]; - if (qi->hlc.off) - cmsg->HLC = &p[qi->hlc.off + 1]; -+#ifdef CAPIUTIL_VERSION - #if CAPIUTIL_VERSION > 1 - /* ETS 300 092 Annex B */ - if (qi->calling_nr.repeated) { -@@ -834,6 +835,7 @@ - int_error(); - } - #endif -+#endif - // all else set to default - } - if (mISDN_FsmEvent(&aplci->plci_m, EV_PI_CONNECT_IND, cmsg)) -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/avm_fritz.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/avm_fritz.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/avm_fritz.c 2008-01-18 10:24:49.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/avm_fritz.c 2008-02-05 23:06:46.000000000 +0100 -@@ -689,7 +689,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - avm_fritz_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+avm_fritz_interrupt(int intno, void *dev_id) -+#endif - { - fritzpnppci *fc = dev_id; - u_char val; -@@ -722,7 +726,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - avm_fritzv2_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+avm_fritzv2_interrupt(int intno, void *dev_id) -+#endif - { - fritzpnppci *fc = dev_id; - u_char val; -@@ -876,7 +884,7 @@ - static int init_card(fritzpnppci *fc) - { - int cnt = 3; -- u_int shared = SA_SHIRQ; -+ u_int shared = __IRQF_SHARED; - u_long flags; - u_char *id = "AVM Fritz!PCI"; - -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/core.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/core.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/core.c 2007-12-17 16:29:59.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/core.c 2008-02-05 23:06:46.000000000 +0100 -@@ -759,9 +759,11 @@ - int - mISDNInit(void) - { -- DECLARE_MUTEX_LOCKED(sem); -+ struct semaphore sem; - int err; - -+ init_MUTEX_LOCKED(&sem); -+ - printk(KERN_INFO "Modular ISDN Stack core version (%s) revision (%s)\n", mISDN_core_version, mISDN_core_revision); - core_debug = debug; - #ifdef MISDN_MEMDEBUG -@@ -801,7 +803,8 @@ - } - - void mISDN_cleanup(void) { -- DECLARE_MUTEX_LOCKED(sem); -+ struct semaphore sem; -+ init_MUTEX_LOCKED(&sem); - - free_mISDNdev(); - if (!list_empty(&mISDN_objectlist)) { -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/dsp_core.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/dsp_core.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/dsp_core.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/dsp_core.c 2008-02-05 23:10:32.000000000 +0100 -@@ -1005,8 +1005,10 @@ - /* fill mISDN object (dsp_obj) */ - memset(&dsp_obj, 0, sizeof(dsp_obj)); - #ifdef MODULE -+#ifdef SET_MODULE_OWNER - SET_MODULE_OWNER(&dsp_obj); - #endif -+#endif - spin_lock_init(&dsp_obj.lock); - dsp_obj.name = DSPName; - dsp_obj.BPROTO.protocol[3] = ISDN_PID_L3_B_DSP; -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_multi.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_multi.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_multi.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_multi.c 2008-02-05 23:06:46.000000000 +0100 -@@ -119,7 +119,7 @@ - #define bugtest \ - if (hc->irq) free_irq(hc->irq, hc); \ - hc->irq = 0; \ -- if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, SA_SHIRQ, "HFC-multi", hc)) { \ -+ if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, __IRQF_SHARED, "HFC-multi", hc)) { \ - printk(KERN_WARNING "mISDN: Could not get interrupt %d.\n", hc->pci_dev->irq); \ - hc->irq = hc->pci_dev->irq; } - #endif -@@ -1930,7 +1930,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - hfcmulti_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+hfcmulti_interrupt(int intno, void *dev_id) -+#endif - { - #ifdef IRQCOUNT_DEBUG - static int iq1=0,iq2=0,iq3=0,iq4=0,iq5=0,iq6=0,iqcnt=0; -@@ -3294,7 +3298,7 @@ - disable_hwirq(hc); - spin_unlock_irqrestore(&hc->lock, flags); - -- if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, SA_SHIRQ, "HFC-multi", hc)) { -+ if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, __IRQF_SHARED, "HFC-multi", hc)) { - printk(KERN_WARNING "mISDN: Could not get interrupt %d.\n", hc->pci_dev->irq); - return(-EIO); - } -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_pci.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_pci.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_pci.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_pci.c 2008-02-05 23:06:46.000000000 +0100 -@@ -1034,7 +1034,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - hfcpci_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+hfcpci_interrupt(int intno, void *dev_id) -+#endif - { - hfc_pci_t *hc = dev_id; - u_char exval; -@@ -1693,7 +1697,7 @@ - spin_lock_irqsave(&hc->lock, flags); - disable_hwirq(hc); - spin_unlock_irqrestore(&hc->lock, flags); -- if (request_irq(hc->irq, hfcpci_interrupt, SA_SHIRQ, "HFC PCI", hc)) { -+ if (request_irq(hc->irq, hfcpci_interrupt, __IRQF_SHARED, "HFC PCI", hc)) { - printk(KERN_WARNING "mISDN: couldn't get interrupt %d\n", hc->irq); - return(-EIO); - } -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_mini.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_mini.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_mini.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_mini.c 2008-02-05 23:06:46.000000000 +0100 -@@ -983,7 +983,11 @@ - /* Interrupt handler */ - /*********************/ - static irqreturn_t -+#ifdef OLD_IRQ_CALL - hfcsmini_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+hfcsmini_interrupt(int intno, void *dev_id) -+#endif - { - __u8 fifo_irq, misc_irq; - hfcsmini_hw *hw = dev_id; -@@ -1587,7 +1591,7 @@ - printk(KERN_WARNING "%s %s: requesting IRQ %d\n", - hw->card_name, __FUNCTION__, hw->irq); - -- if (request_irq(hw->irq, hfcsmini_interrupt, SA_SHIRQ, "HFC-S mini", hw)) { -+ if (request_irq(hw->irq, hfcsmini_interrupt, __IRQF_SHARED, "HFC-S mini", hw)) { - printk(KERN_WARNING "%s %s: couldn't get interrupt %d\n", - hw->card_name, __FUNCTION__, hw->irq); - -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_usb.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_usb.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_usb.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_usb.c 2008-02-05 23:06:46.000000000 +0100 -@@ -1109,17 +1109,13 @@ - { - int k; - -- spin_lock_init(&urb->lock); -- urb->dev = dev; -- urb->pipe = pipe; -- urb->complete = complete; -+ usb_fill_bulk_urb(urb, dev, pipe, buf, packet_size * num_packets, complete, context); -+ - urb->number_of_packets = num_packets; -- urb->transfer_buffer_length = packet_size * num_packets; -- urb->context = context; -- urb->transfer_buffer = buf; - urb->transfer_flags = URB_ISO_ASAP; - urb->actual_length = 0; - urb->interval = interval; -+ - for (k = 0; k < num_packets; k++) { - urb->iso_frame_desc[k].offset = packet_size * k; - urb->iso_frame_desc[k].length = packet_size; -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/netjet.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/netjet.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/netjet.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/netjet.c 2008-02-05 23:06:46.000000000 +0100 -@@ -1463,7 +1463,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - nj_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+nj_interrupt(int intno, void *dev_id) -+#endif - { - netjet_t *card = dev_id; - u_int8_t val, s1val, s0val; -@@ -1544,7 +1548,7 @@ - nj_disable_hwirq(card); - spin_unlock_irqrestore(&card->lock, flags); - -- if (request_irq(card->irq, nj_interrupt, SA_SHIRQ, "NETjet", card)) { -+ if (request_irq(card->irq, nj_interrupt, __IRQF_SHARED, "NETjet", card)) { - printk(KERN_WARNING "mISDN: couldn't get interrupt %d\n", - card->irq); - return (-EIO); -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/sedl_fax.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/sedl_fax.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/sedl_fax.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/sedl_fax.c 2008-02-05 23:06:46.000000000 +0100 -@@ -338,7 +338,7 @@ - { - int cnt = 3; - u_long flags; -- u_int shared = SA_SHIRQ; -+ u_int shared = __IRQF_SHARED; - void *irq_func = speedfax_pci_interrupt; - - if (sf->subtyp == SEDL_SPEEDFAX_ISA) { -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/stack.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/stack.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/stack.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/stack.c 2008-02-05 23:06:46.000000000 +0100 -@@ -786,9 +786,11 @@ - static int - delete_stack(mISDNstack_t *st) - { -- DECLARE_MUTEX_LOCKED(sem); -+ struct semaphore sem; - u_long flags; - -+ init_MUTEX_LOCKED(&sem); -+ - if (core_debug & DEBUG_CORE_FUNC) - printk(KERN_DEBUG "%s: st(%p:%08x)\n", __FUNCTION__, st, st->id); - mISDN_unregister_sysfs_st(st); -@@ -1198,7 +1200,8 @@ - hhe->addr = st->id; - - if (wait) { -- DECLARE_MUTEX_LOCKED(sem); -+ struct semaphore sem; -+ init_MUTEX_LOCKED(&sem); - - hhe->data[0] = &sem; - _queue_message(st, skb); -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/w6692.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/w6692.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/w6692.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/w6692.c 2008-02-05 23:06:46.000000000 +0100 -@@ -855,7 +855,11 @@ - } - - static irqreturn_t -+#ifdef OLD_IRQ_CALL - w6692_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+w6692_interrupt(int intno, void *dev_id) -+#endif - { - w6692pci *card = dev_id; - u_char ista; -@@ -994,7 +998,7 @@ - spin_lock_irqsave(&card->lock, flags); - disable_hwirq(card); - spin_unlock_irqrestore(&card->lock, flags); -- if (request_irq(card->irq, w6692_interrupt, SA_SHIRQ, "w6692", card)) { -+ if (request_irq(card->irq, w6692_interrupt, __IRQF_SHARED, "w6692", card)) { - printk(KERN_WARNING "mISDN: couldn't get interrupt %d\n", card->irq); - return(-EIO); - } -diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/xhfc_su.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/xhfc_su.c ---- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/xhfc_su.c 2008-01-18 10:24:50.000000000 +0100 -+++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/xhfc_su.c 2008-02-05 23:06:46.000000000 +0100 -@@ -1103,7 +1103,11 @@ - /* Interrupt handler */ - /*********************/ - static irqreturn_t -+#ifdef OLD_IRQ_CALL - xhfc_interrupt(int intno, void *dev_id, struct pt_regs *regs) -+#else -+xhfc_interrupt(int intno, void *dev_id) -+#endif - { - xhfc_pi *pi = dev_id; - xhfc_t * xhfc = NULL; -@@ -2031,7 +2035,7 @@ - } - - /* init interrupt engine */ -- if (request_irq(pi->irq, xhfc_interrupt, SA_SHIRQ, "XHFC", pi)) { -+ if (request_irq(pi->irq, xhfc_interrupt, __IRQF_SHARED, "XHFC", pi)) { - printk(KERN_WARNING "%s %s: couldn't get interrupt %d\n", - pi->name, __FUNCTION__, pi->irq); - pi->irq = 0; -diff -Naur mISDN-1_1_7_2.orig/include/linux/isdn_compat.h mISDN-1_1_7_2/include/linux/isdn_compat.h ---- mISDN-1_1_7_2.orig/include/linux/isdn_compat.h 2008-01-18 10:25:33.000000000 +0100 -+++ mISDN-1_1_7_2/include/linux/isdn_compat.h 2008-02-05 23:06:46.000000000 +0100 -@@ -128,6 +128,17 @@ - #define MISDN_COMPAT_KMEMCACHE - #endif - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) -+#define OLD_IRQ_CALL -+#else -+#undef OLD_IRQ_CALL -+#endif -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) -+#define __IRQF_SHARED SA_SHIRQ -+#else -+#define __IRQF_SHARED IRQF_SHARED -+#endif - - - #endif /* __KERNEL__ */ |